2011年01月23日

マイコンで直流モーターを制御【TA7291P】

モーターをAVRマイコンで操作してみました!(゚д゚ )

モータはDCモーター、つまり直流モーターです。



使用した部品はだいたいこんな感じ。

0.jpg

(左下) ギアボックス
(右上) モータIC


モータICを拡大するとこんな感じです

ok_1.jpg

よくあるタイプのTA7291Pです。


ちなみに使ったマイコンはAVRマイコンのATmega168




早速作業開始!

なんだかよくわかりませんが、
仕様書を読むと電源が二ついるっぽい。

片方は「モータを回す用」で、もう一方は「マイコンを動かす用」らしいです


今回は、
「モータを回す用」は3端子レギュレータを使って5Vを、
「マイコンを動かす用」はPCから電源をひっぱってきて5Vの電圧にしました。

なぜ別けるかというと、どうやらモータを使うと電圧が不安定になるからなようです。




ok_3.jpg


↑電気回路はだいたいこんな感じ。

使ってるPINは、
  ・ モータICの操作用にPB2とPB3
  ・ モータの回転速度を変更するためのPWM用にPB1
です。


ここでモータ制御ICのTA7291Pの説明を。
こちらを参考にさせてもらいました

建築発明工作ゼミ2008: Arduino 小型DCモータ/TA7291P

ここによると
 1:GND(Arduino/GND端子)と共有
 2:モータの端子へ接続
 3:非接続
 4:PWM端子(Arduino/アナログ出力端子)へ接続
 5:信号用端子(Arduino/デジタル出力端子)へ接続
 6:信号用端子(Arduino/デジタル出力端子)へ接続
 7:5V電源(Arduino/5V端子)と共有
 8:外部電源のプラス端子へ接続(乾電池など)
 9:非接続
10:モータの端子へ接続


どうつないだかというと

  2番と10番ピンはモータの両極

  1番はそのままGND

  4番はパソコン(マイコン)からの電源(PB1)

  5番と6番はマイコンの制御ピン(PB2、PB3)

  7番と8番は「モータを回す用」の電源

こんな感じにしました。

4番と7番と8番です。
詳しくは説明書か何かに書かれてるので、そちらを参考に!


しかし操作がものすごく簡単。
上のとおりつないだら、

  PB2をHIGH、PB3をLOWにすればどちらかに回り
  PB2をLOW、PB3をHIGHにすれば逆のほうに回る


というもう使い勝手良すぎです(`・ω・´)


あとはPB1のPWMをうまいこと使ってやれば
モータの速さを半分にしたりも出来ました。




ちなみにソースはこんな感じです

※インクルードファイルの『uart0.h』と『monitor.h』は、
UARTを使ってパソコンと通信するためのヘッダファイルです


操作方法
 U : 回転速度を上げる
 D : 回転速度を下げる
 R : 逆回転にする

パソコンとマイコンの通信にはTeraTermを使ってます

UかDを押すとTeraTermに数字が表示されます。
これは現在の回転速度OCR1Aの値、つまりPWMのデューティです。


画面とモータはこんな感じ!

ok_5.jpg

ちょっと見にくいかもですが
モーターもばっちりバッチリ回転しております!(`・ω・´)




使ってみた感想です

想像以上に簡単でした。 こんなにすぐにモータの制御ができるとは・・・

しかし、逆回転にしても急に回転が反対になるわけじゃなくて、
ある程度の予備動作というか、時間がかかるようです。

スイッチを押させようとしてましたが、これはこれで工夫が要りそう。
もうすこし! がんばります!



―リンク―

建築発明工作ゼミ2008: Arduino 小型DCモータ/TA7291P

Arduino(Japanino) で DCモータを制御してみる - いたち じっけん室





posted by ヒホ at 17:44| Comment(0) | TrackBack(0) | 小物創作 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
最近の記事
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。