ラベル Arduino の投稿を表示しています。 すべての投稿を表示
ラベル Arduino の投稿を表示しています。 すべての投稿を表示

2020年7月19日日曜日

2 輪車,一応完成 / Two-Wheel Toy Car Completed

超音波センサで障害物を検知して,自動で方向を変えながら走る車を作ってみたくて,4 月から 3 か月くらい悪戦苦闘していた。 モータを 3 速クランクギアボックス にしたり, ツインモーターギヤーボックス にしたり,方向転換を ツインモーターギヤーボックス で回転数を変えてみたり, サーボモータでタイヤの方向を変えてみたり,超音波センサを 3 つにしてみたり,1 つに減らしてみたり。

最終的には,4 つのタイヤを使うと,例えおもちゃであっても方向転換時の回転数の違いを吸収できず,うまく曲がらないことが 分かった。また ツインモーターギヤーボックスボールキャスター を使う場合でも,ホイールベースが 長いと回転しきれないので,バランスが保てる程度にホイールベースを短くする必要があった。そして,最終形状が上記の動画のようになった。

使ったパーツは以下の通り。

この 3 か月の取り組みで,ハードウェアの奥深さを改めて実感した。最初はすぐに完成すると思ったけど, ハードウェアとしてきちんとしたものを作らないと動かないことを体感。おもちゃとは言え,原理原則を間違えると 方向転換すらできない。「ソフトウェアの力でハードウェアの力を最大限に引き出す (帆場暎一)」という言があるが,決してハードウェアのポテンシャルを 越えた力を出すことはできないのだ。

それ以外にも,モータドライバの使い方やプラバンの加工法 (ピンバイスで穴をあけ,スチロールカッターで曲げる) など,身についた知識は多い。一方, 目の衰えも嫌というほど実感した (Arduino nano の基板表面の文字が読めない。ハズキルーペ的な眼鏡をかけて作業した)

課題はまだ残っている。

  • 左右のタイヤに同じ電圧を供給しているつもり (Arduino nano の 3, 9, 10, 11 を使っているので,PWM の周波数は合ってるつもり) だが, 直進できない。ギアの摩擦,モータの個体差など,思いつく要因はたくさんある
  • 正面の障害物しか見てない。側面から徐々に近づく壁には,残念ながらぶつかってしまう
  • ボールキャスターにも方向性があって,動画のように右折はスムーズだが,左折やバックのときはつっかかったような動き (スティックスリップのような感じ) に なる

だが,ここで一区切りとして,次の何かを考えたい。タミヤのパーツをタイムリーに届けてくれた ヨドバシ.com に感謝しつつ。

2020年4月29日水曜日

Arduino nano コンパチ品で距離を測定しながらモータを制御する / Control motor measuring distance to obstacle w/ Arduino nano compatible

前方の障害物までの距離を超音波センサで測り,近づいたらブレーキをかける,近づきすぎたらバックするという制御をしてみました。走るときは 3V で モータ駆動。障害物まで 15cm に近づいたらブレーキ (でもすぐには止まれない),5cm まで近づいたらバックする (5cm ~ 15cm のときは止まっている) と いうプログラムです。プログラムは GitHub で 見ることができます

使用した主な部品は,次の通りです。

しばらく動かしていたら,ギアボックスが空回りするようになった。よく見るとイモネジが外れていて,探すと床に落ちていた。イモネジが なくなると致命傷なので,空回りしだしたらすぐにチェックするようにしよう。

次は,ツインギアボックス (タミヤ) を使って,方向転換できる ものを作ろうと思ってます。

2020年4月13日月曜日

Arduino Nano コンパチ品の動作テスト / Test of Arduino Nano Compatible

Amazon で購入した Arduino Nano コンパチ品 の動作テストとして,L チカ。Windows10 で CH340 は自動認識。 プロセッサは ATmega328P (Old Bootloader) を選択すると,無事にプログラムを書き込めました。

ヘッダピンが太いのか,ブレッドボードにザクっと入ってくれない :-p

2020年4月12日日曜日

Arduino UNO コンパチ品の動作テスト / Test of Arduino UNO Compatible

Amazon で購入した Arduino UNO コンパチ品 の動作テストとして,L チカ。Windows10 で,USB シリアルチップ CH340 用の ドライバは自動認識されたけど,最初は書き込みエラー。よくよく調べるとシリアルポートが違っていたので,明示的に設定したら無事に書き込めた。

Arduino UNO を安く実現するためにチップ単体と必要最小限の周辺部品を買うことも考えたけど,安い完成品を探すほうが早いし安い。

Arduino UNO でモータ制御 / Motor control with Arduino UNO

Arduino UNO 互換機,3 速クランクギアーボックス (タミヤ)モータドライバ DRV8835 (TI,秋月電子で購入) で,モータ制御の実験をしました。

DRV8835 は, mode = 0 にして,AIN1AIN2 に Arduino UNO の PWM からアナログ電圧を加えることで,正転や逆転,単なる停止や ブレーキを実現しています。ちょっと長いけど,Arduino UNO のソースコードはこんな感じです。

次のステップは,これにタイヤを付けて,走らせてみます。超音波センサで障害物の手前で止まるようなことをしてみようと思います。