PlatformIOで開発で、シリアルポートが複数ある場合はアップロードのポートが自動で割り振られてしまい、またシリアルモニターを毎回選択しなければならない、というのを避ける方法の覚書。ESP32以外のターゲットはわからないので限定です。
ESP32-WROOM-32はDevkitCで使う分にはオート書き込みができて快適ですが、単体や3rdパーティのブレークアウトボードではIO0をLOWにしたままENをチョン、とやらなければロードできないのが多くて面倒です。
そこで秋月のUSBシリアル変換を改造し、オート書き込みができるようにしました。
とりあえずの対象は同じく秋月のAE-ESP32-WROOM-32E-MINIです。
※注)AE-ESP32-WROOM-32E-MINI単体で書き込むときはボードの改造も必要。
メインPCは7年前BTOPCを購入。当時割とハイスペックなcore i7-4790、16GB、グラボRTX720(後にRTX1060)。2年前にSSD1GBを起動diskに換装。
今でもわりとサクサク動きますが、シミュレーションや複数開発環境開くと重い時があるので、心機一転CPU・MBごと交換することに。
自作CNC3号機の製作記録です。2017年構想、少しずつ部品を集め、完成は2019年です。その後少しづつ改良しています。
前回ちょっとだけ?問題のあったCNC本体のカバー(ケース)です。
「自作CNC3号機 ケースを作る。切子まみれの洗礼」より、カバーを開くとパラパラと切り子が頭に降ってくるのでした。
観葉植物アンスリウムは直射日光を嫌いますが、でも、暗すぎてもダメだと言う。
生育例では「明るい窓際」と書いてありますが、なかなか難しい。
我が家の窓際は込み入っていて、すこし奥まった場所のアンスリウムには、
たぶん適当な日照は無いようです。
他にも直射日光に弱いもの多数。
そこで・・・
日中の日差しを補助するランプを作ることにしました
秋月の太陽光LEDモジュールを二個使う
12V のアダプタでドライブし、Amazonで購入したスマホアームスタンドに格納
LM358Nでウインドコンパレータを組む。CDSで日中のみ点灯。
回路はブレッドボードに組んでそのまま搭載
メリハリを利かすため、日中のみ補助し、夕方は消灯するようにCDSでON/OFF
LEDはアルミt1.5に熱伝導テープで張り付け。温度も確認する
このパネルは発熱するので、一応温度確認。
上昇は25度以下に収まっている
~~~3/1更新~~~
1時間ほど放置すると、室温15℃で55℃になりました。上昇は40℃です。
夏場の35℃では75℃かぁ、壁際で40℃超すと80℃越えですな。夏は消すとしますか。
完成!
結構明るいでしょ。
部品をストックしているペール缶の保守作業です。
過去の再生作業のページ
数か月に一度のシリカゲル再生作業。今回は予備のシリカゲルもピンク化してたので、一気に再生することにしました。
夏季に行うと湿度が高いので難易度が上がります。乾燥のこの時期にやるのが一番効率良い!
除湿庫もたない場合の最低限の対処
うーん、シリカゲルだけでは湿度証明にはならないですけど、自主的に管理です。
電子レンジでできる
とはいえ、やってみないとコツはつかめません。
せっかく温めても粗熱とるときに吸湿してしまう・・・らしい
というわけで、相対湿度40%アンダーの今日は最適の日です。
センサー粒が全部ピンク
「インジケーター」とも呼ぶらしいが、塩化コバルト添加粒の色を「青」にしたい
600W3分を4回繰り返す。
今回は量が多いので2分→3分に増やしました
一回加熱するごとに高温になってるので、その都度粗熱をとります。
この時、下の粒が放出した蒸気が上の粒に吸湿するのを出来るだけ防止するようにファンであおりながらかき混ぜました。
へたこくと、またピンクに戻ってしまうのです。
繰り返しやったおかげで、なかなな良い色です。
粗熱取って格納
あまり時間をかけるとピンクに戻るので、三回目のレンチン後、うちわとファンで思いっきり仰いで冷ましたのちに、袋詰めして完了!
ちなみに、袋には目打ちで穴をあけておく。水切りゴミ袋と同じ原理です。
DCDCは結構使う
5VDCDCが在庫切れ
2010年以前はリニヤアウトレギュレータ(以降LG)が主流でした。24Vから数ボルトに降圧するのは発熱の関係もあり結構難しいですが、私の周りでは比較的高電圧からMCUを使いたい用途が結構多く、試作や実験にはいつも秋月電子通商のM78ARシリーズを買い置きして使っており重宝してます
たまたま5V品の在庫が切れて、Amazonで格安DCDCを見つけたので試しに購入
5個で980.-、固定出力分圧抵抗入り。3A取れるそうだ
素性を調べてみる
制御ICはMPSというメーカのMP2315らしいーー新規設計非推奨だ!
ICのマーキング「1AGCN」から、たどり着くことが出来た。
24V 3A 500KHz 軽負荷モード付のMP2315というICで新規設計非推奨です。
格安の原因はこれか?
簡単に性能チェック
1Aでチェック。効率を見てみる
3Aはまず使わない。5Vに固定して1A負荷で調べてみる。
1Aは結構余裕。発熱もあまりない。入力電圧に対する効率を見てみます。
効率は結構優秀です
リップルチェック
これはかなり多い。リプルというよりノイズです。参考で比較したM78AR05-0.5は1/6です。また同じく秋月販売のBP5293-50でも1/2でした。
ブレッドボードのバラックとはいえ同じ土俵で比較したので差は歴然です。軽負荷モードにすれば勝負できるかもしれませんが、この基板では切り貼りしないとできないので止めておきます。
ちなみに、105でデカップリングしてもリプルはあまり変化ありませんでした。
結論:素子を追加して使おうかなあ
格安購入で粗探してディスりまくるのも気が引けますので、結論
3.3Vではリプルが10%超えてしまうのでMCUの電源には直接使うのは怖い。
あまり電流取らない用途にはLCフィルタやLDO追加して使おうかな。
2022/01/31 追加
すっかり良くなりました
マウスを変えて半年以上。
いつの間にか症状は消え、すっかり良くなりました。思い出してみれば昨年10月ごろにはすでに痛みは無かったように思います。ただ、このころは組立作業に追われCAD作業の頻度が少なかったような記憶もあります
当然ですが外観が変わることはありません
中指ホイール操作には、まだ慣れていません
というか、気が付くと人差し指操作をしてしまい、あ、やばい、とその場は直すのですが、またもとに戻る、のを繰り返しています。
それでも快適なので、次もこのマウスにするつもりです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下、最初の記事です
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
昨年の暮れから、どうも親指の付け根が痛い。激痛ではないのですが、マウス操作や、箸で麺類をつかむ時に、強烈な疲労感みたいな感覚が「キューっ」と親指を襲うのだ。腱鞘炎か、あるいは噂のドケルバン症候群か?、医者に行くほどか判断付かないまま時が過ぎてました。
原因に思い当たることといえば、ここ数か月CAD系の操作が続き、キーボードよりマウス操作の頻度が格段に多いことです。どうも私は手のサイズに合うマウスがなかなか見つからず、またPCごとに大きさの違うマウスを使っているので、それも原因かもしれません。
そこで、エルゴノミクスマウスを検討してみました。今使っているelecomの「M-XG2DB」も実はその部類に分類されているものの、もう少しエッジをきかせた形状のものが欲しい! 続きを読む…
とりあえずコンパイラは通るんです。いままで大丈夫だったのが急にエラーがでたり、突然直ったり頭痛いです。
この現象、メジャーなMPLAB Xの不具合らしいです。
IO定義にエラーマークが付き補完が効かない
IO定義補完きかないのはきついです
通常はこのように補完が効きます。おかげでこれに頼り切りです。
ある日、突然こうなる。【Unable to resolve identifire】キターーーー
こうなる規則性がわかりませんが、日をあけてプロジェクトを開くとこうなってることも・・・
自力で個別のチップ定義ファイルをインクルードで脱出!
【xc.h】インクルードしてるのに
というわけで、個別のチップ定義ファイルを(今回の例はpic16F1459.h)を自力でインクルードして解決しました。
むむっ、気のせいか以前のXC8とフォルダ構成が違うような? \procなんてあったっけ?
セッティングでコンパイラパスを指定してみるのも手か?
IO定義ファイルのパスの問題かな?とうすうす感じていますが確認はしてません。いちいちコンパイラパスを入れるのも面倒だしXC8のバージョン変わったらと思うと・・・。ならまずは目につくソースで埋め込んだほうが楽、と判断しました。
どなたか成功した方いらっしゃいましたら、ぜひご教授お願い致します。
不思議なことに一度パスすると、インクルードコメントアウトしてもエラーはでない
深く追求しませんが、一度読込まれるとプロジェクト内に固定されるのかしら?
定義ファイルを毎回インクルードして私の環境では弊害はなさそう。日にちをあけて沼にハマるのもいやなので、ソースにIO定義ファイルを読込む習慣をつけることにします。
この内容は、間に合わせ対策の単なる覚書ですので、内容についての正確性・信憑性は全くないのでご容赦ください。
VSCODE+pymakrではフォルダ(下位フォルダ含む)内のソースは自動でアップロードできる反面、データファイル(例えば.CSVや.txtなど)は同じフォルダに入れていてもパッケージ化しないとターゲットにロードできないようです。
したがって、インタープリタでファイル読込部分でエラーが出ます。これはターゲットの中には該当するデータファイルがロードできてないので存在しないためです。
with open(’データファイルパス’, 'r') as f: #OSError: [Errno 2] ENOENTがでる
間に合わせの対策として、データファイルの拡張子を.pyにすることでとりあえずターゲットへロードさせることが可能です。データファイル内容が、ほかのソースコードと被らないことが条件ですが。