2013年12月15日日曜日

13.12.15 往復して残像表示する車


 以前振り子で残像表示したが、文字が円周上に並ぶのが気に入らないという話があり、文字が直線上に並ぶようにしてみた。





車を往復運動させる。駆動は久しぶりにレゴのモーターを使うことにした。駆動力を少しでも強くするため、電池は単4を3本使う。
以前は28ピンのPIC18F24K20を使ったが、念のために確認してみたところ、電源電圧は3.6Vまでしか使えないことが判明。古いタイプのPIC18F2431を使うことにした。
モータードライバーはLB1639とする。


一番小さいユニバーサル基板に組み込むことにする。電池3ヶとPICをそれぞれ別の基板に組み、重ねて使うことにした。


前後の車輪に1ヶずつモーターをつける。今回は直線運動だけなので、左右の車輪は同じ軸で駆動する。
これで往復運動をさせてみたが、タイヤのバランスなどが完全に左右対称でないためか、往復しているうちに方向が変わってしまうことが発覚。板の上に平行に棒を取り付け、レールを作った。車輪とレールの摩擦のために多少スピードが落ちるが、直線上を走ることを優先する。


往復運動のため反転するときは、無理やりモーターを逆回転させている。車の重心が高いと進行方向に転がってしまうことがあるので、できるだけ重心が低くなるよう、また前後の車軸の間隔を長くするようにした。


表示の位置を毎回同じにするため、レール上に磁石を置き、車の側部にリードスイッチをつけ、左から右に移動中にリードスイッチがオンになった時点で表示を開始する。折り返しの制御は、表示開始からの時間で行う。


これで文字は一直線に並んで表示できるようになった。ただし、車のスピードが遅いため、表示にかかる時間が長くなり、文字を読みづらくなったようなので、駆動用のギアの組み合わせをいくつか試してみた。結局40:16のギアで増速するのが一番具合が良かったのでこの設定にしてある。


2013年10月27日日曜日

13.10.27 バージョンアップが完了した2輪車


2輪車が走るコースに壁を取り付け、迷路を作る。超音波センサーで壁の状態を調べ、2輪車が迷路を探索し、出口にたどりつけるようになった。探索して出口までの経路がわかると、次は後戻りすることなく出口まで走り抜けることができる。







迷路探索のアルゴリズムは「左手法」とした。左側の壁に手をついて、ひたすら壁伝いに進む、という方法である。
1マス毎に左・前・右の超音波センサで壁のあり・なしを測定し、左側の壁に沿って進むように制御する。左の壁がなければ左折、前の壁がなければ直進、右の壁がなければ右折、3方向とも壁があれば後退、とする。
迷路の入り口は右下のマスで上向きでスタートとする。迷路のマスの数のサイズの配列を作り、ここに現在のマスから次のマスに移動する方向を書き込んでいく。今回の迷路はX方向4、Y方向3なので4*3=12バイトの配列となる。次のマスのアドレスが用意されたマスの外側になったら探索終了。最後のマスのアドレスが入口と違ったら出口に到着なので探索成功、入り口と同じなら出口が見つからず探索失敗となる。探索完了後の走行は、この配列を見て次のマスに進むことを繰り返す。


壁の取り付け方法をいくつか検討してみたが、壁をはずした時にコース上に邪魔ものがないことが大切とわかり、壁の下部にピンを立て、そのピンをコース上の穴に差し込む構造にした。穴はなるべく小さくしたいので、ピンはプリント基板用のピンヘッダのピンを使い、コースには直径1mmの穴を開けた。


1辺が10mmの木製の立方体を「常木」という会社から購入し、これに0.8mmの穴を開けてピンを差し込む。この立方体2つを壁の取り付け間隔に合わせて方向も揃うように治具に取り付け、厚さ3mmの発泡スチレンの板を上部に接着して壁を作る。



壁を置いて走らせてみたところ、前向きの超音波センサーが壁に当たることが発覚。センサーの取り付け位置の変更とライントレース用のフォトインタラプタの取り付け位置の変更でなんとか乗り切った。


二輪車が倒れないよう前後にタミヤの「ボールキャスター」をつけてあるが、この動きがガタガタするようになったので、取り外して分解しボールやローラーを拭いてみたところ、スムーズに動くようになった。使っているとゴミなどがケース内部に入り込み、引っかかって動きにくくなるらしい。


2013年10月6日日曜日

13.10.06 バージョンアップ途中の2輪車


2輪車に新しい基板を追加し、ライントレースのソフトを移植した。まだバージョンアップの途中であるが、自分の記録のためにブログに書いておくことにした。


