2015年9月14日月曜日

倒立振子をつくる その1

少し休みがもらえたので
制御の基本といわれる「倒立振り子」を作ってみることにした。

倒立振子は、簡単に言えばセグウェイのような、逆さにたったタイヤのついた振子(そのまんま)のこと。
逆さにたつためには、倒れそうになったらその方向に移動して倒れないようにバランスをとる必要がある。小学校のときに、手のひらにホウキを逆さに載せてバランスとってたアレみたいな感じでしょうか。
これをArduinoにやらせることにした。

しかし、私はそういった知識は皆無なので
先人がArduinoで制作された倒立振り子を作りながら、勉強していこうと思う。
個人的につまづいたところなど書いていく。

こちらのサイトを参考にさせていただきました。
半日で作る倒立振子

半日でできるっていうところに、すごく魅力を感じた。ほんまかいな。

というわけで参考サイトStep1~4くらいまで軽く読んで
急ぎ早に必要なセンサー、部品類をポチる。


*** ボディ ***

この辺りは参考サイトと同じパーツを使った。

・ユニバーサルプレート(2枚セット)

・ユニバーサルアームセット

・ダブルギアボックス
 だいぶ前なんちゃってarduino戦車を作ったときに購入してた。
 でも、それが原因でトラブったので(後述)、出来る限り新品買いましょう。

・スリムタイヤセット

*** 電装 ***

・arduino UNO

・ブレッドボード

・ジャンパ・ケーブル
 これは、たくさんあったほうがいい。
 ※ただ、何十本数百円の「安物」は、中の線は非常に細くて切れやすい。
 モーターにはんだづけorまきつけて接続すると、実験してるうちにたいがい切れるので
 最安値のものはやめましょう。

・モータ・ドライバIC(TOSHIBA TA7291P×2)
 これは、Arduinoでモーター動かすときに皆買っているのではないだろうか
 定番のモータードライバ。
 ただし、参考サイトにもあるように、後ほど別のものを使う。(詳細は次回以降)

・ジャイロ・モジュール(秋月電子 K-04912
 こちらは、参考サイトにも書いてあるように、個体差とかあるらしいので念のため2個購入した。
 ただし、参考サイトにもあるように、後ほど別のものを使う。(詳細は次回以降)

・単3電池×4
 モーター駆動用。通常の電池だと恐ろしい勢いで電池を消費することになったので、容量が大きくて激安の充電式電池TOSHIBA IMPULSEを4本(充電器付き)購入。使い勝手はすごい良い感じ。

・モバイルバッテリー
 こちらはArduino駆動用。家にあった適当なやつ。参考サイトでは9V電池を使用。

・電池ホルダ(単3×4本用)

・電池スナップ1個
 9V電池を使っていないので、2個ではなく、1個。


ブラシレスモーター制御 その5





動画アップロードテストも兼ねて、ブラシレスモーターがグィングィンしてるところを撮影。

出力は20%程度。

2015年9月6日日曜日

ブラシレスモーター制御 その4


Arduinoでブラシレスモーター動かすよ
の続き

ソフト編

ソフト的には
Xマイクロ秒ONにして
20000マイクロ秒-Xマイクロ秒OFFにするを繰り返す処理にしている。
つまり20000マイクロ秒周期の信号になる。

PCからシリアルモニタを使って、キーボードから0~180の間で数値制御できるようにした。0を送るとXの値が1150、180を送ると1850になるようにしてある。

※Xの値は、現状資料を見る限り1150~1850マイクロ秒としているが、ESCによっても違うみたいなので
まだよくわかっていない。誰かご存知でしたら教えてください。

今回は3番ポートで信号を送る。

実践編


配線をミスっていないか確認する。
モーターがすっ飛んでいかないようにきちんと固定してることを確認する。

※最初回したときモーターの固定が甘かったので私は近くにおいてあったけしゴムをすっ飛ばした。
怪我しないように気をつけよう。

キャリブレーションするためにシリアルモニタから180を入力。
その次にESCに電源を繋ぐ。

ピロリ。ピーピーと応答したらシリアルモニタから0を入力。
ピーと応答したのを確認したらキャリブレーション終了。

その後0~180までの適当な数値を入力するといい感じに回転するはず。
最初は10あたりが安全かも。

以上、ブラシレスモーターを回す でした