2018年10月2日火曜日

18.10.2 振子はかり+6


先日の振子はかりには他に6つの機能がある。
 1:時計        普通の時計、時報付き
 2:アラーム      目覚ましのアラーム、5分ごとに6回アラームが鳴る
 3:電池選別器     小電流と大電流両方で測定して残量を選別
 4:キッチンタイマー  99分まで設定できる、設定は10秒毎または1分毎
 5:ストップウオッチ  1秒ごとにカウント
 6:メトロノーム    テンポと拍子(3,4)を設定、訓練モードつき
これまでに作ったものをあれこれ詰め込んでみた。ほとんどのものはスマホなどで使えるが、電池選別器は実用的でお勧め。


数字は4ケタのLEDで表示する。小数点と時計表示用のコロンが付いている。
操作は手前に並んだ3ヶのスイッチで行う。一番右のスイッチを押す回数で機能を選ぶ。真ん中のスイッチは2回押しで機能のサブモードの変更、1回押しでスタート・ストップを行い、一番左のスイッチは値の変更を行う。1回押しで+1、押し続けると連続して+1となる。一番右のスイッチを押しながら左のスイッチを押すと値がマイナスされる。
仲間に協力してもらい、プリント基板を作成した。部品点数がかなり多いが、作業がかなり楽になった。


電池選別機は単1から単5までの1.5Vの電池専用。小電流(1mA)と大電流(100mA)で電圧を測定し、残量を4段階で表示する。大電流での測定は小電流で一定以上の電圧がある場合のみ行う。それぞれの電圧を表示し、次に選別値をバーの位置:上・中・下・なし、の4段階で表示する。
 1:モーターを回せる
 2:ラジオやリモコンで使える
 3:天気予報で使い切って捨てる
 4:即捨てる
使いかけの電池がけっこうたまっているが、これで選別しながら使っている。

2018年9月30日日曜日

18.9.30 振子はかり


ものづくり教室の教材用に、振子の周期を測定してで重さを計算する秤を作ってみた。普通の振子は錘の重さが変わっても周期は変わらないが、振子の皿に錘を乗せると、錘の重さで周期が変わるのがミソ。


振子は木の枠で作ってあり、振子を吊るす棒の真ん中あたりにビスとナットの錘がついている。これで、振子の重心がビスのあるあたりになる。振子の皿に錘を乗せると、振子全体の重心が錘の重さの分下に移動するため、振子の周期が長くなる、という仕掛け。


振子が軽く振れるよう、軸にはボールベアリングを着けた。外径4mmのアルミパイプを軸にして、内径4mmのボールベアリングを3Dプリンタで作ったケースに入れて、振子を支える柱に取り付ける。
以前作ったレゴの軸を使った振子に比べると、振子の揺れが減衰する時間がかなり長くなった。


振子の周期を測定するため、振子の皿の下にシャッターを取り付ける。床に取り付けた赤外線LEDとフォトトランジスタで作ったセンサーでシャッターが通過する間隔を測定する。
周期と錘の重さの関係は簡単な式では表せないので、重さのわかった錘を乗せた時の周期を何種類か測定して記憶しておき、測定する錘を乗せた時の周期で補間の計算をして重さを求める。0gから90gくらいまで7つの重さの周期を記憶してある。直線補間では誤差が大きいようなので、2次式で補間している。


錘をのせて振子をゆすると、4ケタのLEDに重さが表示される。1周期ごとに重さが表示されるが、時間がたつと振幅が小さくなり、周期が短くなるため、重さが小さくなっていく。振子の周期は振幅に依存しない、というのは振幅が小さい時だけ、というのが良くわかる。振幅が一定の値になった時の周期で最終的な重さを計算する。
重い錘をのせると、振幅が小さくなるのに時間がかかる。重いものを測るときは振り始めの振幅を小さくしたほうが良い。
直方体の錘の重さを測るとき、平らに置いた時と、立てて置いた時では重心の位置が変わるため、重さが変わる。
精度もあまり良くないし、測定中に重さが減っていったり、錘の置き方で重さが変わったりするあやしい秤であるが、振子の特性を数字で見れるのが面白いと思っている。