新しい基板はセンサー処理用。8pinのPIC12F1822ではピン数もメモリ容量も不足なので、28pinのPIC18F24K20を使う。
センサーは前回は12F1822に接続していたライントレース用のフォトインタラプタ2ヶと、超音波の送信器・受信器3セット。前・右・左の3方向に向けて取り付けてある。超音波受信器の信号を増幅するアンプも3セット組み込む。他にはスイッチ・ボリューム・ブザー・LED・赤外線リモコン受信器などをつけた。



新しい基板は12F1822の基板の上に重ねて取り付ける。18F24K20がセンサーの信号を処理して車輪駆動のコマンドをシリアルインターフェイス経由で12F1822に送信し、12F1822がモーターを制御して車輪を駆動する。


新しい基板が追加になったが、ライントレースの機能を12F1822から18F24K20に移植しただけなので、機能的には以前と変わっていない。走るコースだけは、内側から外側に向け徐々に大きく回るように変更した。


これから、超音波センサーの制御のソフトを作成し、新しい機能を持たせてバージョンアップを完了させる予定である。

2013年9月1日日曜日

13.09.01 教材用永久ごま


 教材用に永久ごまを組み直した。ケースとカバーを付けて仕掛けが見えないようにしてある。


 円筒形のカバーで電磁石などを覆うため、電磁石とリードスイッチの位置を内側に移動した。これに伴い、ローターの直径も小さくした。
盃の位置決め用にうまいレゴのパーツが見つかった。ケースに穴を開け、レゴの軸を通して位置を決めてある。


 カバーは黒い画用紙を丸めてセロテープで止めた。直径は盃よりちょっと大きい。


 ケースはベニヤ板と角材を木ネジで止めて作った。裏側に基板を取り付けてある。


盃をはずし、軸受けを取り付けると、ブラシレスモーターになる。ローターが小さくなったためか、回転数が上がったようである。


どちらも良く回る



2013年8月26日月曜日

13.08.26 電池選別器


 先日エネループの放電器を作ったところ、山仲間の一人から反応があった。放電させるよりも古い電池の選別ができるといい、という話。
とりあえず、使えないので捨てるか充電する(10mA流して1.0V以下)、ラジオなどで使える(10mA流して1.0V以上)、モーターで使える(500mA流して1.0V以上)、の3つのランクに分けることにした。
選別結果はLEDの点滅回数で表示する。使えない場合は1回、ラジオで使えるものは2回、モーターで使えるものは3回点滅を繰り返す。

 
放電器と選別器を切り替えて使えるよう、スイッチを2つ取り付けた。右側のスイッチだけ押すと選別器として動作し、左側のスイッチを押しながら右側のスイッチを押すと放電器として動作する。
動作中にどちらのモードで動いているかLEDで表示するため、放電器の場合は0.5秒間オン、0.5秒間オフ、次の1秒間に電圧表示のブリンク、とした。選別器の場合は、1秒毎にブリンクする。


選別器の動作で、電池に流す電流を切り替える必要があるが、トランジスタは1つしか実装していない。10mA用の抵抗は常に流れるようにしておき、500mA用の抵抗をトランジスタでオン・オフすることにする。
放電器で使う場合、放電終了後も10mA用の抵抗がついていると放電が継続することになるので、この抵抗はピンにさすようにし、放電器として使う場合は取り外すことにした。


選別器の動作は、まず10mA流して電池の電圧を測定し、1.0V以下なら使えないと判断、そうでなければ500mA流して電圧を測定し、1.0V以下ならラジオで使える、1.0V以上ならモーターで使えると判断する。


先日作ったものの動作を調べてみたところ、放電用の抵抗(2Ω)がオンのときのトランジスタ(2SC3421)のコレクタの電圧が0.6Vなので、電池の電圧が1Vとすると抵抗にかかる電圧は0.4Vになり、電流は200mAとなることがわかった。なんとか電流を大きくできないか、手持ちの他のトランジスタ(2SC2236)に交換してみたところ、コレクタの電圧は0.16Vになった。これなら電池が1Vでも420mA流れるのでこちらを使うことにした。

2013年8月11日日曜日

13.08.11 バージョンアップした二輪車


二輪車の1回目のバージョンアップ。碁盤の目状のラインを決められたコースで走る。
ラインの間隔は10cm。


10cm毎に安定して方向転換できるよう、その場で回転して向きを変えるようにした。そのため、以前は前方に着いていたセンサーを車輪に近いところに移動した。曲がり方の違いは前回の動画と今回の動画を比較してみるとよくわかる。






