Raspberry Piでミニ四駆を動かす(その3)

今回はGPIO編です。
とりあえずGPIOを触ってみるって感じで進めていきます。
・配線
・モータードライバの理解
・プログラミング
・動作テスト
Pythonで書いたプログラムでモーターを動かすことができました。

・配線

配線をする前に何が必要かをこちらの記事を読んで参考にしました。
DCモータを動かす(モータドライバ使用)(WebIOPi利用)
で、買ったものがこちら。
DSC_0437
・ブレッドボード
・ジャンパー線(オス―メス)8本入り
・ジャンパー線(オス―オス)詰め合わせ
・炭素皮膜抵抗器 1/4W 10kΩ
・モータードライバ TA7291P
画像には他にも写っていますが今回使用するのは以上の4点です。
上記のサイトは外部電源に別途電池ボックスを使用していますが、折角なので余っていたミニ四駆を使用しました。

では配線しましょう。
DSC_0447
出来ました。(※この画像を撮影した時にモータードライバの端子番号2からブレッドボードのGNDへの配線を忘れていました……)
ブレッドボードはこんな感じです。
DSC_0453
Raspberry Pi側。
DSC_0449

・モータードライバの理解

今回の電子工作の要とも言えるモータードライバについて調べました。
以前からご紹介しているこれ1冊でできる!ラズベリー・パイ 超入門 改訂第2版 Raspberry Pi Model B/B+/2対応にモータードライバについての記載がありました。

モーターを駆動させる場合、比較的大きな電流が流れます。そのため、直接GPIOに接続すると、電流によりRaspberry Piが故障する恐れがあります。さらに、扇風機の羽(モーター)を手で回すと発電します。手でモーターを回して電流が発生すると、Raspberry Piに流れ込んでやはり故障させてしまう危険性があります。・・・
そのため、モーターを利用したい場合は、「モーター制御用IC」を使用します。モーター制御用ICは、電気を逆流しないようにしたり、雑音を軽減することが可能です。

194ページより抜粋

モーターを使用する時はモータードライバ(モーター制御用IC)を噛ませないとダメってことですね。
今回使用したモータードライバ、TA7291Pの説明書を見てみましょう。
TA7291P,TA7291S/SG,TA7291F/FG
ピンの分かりやすい説明がありました。
モータドライバの使い方について | うしこlog
Raspberry Piの5V端子からはモータードライバ自体に電力を供給します。(Raspberry Piの5V端子 ― TA7291P端子番号7)
モーターを駆動するのに使用する電源はモータードライバの出力側電源に接続します。(外部電源端子の片方 ― TA7291P端子番号8)
Raspberry Piでモータを制御する信号を送る端子はTA7291Pの入力端子(端子番号5と6)に接続します。
他の接続は上記の参考サイトを参照下さい。
モータードライバは以上です。

・プログラミング

プログラミング関係は下記のサイトを参考にしました。
ツール・ラボ » 第26回 Raspberry PiのGPIOを制御する (Python編)

とりあえずはモーターを「回す」「止める」の2つを行うプロクラムを作成します。

motorOn,py

motorOff.py

違いはGPIO.outputの第2引数です。
setupメソッドでRaspberry Piの端子番号16を出力設定にし、outputメソッドで電力を供給したり供給を止めたりします。
この2つのソースコードを適当なフォルダに作成します。

・動作テスト

外部電源のスイッチを入れて、先程のプログラムを実行します。
motorOn,pyを実行すればモーターが回り、motorOff,pyを実行すれば止まります。
無事動きました。

感想

初めてGPIOを触るってことで何も知らないところから始めましたが、やってみればなんとかなりました。
配線も含めてほとんどコピペでしたがモータードライバはもう少し調べればいろいろできそうです。
Pythonはやりやすい言語だと思ったけど、RPi.GPIOをよく調べないと今後詰まりそうだなぁ……。
今週は2連休でなんとか目標は達成できました。

次回はモーターの回転数をプログラムで調節できるようにします。
が、来週はお休みです。仕事が……。
来週もし余裕があれば本の紹介か雑談のどっちかします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です