2024年4月13日土曜日

M5Stack Core2 + バッテリーボトム

Core2のタッチパネルを使いたい+BasicのGPIO使いたい、ということでバッテリーボトムを組み合わせてみました。

Core2の底の4本のネジを外し(M2トルクス)、垂直に引っ張ると底のカバーが外れます。

バッテリーボトムは2本のネジ穴しかないし、外したネジは届きません……ボトムの厚さが違うので仕方ないですが、ネジの長さの許容範囲が狭いので、さてどうやって調達したものか……。

M5Stackは内部で使っているGPIOも外に出す方針。Core2はBasicより更に内部仕様が多いので、外で使える信号が少ないんですよね。

いつもお世話になっておりますlang-ship様の「M5Stack Core2のGPIO調査」によれば、13,14,19,25,26,27、あとGroveのところに32,33が出ている、とのこと。

ただ、M-BUSの配置が変わっているので(M5Stackさんのこういう行き当たりばったりな体質……10年使えるバスを考えていて製品が出ないより良いのでしょうね)、読み替えないといけません。

まぁ、ESP32自体、使えるGPIOが少ないのでしょうがないですね……。

で、pimodeをoutputにしてdigitalWriteでHIGH/LOWするという極めて原始的なプログラムで検証した結果、以下のGPIOが使えそうです。左がプログラム上のGPIO番号、右がBattery Bottomでの名称です。

13 -> 16
25 -> 25
26 -> 26
14 -> 17

おお、全部(後ろから見て)左側に並んでいる!ありがたや!!