走るコースは4種類を用意した。コースのデータは、スタート地点の座標に続き、方向転換する地点の座標を並べていき、最後に(-1,-1)の座標を入れる。たとえば#1のデータは、{{3,0}, {3,2}, {0,2}, {0,0}, {-1,-1}}となる。
二輪車をスタート地点におき、リモコンの再生ボタンを押すとコースを走り始め、停止ボタンを押すまで何度も同じコースを走る。



2回目のバージョンアップはハードの追加や制御の試行錯誤などが必要なのでちょっと時間がかかりそう。

2013年8月5日月曜日

13.08.05 ライントレースして走る二輪車


ライントレースして走る二輪車を作った。30cm * 45cmの板の上を走れるよう、長さ8cm、幅5cmくらいの小さいものにした。以前作った三輪車と比べるとかなり小さい。



 車輪はレゴのプーリーにゴムのタイヤをつけたもの。タミヤのミニモーターの軸で車輪の外周を直接駆動する。モーターの取り付け方法をあれこれ試してみたが、結局横と下をレゴのブロックで押さえ、輪ゴムで止めることにした。軸と車輪の接触の強さを調整するために、モーターと下のブロックの間に紙をはさんで調整している。


 車体の前後には、転ばないためと、左右に回転しやすくするために、タミヤのボールキャスターを取り付けた。


 センサーはRohm製の反射型フォトインタラプタを使う。赤外線LEDとフォトトランジスタが内蔵されており、駆動や負荷の抵抗は外付けなので、ラインの状態に合わせて調整しやすい。


 走路はベニヤ板に黒いビニールテープを貼って作った。ラインは直線4本で四角を作っている。トレースしながらラインに沿って走っていき、センサーが横のラインを横切ると、そこで左に回転し、次のラインに沿って走る。


これでライントレースの基本ができた。これから2段階のバージョンアップを計画している。

2013年7月23日火曜日

13.07.23 エネループ放電器


今回は実用品。エネループもたまには完全に放電させた方が良いという話を聞いたので、放電器を作った。
  
        動画はこちら


ものづくり教室で使ったリモコンの基板を使う。トランジスタは1つしかつかないし、頻繁に使うものでもないので、一度に放電する電池は1ヶだけとする。単三用と単四用の電池ホルダーを用意した。定電流回路は使わず、抵抗負荷でトランジスタでオンオフする。







 PICで電池の電圧を測定し、0.90Vになるまで放電を続ける。放電中はLEDがブリンクする。ブリンクの回数は電池の電圧で変わり、1.26V以上なら4回、1.12V以上なら3回、1.00V以上なら2回、0.90V以上なら1回。0.90V以下になると、放電を停止し、LEDも消える。

2013年7月18日木曜日

13.07.18 ブラシレスモーターと永久ごま


 水平回転するブラシレスモーターを作った。同じ仕組みで永久ごまもできた。


以前作った時は手抜きをしてソレノイドを買ってきて使ったが、ソレノイドの磁界は棒磁石の磁界とは違っていることに気がついたので、今回は手作りで電磁石を作成した。
M3の長さ20mmのビスに巻きやすいようにナットと平ワッシャを両端に付け、太さ0.2mmのポリプロピレン線を巻きつける。巻きつける回数や長さはきちんと測定するのは面倒なので、だいたい平ワッシャの直径と同じくらいの太さになるまで巻きつけた。これを2ヶ作ったところ、20mあった線が残り2m程度になったので、だいたい9mずつ巻いたことになる。

 ローター側は、ものづくり仲間からもらった強力ネオジウム磁石を4ヶレゴのパーツに取り付け、軸をつけてある。軸受けは扱いやすいよう、上から差し込むだけにしてある。


 ローターの磁石の位置を検出するために、リードスイッチを使う。2つの電磁石を180度の位置に置いてあるので、その中間の90度の位置にリードスイッチを置く。

 電磁石を制御する基板はリモコン用に作ったものを使うので、電流の方向は一方向だけしか流せない。実験してみたところ、ローターと電磁石が引きあうよりも反発するほうが回りやすいことがわかったので、ローターの磁石と同じ方向の磁界が出来る方向に電流を流している。
リードスイッチがオンになってから電磁石に電流を流し始めるまでの時間と、電流を流す時間は、基板上のボリュームと2つのスイッチで設定できるようにしてある。

 ブラシレスモーターの軸受けを取り外し、代わりに100円ショップで買ってきた盃を置き、その上でローターを回すと、モーターと同じように回り始め、いつまでも回り続け、永久ごまになる。


 どちらもけっこうよく回る。