2018年9月28日金曜日

18.9.28 三輪車でコース走行


前回と同じ三輪車で格子状の道に設定されたコースを歩くようにした。コースは車を動かしながら設定できる。


車輪はレゴのプーリーにゴムタイヤをつけたもの。タミヤのミニモーターの軸で直接ゴムタイヤの外周を駆動する。センサーはいつもの反射型フォトインタラプタを2ヶ使う。後輪はボールキャスター。



縦4本、横3本の格子状の道で、左下から右向きにスタートし、決められたコースを歩いてスタート地点に戻ってくる。その後は同じコースを歩き続ける。
コースの設定は、1マス毎に次の方向をリモコンで指示しながら車を進めていく。適当なところで終わりにすると、出発点まで戻る道は自分で考えてコースを完成させる。


コースを設定するときは、ボリュームで速度、係数P・D、次の方向、を指示する。

2018年9月27日木曜日

18.9.27 高速ライントレース


タミヤのミニモーターで動かす三輪車でライントレース、これまでで一番速く走れるようになった。PID制御の係数の効果がわかりやすいよう、専用のリモコンで操作する。


車輪はレゴのプーリーにゴムタイヤをつけたもの。タミヤのミニモーターの軸で直接ゴムタイヤの外周を駆動する。センサーはいつもの反射型フォトインタラプタを2ヶ使う。
ライントレースの制御はPID制御で行うが、I(積分)の項はすぐに発散してしまうので、P(比例)とD(微分)だけで制御している。P項だけだとジグザグに動きながらトレースしていき、スピードを上げるとラインからはずれてしまうが、D項の係数を大きくしていくと、スムーズにトレースするようになり、高速でも安定してトレースできる。


リモコンにはスイッチ2ヶ、ボリューム3ヶ、ディップスイッチ1ヶの操作子がある。ボリューム3ヶで、速度、係数P、係数Dを変化させる。スイッチはスタートとストップ。ディップスイッチは動作モードの選択に使う。

2018年3月9日金曜日

18.3.9 天気予報つき温度・湿度・気圧計


ものづくり教室の教材用に天気予報ができるものを試作してみた。天気は気圧の変化で予測する。センサーはBME280という温度・湿度・気圧のセンサーを使うことにした。表示は電池が長持ちすることを最優先することにして、先日作ったLEDの点滅方式でやることにする。せっかくなので、天気予報のほかに温度・湿度・気圧も表示できるようにした。


表示装置はLED12ヶを時計のように並べたものとした。点滅で天気・温度・湿度・気圧の4つの値を表示する。4拍(1小節)で1つの値を表示し、同じ値を3小節表示し、次の1小節は光らずに休む。これを4回繰り返して4つの値を表示する。


天気は1拍光って3拍休み、湿度は2拍光って2拍休み、温度は3拍光って1拍休み、気圧は4拍全部光る。
表示の順序は、天気->湿度->温度->気圧、とする。点滅を表にすると以下のようになる。


天気は、快晴・晴れ・曇り・雨、の4つのアイコンで表示し、他の値は11ヶのLEDで表示する。湿度は0-100%を10%きざみ、温度は0-30℃を3℃きざみ、気圧は990-1030hPaを4hPaきざみで目盛りを付けてある。
複数回光るものは、隣り合った2つのLEDが点滅して値を表示する。12時と1時の位置のLEDが点滅したときの値は以下のようになる。


