2025年4月30日水曜日

出入り検知器をPCB化する(その25) インテグレーション2


 アップグレードしたメインの基板はサーボコントローラより前に発注して昨年末に入手済みである。 前バージョンとの大きな違いは配線パターンの向きを表裏逆にした点である。ICのピン間(2.54mm)を通す配線を表側に配置した。昔、レジストを塗布していない基板ではこうしたものだがレジストがハンダのブリッジを防いでくれるのでうっかり逆にしていた。プロの仕事を見るとICのピン間には2本の配線を通せるようであるが、私は私はそこまで追い込むつもりは無い。

 

 さらに次のバージョンを発注し入手した。

最新バージョンの変更点はインターフェイスの都合上電源の5V系と3.3V系を分けた事である。 というのは電源を3.3V系で統一出来たら良かったんだけど超音波測距やサーボモータを使う上で(3.3V系では物足りなく)5Vを使いたく、一方ICによっては3.3Vでしか使えないものがあるからである。そのためI2Cレベルコンバータを追加した。

部品点数がだんだん増えてきて、組み立てに約半日を要した。特にSMDのハンダ付けにはいつも苦労する。 上手く繋がっていない場合もあるのでハンダ付け後は必ずテスターで導通具合をチェックする必要がある。あと、レベルコンバータのICには1番ピンを表す刻印が見付からず逆に付けて、取り外すときパターンを壊してしまった(仕方なく1号機は空中配線で凌いだ)。


こういう場合は、ICを文字が読める方向に置いて文字の下側の左端が1番ピンのようだ。

(続く)

 

2025年4月21日月曜日

葬送のフリーレン

 ふとしたきっかけで「葬送のフリーレン」というYouTube動画(ダイジェスト版)を見て、嵌った。漫画やアニメに嵌っていたのは半世紀も前の事で、最近は全く興味を失っていて、「鬼滅の刃」が話題になって少し興味が復活した位だ。

一方、近年ストリートピアノが流行っていて、ハラミちゃんなんかも登録者が千人程度の頃からYouTubeでよく見ていた。そこで弾かれる曲に多くのアニソンがあるようだ。歴史秘話ヒストリアの主題歌を歌ったKalafinaもアニメの主題歌を歌っていて、さらに若手アニソン歌手も活躍していて気に入った曲もあるがアニメ自体にはあまり興味は無かった。

なぜ「葬送」なんだと思いながら見ていると、魔法とかエルフとか出てきて、お決まりの魔法アニメだと思ったが、これが中々面白い。ロード・オブ・ザ・リングスを思い出させる点もあるが登場人物も多く時間も前後して展開の早いダイジェストでは頭がついていけない。しかし話が壮大な事は分かる。多くの登場人物の全てに夫々の個性や背景が割り当てられていてじっくり見ないと理解が出来ないようだ。

壮大と言えば若い頃には「百億の昼と千億の夜」に嵌ったた。漫画雑誌に連載され、その壮大な世界観に圧倒された。連載終了後には原作の文庫本も買って、今もクローゼットのどこかに眠っているはずだ。そう、手塚治虫の「火の鳥」みたいなもんだ。

  来年1月から新シリーズが放映されるらしいので、見る事にしよう。

 

 

2025年4月16日水曜日

出入り検知器をPCB化する(その24)・超音波測距4

 前回まで超音波測距センサーを3個使う3チャネルの測距モジュールを作り、使い勝手を良くするためにトレーニング機能を追加した。さらにトレーニングを起動するためにプッシュボタンを追加した。その成果を踏まえ今回新たに超音波測距センサーを5個まで使える5チャネルのモジュールを作った。というのは超音波センサーの半値幅が30度なので3個でカバーできる範囲は90度にしかならたいため、これをもっと広範囲まで拡張したかったからである。超音波測距センサーを5個使うことで150度までカバーできる。3チャネルモジュールのPICには14ピンの18326を使ったが5チャンネルでは信号線(足の数)が足りないため20ピンの18346を使った。

ソフトは3チャネル用の物を少し改造した。トレーニング時にセンサーの付いていないチャネルを検知してOFFにするようにした。

US Ranging346-2.036.48
Copyright(C) 2025 myname.
*** Start Training.
+++ Trained Max Range(raw) -  A:167 B:500 C:41 D:500 E:119
*** US Sensing parameters:
  Ch-A: ON : 010 - 162
  Ch-B: OFF
  Ch-C: ON : 010 - 036
  Ch-D: OFF
  Ch-E: ON : 010 - 114
  MODE = Range Data with Zero Suppress.
_00,--,34,--,00
_00,--,31,--,00
_00,--,30,--,00
_00,--,29,--,00
_00,--,30,--,00
_00,--,29,--,00
_00,--,29,--,00
_00,--,30,--,00
_00,--,30,--,00
_00,--,33,--,00
_00,--,00,--,00
 

ここで1文字目の'_'は表示モード、またOFFのチャネルの測定結果は'--'で、範囲外のデータは'00'で表示している。このモードでは対象物がある時だけ表示する(反射が無くなると反射ゼロを1回だけ表示)。

表示モードにはこのほか、生データ表示モード、

#00b2:0000:0063:0000:001f
#00b2:0000:0063:0000:0021
#00b2:0000:0063:0000:0022
#00b2:0000:0064:0000:001f

連続データ(1秒に2回程度)表示モード、

>00,--,00,--,00
>00,--,00,--,00
>00,--,31,--,00
>00,--,31,--,00
>00,--,28,--,00

最も近い反射物のデータを表示するモード、

=C13
=C15
=E16
=E13
=E12

等が可能で、目的別に使い分けできる。

このほか記号'!'を送ると(改行不要)直ぐにIDを返すようにしている。

$$$346.2036+-+-+

これはホストからの生存確認を簡単にするためであり、最初の3文字で'!'に対するレスポンス'$$$'を、その後バージョン、超音波センサーの稼働状態を表している。

 今後、対象物の大まかな移動ベクトルを算出する事も考えている。

(続く)