超音波センサで障害物を検知して,自動で方向を変えながら走る車を作ってみたくて,4 月から 3 か月くらい悪戦苦闘していた。 モータを 3 速クランクギアボックス にしたり, ツインモーターギヤーボックス にしたり,方向転換を ツインモーターギヤーボックス で回転数を変えてみたり, サーボモータでタイヤの方向を変えてみたり,超音波センサを 3 つにしてみたり,1 つに減らしてみたり。
最終的には,4 つのタイヤを使うと,例えおもちゃであっても方向転換時の回転数の違いを吸収できず,うまく曲がらないことが 分かった。また ツインモーターギヤーボックス と ボールキャスター を使う場合でも,ホイールベースが 長いと回転しきれないので,バランスが保てる程度にホイールベースを短くする必要があった。そして,最終形状が上記の動画のようになった。
使ったパーツは以下の通り。
- 制御 ; Arduino Nano コンパチ品
- 超音波センサ ; HC-SR04
- ブレッドボード ; 小さめのもの
- 車体 ; ユニバーサルプレート
- モータ ; ツインモーターギヤーボックス
- タイヤ
- その他
この 3 か月の取り組みで,ハードウェアの奥深さを改めて実感した。最初はすぐに完成すると思ったけど, ハードウェアとしてきちんとしたものを作らないと動かないことを体感。おもちゃとは言え,原理原則を間違えると 方向転換すらできない。「ソフトウェアの力でハードウェアの力を最大限に引き出す (帆場暎一)」という言があるが,決してハードウェアのポテンシャルを 越えた力を出すことはできないのだ。
それ以外にも,モータドライバの使い方やプラバンの加工法 (ピンバイスで穴をあけ,スチロールカッターで曲げる) など,身についた知識は多い。一方, 目の衰えも嫌というほど実感した (Arduino nano の基板表面の文字が読めない。ハズキルーペ的な眼鏡をかけて作業した)
課題はまだ残っている。
- 左右のタイヤに同じ電圧を供給しているつもり (Arduino nano の 3, 9, 10, 11 を使っているので,PWM の周波数は合ってるつもり) だが, 直進できない。ギアの摩擦,モータの個体差など,思いつく要因はたくさんある
- 正面の障害物しか見てない。側面から徐々に近づく壁には,残念ながらぶつかってしまう
- ボールキャスターにも方向性があって,動画のように右折はスムーズだが,左折やバックのときはつっかかったような動き (スティックスリップのような感じ) に なる
だが,ここで一区切りとして,次の何かを考えたい。タミヤのパーツをタイムリーに届けてくれた ヨドバシ.com に感謝しつつ。
0 件のコメント:
コメントを投稿