DCモータの制御基板「DIY servo」を公開しました。
http://nicotak.com/robot/motor/
これは元々、「ロボットの製作」っていう本の執筆中に考えたテーマの一つです(「市販のサーボモータを使わずに角度を制御する」というテーマ)。
本は結局、企画倒れに終わってしまいました。
▲最初はタミヤのクランクギヤボックスで作ってみました。
歯車の横に穴を空けて、フォトリフレクタを当ててみましたが、精度が出ずに失敗。
▲その次に作ったのがこれ。部品を変えてみました。
ウォームギヤの軸にシャッター板を取り付けられることに気が付いて「ユニバーサルギヤーボックス」を使いました。
マイコンはATtiny2313、モータドライバはTA7291という最安値の組み合わせ。
▲それから基板を起こしてみました。。
この時は、ATmega168を使ってNicoBASICを入れる予定でした。
ここまでが、2年前の話。
、、、、
▲NicoBASICがATmega168の容量に入りきらなくなったので、マイコンを単純な制御のみに切り離しました。
ATtiny2313で作り直したのがこちら。
▲LED gameと合体した場合も考えてみました。
▲ユニバーサルギヤーボックスは回転軸を90度単位で変更できます。
その特徴を生かして、二足歩行ロボットもできるのではないか、と思ってました。
▲一応動きましたが、
機能を詰め込みすぎたとか、
細かい制御ができないとか、きちんと止まれないとか、
課題が残り、しばらく棚上げ状態になります。
ちなみにMakeのイベントで公開したものは、エンコーダを取り去っているモータドライバだけのものです。
ここまでが大体1年前の話。
、、、
先日、「ロボコンマガジン」で何か電子工作のネタがないかとのお問い合わせがあったので、お蔵入りになってたこれを復活させてみました。
あと、
「Nico〜」って名前が使いづらくなってきたので、
「NicoMotor」から「DIYservo」に名前を変えました。
雑誌での掲載名は「簡易サーボモータ」です。
▲分解能を上げるためにシャッター板を見直し。
6枚羽根になりました。
このあと、両エッジで見ればいいってことに気が付いて、ON/OFFの比率を同じにします。
▲出来上がったのがこちら。
作りやすいようにモータを1個だけに修正しました。モータ1個バージョンです。
あと、原点用のセンサを取り外しました。結局、一番最初に逆戻りです。
配置を見直したので、Cタイプ基板に収まってます。
▲9600bpsで通信できます。EDUmk2+NicoBASICで制御している様子です。
▲雑誌に載せるなら加減速のグラフがいると思い、急遽、専用ソフトを作りました。
パワーを固定して出力したり、速度を固定するように出力させることができます。
さらに、PD制御も追加して、性能的な不満点は少し解消しました。
数式を足せばPIDもできると思います。
まだまだ改良の余地ありですが、ステータスを視覚的に確認できるので教材としては使えるんじゃないでしょうか。
▲ver.3の基板パターンも作ってみました。ver.2の時の不要だった部分を削っています。
▲モータ1個バージョンの基板パターンも作ってみました。
ただ、専用のプリント基板にしてしまうと、勉強になる要素が削がれると思うので、まずはユニバーサル基板で挑戦してみてください。