なお、この他、入力のみ使えるピンとGroveで使えるピンがありますが、検証していません。また後日←(うん、いけたら行く

入力のみ使えるピンは35,36ですが、これはBasicでもCore2でもM-BUS上での配置が同じなので、そのまま使えるんじゃないかと思います。

筐体設計……

設計なんてだいそれたことじゃなくて……穴開け指示図面を書いて、業者さんに齟齬なく依頼できれば良いんですが……

今回、Fusion 360で、

各面(天板・底板・前面・後面)にスケッチを作って穴位置を指定する

ってやったんですが、終わってから気づいたんですよね。

1. スケッチで底面の長方形を描く
2. 直方体にする
3. 穴開けの必要な面をスケッチにして、穴加工を描く

この方が楽だったな、って……。

出来上がったのが上の画像です。板金屋さんへの説明のために底板だけ1.5mm厚さのボディを作ってあります。あと天板の加工は省略です。

こんな感じの「3Dツールで書いたけどやっぱりポンチ絵」な雑な図面で、きっっちりきれいなケースを作ってくださる星製作所こと「板金ケース.com」さん、ありがとうございます!

今回は時間がなくて鉄+塗装なんですが、アルミ+アルマイトとか鉄・ニッケルメッキがきれいなんですよね。



2024年4月11日木曜日

ポゴピンの台、作りました。



作った基板の検査用に基板裏から接続して計測などする必要が生じたのでDIP 8の形に生えたポゴピン探したんですが……ないですね。

なので作りました。

最初ユニバーサル基板重ねて動かないように固定してからはんだ付けすれば楽勝じゃね?って思ったんですが、ユニバーサル基板の穴は0.8mmぐらい。今回使う「凹」型のポゴピンは太さ1.3mmなので通らない。

基板を起こそうかとも思ったんですが、時間もないのでとりあえず絶縁した台を作ってワイヤ引っ張り出しました。

1. 3Dプリント→ピンバイスで穴加工

FDMで穴のサイズをいくつか変えて出力したんですが……ダメダメでした。最近うちのSnapmakerさんご機嫌ななめで、ノズルを交換しないと駄目な感じです。

SLAプリントなら精度出るんですが、いま手荒れがひどくて使用禁止。

ということで、ピンバイスで1.5mmに穴を広げました。PLA硬いけど、なんとかOK。

2. はんだ付け

ポゴピンを台に通してから導線をはんだ付けします。ゆっくりはんだ付けしていると台が溶けるのでご注意を。はんだ付け不要のタイプなどもありますが、今回、在庫の都合ではんだ付けしました。

3. ポゴピン通していい感じに仮接着

この項目の作業はSLAで精度良く出力したら不要かも。

作業用のジグを出力しました。ポゴピンが同じ長さになるように、ポゴピンを通してひっくり返した「台」が作業台と水平になるように保つジグです。

ポゴピンを穴に通してから、台をひっくり返した状態で上記ジグにはめ込んで、ポゴピンがみんな平行かつ垂直になっているのを確認してから、ホットグルーを垂らして動かない程度に固定します。

ホットグルーが温かいうちに水平垂直を確認しまくります……冷える時の「ヒケ」で動いたりしますので。

4. ホットグルー増量→再融解

ホットグルーを積み増しします。1回で乗せるとヒケやらで台無しになりますので、2-3回に分けて盛ると良いかと思います。

分けて盛ると、ホットグルーが汚くなりがちですが、そのときには手芸用のヒートガンでゆっくり温めます。するとグルーがいい感じに溶けて、滑らかかつ均一になります。糸引きなんかもキレイに溶けて一体化するのでグルーガン下手な方(遺憾ながら私だ)はぜひ。


いやー……大変でした。買うと高いわけですね。

でもDIPの「肩」に針立てるやつなんかを作っておくと楽だろうなぁ。あとポゴピン通すユニバーサル基板こんど作ろう。

2024年1月21日日曜日

E220-900T22 + EByte Lora E220 Library + ESP32

世間様のブログなどを見ているとみなさん簡単に動かしているんですが……原因確定するまで半日潰しました。とほほ……

ライブラリ、各種使いましたが、最終的にうまくいったのは表記の「EByte E220 Library」です。これのソースに書いてある配線でOKです。AUX, M0, M1についてはどのGPIOでもOKですし、Serial2についてもアサインを変えれば動きます。ESP32だとSoftwareSerialは面倒くさいので使いません。Hardware Serialで良いのです(強意)。

// 何があった>くらはし

私の場合はE220 : ESP32の配線を

M0 : 26
M1 : 27
RX : 17
TX : 16
AUX : 25
Vcc : 3V3
GND : GND

としました。これにあわせてピン設定を書き換えます。

さて、EByte E220 Libraryはよくできています。

ただ、そのままでは通信できないんじゃないかと思います。各通信モードに合わせた設定が必要ですが、各通信サンプルには設定を変更する機能が組み込まれていません。

02_setConfigurationという設定書込プログラムがありますが、そこに各送信モードでの初期設定が用意されコメントアウトされています。使いたい通信モードの設定のところのコメントを外して実行してE220に対して書き込み、それから使いたい通信モードのプログラムを実行します。

たとえば、04_sendFixedTransmissionというプログラムを実行する場合には、あらかじめ02_setConfigurationの"FIXED SENDER"とあるブロックを有効にして設定を書き込んでおくか、これに関連する処理を04_sendFixedTransmissionに移植して実行する必要があります。

あと、もう一つの落とし穴としては、通常の通信プログラムだと送信アドレスと受信アドレスを設定しておき、相手側のアドレスを指定すると送れるのですが……LoRaの特性なのかライブラリの特性なのか、送信側のアドレスと、受信側のアドレスが一致していないとデータ送信ができません。

一種のペアとして動く仕様なんですかね……?

まぁ……わかってしまえば簡単です。LoRaで長距離通信を楽しみましょう!

余談ですが、各種ブログを見ると、見通し距離なら数十Km届くみたいですが、影になるとガタ落ちみたいですね……最近の無線は2.4Ghzなどが当たり前なので、それに比べればLoRaの400とか900MHzは「回り込める」と言われるんですが……私ら古いアマチュア無線屋からみると900MHzなんて光と変わらないワイ、という印象です ^ ^

2023年12月30日土曜日

2023年買ってよかったもの

安定化電源TEXIO PPX20-5

直流電源装置はいままでRIGOL DP831Aを使っていました。まぁ直流電源装置としてはごく普通の機種だと思います。

ただ、UPSなどを開発していると電池の評価が不可欠で、そのためには記録機能が重要です。残念ながらDP831Aの記録機能は余り充実しているとはいえません。

そこでテクシオに相談してみたところ、提案されたのがPPXです。

USBメモリに明示的に記録、uA単位まで計測、1秒以下でのサンプリングも可能、熱電対(フロントパネルに差込口がある)と同時に記録可能、など電池の評価にうってつけです。



スジボリ堂さんの「【量産型】BMCタガネ 幅0.50mm

プラモデルの仕上げにつかうタガネです。彫刻刀の平刀みたいなやつ、ただし幅が0.5mmです。

これまでプリント基板のパターンをカットする時にはデザインナイフを使っていたのですが、パターンに比べて刃が大きいので隣接するパターンやレジストに傷を付けないためにかなり神経を使いました。

でも、BMCタガネは弊社プリント基板の標準配線0.4mmとほぼ同じ幅! 

その威力はこちらの動画をご覧ください ^ ^ 動画では少し強く切りすぎですが、初めてなので許してください。なにせ初めてなのに一発で成功するほど使いやすいのです!



微弱電流レンジのある交流/直流クランプメーターMT-119

クランプメーターといえば交流でアンペア単位のもの、というイメージだったのですが、これは直流対応でしかもミリアンペアから計測できます。精度はそれなりですが、でも「動作中のものを止めたくないけど、電流どのぐらい流れているんだこれ」っていう状況でサクッと電流をしることができるのはとてもありがたいです。

また今年は交流電流案件も多かったのですが、そっちでも自分の作ったカレントトランスとの比較ができて、助かりました。


DMM インステック GDM-8342

今までずっとハンディ型のテスター / DMMで生きてきましたが、デモを見て据え置き型を買いました。抵抗値がパッと表示される! レンジをガチャガチャ切り替えなくて良い!! ってのは据え置き型DMMに共通の特徴ですね。


三和電気計器 テストリード TL-A7M2

テスターリードにかぶせるとブレッドボードにそのまま刺さる細いピンに変換できます。ブレッドボードの他にXHや5051や丸ピンのICソケットにそのまま刺すことができます。

……という製品はこれまでもありましたが、この製品の良いところは形状記憶合金製だということです。細いピンがひん曲がってもヒートガンで炙るとまっすぐ元に戻ります。



今年作ったもの(JLCPCB発注履歴) - 2023年

今年一年お世話になりました。2023年の実績です。JLCPCBへの発注履歴をベースにしているのでユニバーサル基板だけで終わったものや忘れているものもあります……。

見事に受託ばっかりです。おかげさまで売上はハードウェア中心に切り替えて以来、初めて大台に乗りましたけども……来年はもっと自社製品を増やしたいと思います。

って毎年言ってますが……。

電池駆動で待機電流減らしまくった回路、ESP32C3/S3、省エネマイコンMSP430、NiMHを使ったUPS、ニキシー管時計……そのへんでいろいろやりたいです。

来年もどうぞよろしくお願い致します!

■一覧■

カレントトランスからの入力をESP32で飛ばす基板(設計〜試作:B2B)

美容機器のプロトタイプを3Dプリント(設計〜試作:B2B)

ESP32で気温湿度ダストカウンターSPS30のデータを送信する基板実装(設計〜試作:B2B)

Spresenseと距離センサーを接続するレベル変換基板(設計〜実装:クラウドワークス)

STM32実装手配案件(手配:B2B)

廃業した会社のCNC装置の基板をリバースエンジニアリング(設計〜製作:ココナラ)

電池駆動でESP32から気温と湿度データを送信する省エネ基板(設計〜量産:B2B)

電池駆動でESP32から熱電対から取得したデータを送信する省エネ基板(同上)

Spresense+LTE+カメラで無人撮影局用MSP430ベースのUPS基板(設計〜製作:クラウドワークス)

ESP32でのモーター/ヒーター制御・監視基板(設計〜製作〜量産支援:ココナラ)

CH552でのチューインガムサイズのLi-ion電池付USB充電型LEDライト基板(設計〜試作:クラウドワークス)

Raspberry Pi用信号レベル変換アダプタ基板(設計〜試作:B2B)

ゴルフ練習機用Ni-MH対応UPS基板(設計〜製作〜量産:クラウドワークス)

Ni-MH電池用環境温度・電池表面温度計測基板(設計〜製作〜量産:クラウドワークス)

FPC変換基板(設計〜試作〜量産:B2B)

幼稚園バス閉じ込め防止用デバイスおよび電池監視デバイス(設計〜試作:ココナラ)

Xbee変換基板(設計〜試作〜量産支援:B2B)

2023年12月14日木曜日

コテ先J

これがベスト、って話ではないですが、コテ先、ここ数年はJ型を使ってます。

// 「これがベスト」は宗教論争に発展しますので ^ ^

コテ先を交換するのは、極悪非道な「サーマルビアなしの両面ベタGNDに端子台をつける」ような時に高熱量5Dを使うぐらい。

表面実装もピンも端子台もあるような基板をさくさく作っていくときにコテ先変えなくて良いので、気に入ってます。

点でも線でも使えるし、曲がった太いところは熱量多いので大きなベタGNDでも楽。曲がった内側にはハンダを溜めやすいのでリード線のハンダメッキやUEW線の被覆向きがさくさく進む。

さらに回せば「J」ではなく「∩」の向きでも使えるので基板の向きを変えなくても端子の反対側からはんだ付けできる。

「線」として使うときも微妙にRがついているから、引きハンダなどの時に表面張力の海から程よく距離を取れるのでハンダの乗りをコントロールしやすい。

点として使うことは実はあまりなくて……温度が下がりやすいし、表面積が大きいせいか乾きやすい(≒酸化しやすい)気がします。

余分なハンダをすくい取るような作業は苦手ですね……あれはくぼみのあるBC/C型に勝てません。まぁ余分にハンダ載せなければいいし、吸い取り線使えばいいのですが。

まぁ、アレが良いコレが良いはあんまり気にしないで一通り使ってみるのがええと思います。

どうせ消耗品なんだしね。

こて先に限りませんが……道具というものは「これがベスト!」って思っていても結構気が変わるので「今はこれが好き」って話だと思ってます。私もずっとBC、表面実装入門当時はI型、そのあと2.4Dをしばらく使ってJを使ってます。次はなんでしょね。

というわけで、このコテ先が使いたいのでFX-972欲しいと思う今日このごろです。愛用しているFX-100には溝つきのコテ先がないし、なんかコテ先がどんどん製造中止になっていくんですよね……ハッコーさん、IHからは手を引きたいのかしら。

引っ越し2回でマイナンバーカード再発行する場合の手続き

引っ越しx2回でマイナンバーカードがいっぱいになったときの対応。大まかなことはWebにも書いてあるけど、Webでわからなかったことなどをまとめておきます。

  • 2回の引っ越しで記入欄がいっぱいになってしまうので、再交付が必要。
    • 通常の再交付は手数料取られるが、引っ越して2ヶ月以内なら無償。
  • 市役所に行って、住所変更にともなう再交付を申し込む。
    • 当然ですが、マイナンバーカードを持参すること。
    • 住所変更手続きのときに一緒に申し込むこともできるけど、通常の引っ越し手続きの他に窓口で20分ぐらいかかるので注意(私は用事があったので後日もう一度市役所に行って手続きしました)。
    • なお再交付を申し込んだのに受け取らずにいると強制的にマイナンバーカードが無効になるので注意
  • 後日予約手続きの書類が郵送されてくる(1-2ヶ月後)
    • それで再交付手続きを予約する。
    • あとはその日に行って発行のときと同じような手続き。小一時間かかるので注意。
革新系市長で市政がボロボロになることで有名な武蔵野市ですが、姉妹都市産の長野サーモンの丼が美味しいので、食堂でご飯食べながら発行を待ちましょうw

2023年12月12日火曜日

Spresenseのデジタル入出力の落とし穴


SpresenseのLTE拡張ボードなどのデジタル端子はよくあるMOSFETのレベル変換回路で入出力に対応しています。

まぁ簡単便利でよく使う回路ではあるんですが、反対側がちょっと浮いたりするとHIGHのまま固定されちゃったりして、あんまり安易に使うのはどうかなーと思う回路だったり。

「でも双方向なんだから仕方ないじゃん!」って言われるとまぁその通りなんですが……でもDS18B20とかつなげないですしね。

で、今回もDFRobot社の超音波距離センサーSEN0208では動いていたのにSEN0313では動かないという症状が出まして……オシロで見てもそれなりの波形だし、M5Stack Atom Liteにつなぐとちゃんと動作します。

ということで、手元にあるシュミットトリガーがインバーターしかなかったので(74AHC1G04)、2個使って反対の反対にしてつないだら動きました。

困ったもんだ……。

2023年12月5日火曜日

ロックの強さを調べる


「破損防止のために一定以上の力がかかったら外れるようになっているナイロン部品のかみ合わせが軽く外れすぎる。大量にある部品を検品するための治具を」

というご依頼をいただいて、作りました。

  • スイッチサイエンスの引っ張り用金具のついたロードセル
  • HX711基板
  • M5 Atom Matrix
という組み合わせ。写真は動作確認用のバラック。まぁ雑だこと。雑だけど、今流行りの「雑に作る」とは違います。

Atom MatrixとHX711基板の接続は4本だけ。
  • 3.3V - Vcc
  • GND - GND
  • 21 - SCK
  • 25 - DOUT
プログラムは
  1. HX711から読み込んだ値をグラムに変換する
  2. ふらつきを吸収するために移動平均取る
  3. LEDを赤で点滅させながらゼロ近くで安定するのを待つ
  4. 安定したら青で点滅
  5. 荷重が500gを超えたらLEDを青常時点灯に
  6. 最高値を更新していく。更新されないまま1秒が過ぎたら停止して、良品、不良品、中間品をLEDの色で表示
  7. 上記3にも戻る。
という感じです。

起動して青点滅になったらカギに商品をひっかけて力を加えていき、かみ合わせが外れてゼロに戻ると1秒後に最高値を元にしてLEDで結果を表示します。

マイコンって便利ですわね ^ ^