blog家電メーカーで働いているmeideruのブログです。技術系・ガジェット系の話を書いています。́ω`*)(開発と言えるほど高度なものなのかどうかは微妙なところですがw)今日は、今、開発している戦車型のロボットについて記事を書きたいと思います。ロボットのバランスが悪すぎるスポンサーリンク概要メイン基板(マイコンボード)のスリープスイッチ(電源スイッチ)を押すと起動します。@メイン基板(マイコンボード)起動後はプログラミングされた通りにロボットが動きます。現時点でセンサは付いていないので、状況に合わせた動的な動きはできません。(今後改善する予定です)構成このロボットは主に6つで構成されています。マイコンボードモータコントローラギアボックスキャタピラユニーサルプレートネジの6つです。マイコンボードマイコンボードはこんな感じで作成しました。@自作のマイコンボード(表面)表面はこんな感じです。マイコンはPICマイコン(16F1827)です。左のタクトスイッチはスリープボタン(電源ボタン)で、右のタクトスイッチはリセットボタンです。LEFTとRIGHTのコネクタ(メス)からは、左右のモータをコントロールするためのPWM信号を出力されます。POWは、POWERのことで電源(9V)を入力するためのコネクタ(メス)です。OUTは、POWER(9V)をモータコントローラに向けて出力するためのコネクタ(メス)です。3端子レギュレータで9V→3.3Vに落としてマイコンに電源を供給しています。パスコンは100μFを使っています。普通は0.01μFなどの容量を使うのが普通らしいのですが、モータドライバで大きな電流を使うので、それだとダメでした。@マイコンボード(裏面)裏面はこんな感じです。́・ω・)@実装したモータコントローラこんな感じで本体に実装しました。コネクタにケーブルをつないだら様になりますねwそれから、ユニバーサルプレートに結束バンドで直接、基板をくっつけています。ショートする恐れはないと思います(>_<)モータコントローラモータコントローラはこんな感じです。@モータコントローラ(表面)モータドライバは東芝のTA7291Pを使用しています。パスコンは1つで2つのモータコントローラに接続しています。モータへの出力電圧です。@実装したモータコントローラ見辛いと思いますが、こんな感じで実装しています。マイコンボードと同様に、結束バンドで直接、ユニバーサルプレートにくっつけています。ギアボックスギアボックスはタミヤ製品を使用しています。アマゾンで購入しました。(70168)この製品ではギア比を4段階で選べます。このロボットでは一番高いギア比を使用しています。キャタピラキャタピラもタミヤ製品でアマゾンで購入しました。(70100)色々な大きさを組み合わせて、キャタピラの長さを調節することができます。ユニバーサルプレートユニバーサルプレートもタミヤ製品です。(70157)2枚セットです。今回作ったロボットでは3枚使用しているので、2セット注文しました。́・ω・))ソースコードソースコードはこんな感じです。PICマイコン(16F1827)向けで、コンパイラはXC8です。するようにプログラミングしました。スリープスイッチ(電源スイッチ)は割り込み処理で実行するようにしています。リセットスイッチはMCLR端子で行うようにしています。動作はこんな感じです。YouTubeにアップしました。勉強になったこと機械工学(?)を学べたこれを機械工学と呼べるほど高級なものなのかどうかはわかりませんが、機械工学の雰囲気だけは知ることができました(*’▽’)実は、ある程度完成してから、ある問題が浮上しました。それは、ギア比が適切でなかったことです。トルク不足で右旋回・左旋回をすることができませんでした。前進・後進は高速で動いていました。これは、ギアボックスのギア比を調節すれば解決できました。́∀`)大学での物理学は真面目に講義を受けていなかったので・・・wとっても勉強になりました!ハードウェアの設計を実践的に学べた一番勉強になったのはこれですね。ハードウェアの設計を実践的に学べました。(ここで言うハードウェアとは電子回路のことを指します。)私は、今までプログラミングを中心に勉強してきたので、電子回路については知識で知っている程度で、ハンダゴテを使って実践したりすることは、ほとんどしてきませんでした。いざやってみると、トラブルの連続でした。スイッチが思うように動作しないという問題がありました。結論から言うと、これは「チャタリング」という問題でした。プログラム側でチャタリングが終了するまで待機するようにしたところ、解決することができました。他には、モータの出力を全開にするとマイコンがリセットされてしまうという問題も起こりました。これは、マイコンのパスコンを大容量にすることで解決することができました。このように、講義では学べないようなことが実践で学べたのは、とても良かったと思います。反省点がいくつかあります。回路図を書くべきだった回路図を書くべきでしたね。ブログにこの記事を書いているときに思いましたw皆さんには完成したマイコンボードとモータコントローラをお見せしていますが、肝心なのは回路がどうなっているのかという点ですよねwそれがないので、解り難いと思います。́)センサを組み込むべきだった上述した通り、このロボットにはセンサが組み込まれていません。状況に応じた動的な動きが全くできませんwでも、これは今からでも解決できる問題でもあります。今からでも組み込めるからです。後日、組み込めたら組み込みたいと思います。前方と下側に距離センサを付けようと思います。これで、前方の障害物を回避したり、落下しそうになったら旋回するようになるはずです。コメントをキャンセルコメント名前PREVFPGAを入門しようと思います('Д')NEXTFPGAの勉強のために揃えた物RSSプロフィール新卒2年目の社会人。blog家電メーカーで働いているmeideruのブログです。技術系・ガジェット系の話を書いています。