〜制御部スポンサーリンク工作2023.09.12私は兵庫県の里山地域に畑を借り、そこで仲間といっしょに家庭菜園を楽しんでいます。畑の近所にある「妙見の森」という施設ではケーブルカーが運行されているのですが、この「妙見の森」が近々営業終了するという発表がありました。このニュースを聞いた畑のメンバーから、「妙見の森ケーブル」の廃止を惜しんで、ケーブルカーのおもちゃをつくって畑で動かしたいという意見が挙がり、他のメンバーと一緒にケーブルカーのおもちゃを製作することになりました。今回は、この巻上機を操作するための「制御部」をつくろうと思います。本物のケーブルカーで言うところの「運転台」にあたる部分です。以下のような仕様でつくりたいと思います。リンクケーブルカーの操作には「マイクロビット」を使う(ボタンを押して運転・停止)。「再エネ」を体験するため、Ni-MH電池とソーラーパネルを利用し、発電した電力でケーブルカーを動かす。電池の残量を把握するため、マイクロビットで電池の電圧を測定する。ケーブルカー運転中の消費電力を確認するため、マイクロビットでモーターの消費電力(電圧と電流)を測定する。本物のケーブルカーにはATS(自動列車停止装置)が付いているため、それに似た機能として、磁気スイッチを使い、ケーブルカーが駅に着いたら自動停止するようにする。リンクマイクロビットの「15」「16」端子をモータードライバの「IN1」「IN2」につなぎ、これらの信号で「巻上機」のモーターを制御することにします。モーターを自動停止させるための磁気スイッチは、マイクロビットの「2」端子につなぎます。マイクロビットの電池接続用PHコネクタと、モータードライバの「+」「-」を、後に述べる「電源部」につなぎます。こちら)ので、電源部はその時と同じ構成にします。電源まわりの電圧値や電流値を測定するために、電源部とマイクロビットやモータードライバなどの間にいくつかの抵抗を挿入します。マイクロビットで電池の電圧(V1電圧)を測定したいのですが、電池の電圧はNi-MH電池(1本あたり1.2〜1.4V程度)が3本で3.6〜4.2V程度なのに対し、マイクロビットで測定できるのは最大でも3.3Vです。このためV1−グランド間に10kΩの抵抗2個を直列につなぎ、その中間ノード(S2)の電圧を測定することにします。測定した電圧を2倍にすると電池の電圧(V1電圧)になります。マイクロビットやモータードライバなどでの消費電流値を測定するために、電源ラインの途中に10Ωの抵抗を4本並列にしたもの(合成抵抗は2.5Ω)を挿入します。V2−グランド間にも先ほどと同じように10kΩの抵抗2個を直列につなぎ、その中間ノード(S1)の電圧を測定し、2倍にすることでV2電圧を求めます。「S1」「S2」を、それぞれマイクロビットの「1」「0」端子につなぎます。これらの回路はブレッドボードで組みました。写真のブレッドボードで、左側の電源ラインが「V1」、右側の電源ラインが「V2」になります。マイクロビットのプログラムは以下のとおりです。モータードライバはマイクロビットの「15」「16」端子につながっていますので、モーター停止中は「15」「16」端子ともに「H」にします。モーターを正転させるときは「15」を「L」に、反転させるときは「16」を「L」にします。ボタンAを押すとモーターが正転、ボタンBを押すと反転します。モーターが回転しているときにどちらかのボタンを押すと、モーターが停止します。モーターの動作状態を「動作状態」という変数で把握します。正転中は「動作状態」を「1」、反転中は「3」にします。正転後の停止中は「2」、反転後の停止中は「0」にします。この「動作状態」を管理することで、モーターが「正転」した後は「反転」しかできない、同様に「反転」した後は「正転」しかできないようにしています。これにより、ケーブルカーが駅に着いた後、誤って更に進行してしまうことがないようにしています。「ずっと」ブロックで、磁気スイッチがつながっている「2」端子の論理値を常時観測します。「2」端子が「H」から「L」に変化した時、モーターを停止させます。「データ送信」という関数では、「0」「1」端子の電圧値より計算した「電池の電圧値」「モータードライバなどの消費電流値」を、無線で他のマイクロビットに送信します。送信時には一緒にモーターの「動作状態」も送信します。5秒ごと、もしくは「動作状態」が変わった時にデータ送信します。送信されたデータを受信するためのマイクロビットを別途準備します。BasicのLCD画面に各情報を表示させるようにしました。これで、ケーブルカーの運行状況や電力の状況が、離れた場所から把握できるようになります。ついでに、M5Stackのボタンを押すと、受信した各情報をSDカードにCSV形式で保存できるようにしておきました。これで「制御部」が完成したので、「巻上機」のモーターをつないで動作確認してみました。マイクロビットのボタンを押すことで、仕様のとおりに動作することを確認しました。動作中に磁気スイッチに磁石を近づけると、モーターは停止しました。表示され、それらの情報が随時更新されることも確認できました。ケーブルカーを動かすだけのおもちゃですが、なかなか凝ったものになってきました。ちなみに、ケーブルカーの車体とレールは、別のメンバーの方がつくってくれています。本物と同じように「溝車輪」と「平車輪」を使用し、2台のケーブルカーがすれ違う仕組みを再現しようとしています。レールにはひのきの角棒を使い、熱湯に浸けて柔らかくしてから型にはめて固定することで、所望のカーブになるよう曲げているようです。こちらも最終的にどのようになるのか楽しみです。電子工作につかっている小型ソーラーパネルについて、開放電圧を測定したい機会がありました。ソーラーパネルの「開放電圧」とは、外部の回路との接続がない状態の電圧のことで、ソーラーパネルが発電できる電圧の最大値になります。10Wのソーラーパネルと9Ahの鉛バッテリーを使ったシステムです。Fish」を飛ばしてみる知り合いの方から、以下のおもちゃをお借りしました。Fish」という名前です。魚型のバルーンにヘリウムガスを入れてプカプカ浮かせ、それをリモートコントロールで動かすというものです。