電源は単3電池1ヶを3.3Vに昇圧して使う。コンデンサにゆっくり充電した電力で瞬間的にLEDを光らせるようにしてあるので、電源から流れる電流は非常に少ない。これで、電池をきれいに使い切ることができる。CPUは20pinのPIC18F14K22。消費電力を抑えるため、WatchDogTimerで256ms毎にスリープから起こして処理を行い、すぐにまたスリープするようにした。これで約1秒間に4回LEDを点滅させる。無駄な電力を使わないよう、CDSで周囲の明るさを検出し、暗くなったらLEDの点滅をやめるようにしてある。消費電力は非常に少ないので、使いかけの電池でも十分動くし、電池スペーサーを使えば単4電池も使える。


2018年3月8日木曜日

18.3.8 スピーカーボックスのステレオ化とアンプの低音強化


最初の試作で作ったボックスと最終版の試作のボックスを並べてステレオで聴けるようにした。アンプはPAM8012というDクラスアンプのモジュールを使うが、仲間がアンプの入力のフィルタが200Hzあたりから落ちていることを発見。小さなチップ部品にコンデンサを並列にはんだ付けして低音を強化した。


最初の試作は取り外せる前板以外はネジなしでボンドだけで組み立てたが、作業が難航することが判明し、最終版はネジを24本使うことにした。低音の強化に備え、左右の板の中央を棒で接続して振動を抑えるようにした。


アンプの入力のコンデンサは小さなチップ部品なので、追加するコンデンサの片足はアンプモジュールの入力ピンにはんだ付けし、反対側の足をチップコンデンサにはんだ付けした細い線に空中配線ではんだ付けした。細い線で空中配線しているので、となりとショートしたり切れたりする恐れがあり、そっと扱うようにしている。アンプの電源は電池だと面倒なので、USBから5Vを取り出すようにした。
材料費はスピーカーとボックスが1セットあたり1,000円くらいで、アンプはステレオで1,000円くらい、合計で3,000円程度であった
音量を大きめにすると低音もしっかり聴こえてくる。本格的なシステムとは重低音や高音など比較にならないが、BGM用としては音質・音量とも全く問題がなく、iPodやパソコンなどで好きなJazzを鳴らしている。

2018年1月13日土曜日

18.1.13 温度計つき電池放電器


ものづくり教室用の試作などで、使いかけの電池がたまってきた。以前作った電圧測定器で測って0.9V以下のものは捨てることにしていたが、きれいに使い切って捨てるための電池放電器を作ってみた。
写真の左側が電圧測定器で右側が電池放電器。放電器は3色のLEDで温度を表示する。


1V以下の電池の電圧をステップアップレギュレータで3.3Vに昇圧し、LEDを光らせることにした。7SegmentLEDの温度計の電源にしてみたが、1Vを3.3Vに昇圧すると電流はごくわずかしか流せずLEDが暗くて使い物にならない。コンデンサに電気をためて瞬間的にピカッと光らせるようにしてみたところ、光るのが見えるようになった。赤のLEDがピカピカ光るようにしてみたが、何の役にも立たない。あれこれ考え、3色のLEDで温度を表示することにした。実験してみたところ、3.3Vでは明るさがイマイチなので電圧を5Vに変更した。CPUは8pinのPIC12F1822で、消費電力を抑えるために通常はスリープしていて、WatchDogTimerで500ms毎に起こして処理をするようにした。


温度は0-29℃を2ケタで表示する。電流の関係で同時には1色しか点灯できないので、赤・緑・青の色の順序で温度を表示することにした。
120BPMくらいのテンポで4拍のうちの1,2,3拍の色で数字を表す、4拍目は休み。温度の10の位は1拍めで表示し、1の位は2,3拍めで表示する。10の位は、青・緑・赤が0,1,2とする。1の位は、青・緑・赤を1-4-7,2-5-8,3-6-9のスジに対応させて表示する。例えば24℃は赤・緑・青、8℃は青・赤・緑となる。
なるべく見やすくなるように、透明なストローをサンドペーパーでスリガラス状にした煙突みたいなものをLEDにかぶせてみた。