ここではArduinoで直流モータを駆動する方法について述べます。将来,自動車モデルを作成することを念頭に置くと,2つのモーターを制御する下に示すようなタミヤのギヤボックスなどを使うことになります。ここでは,その前準備として,直流モーター1個を制御する方法について見ていきます。
このギヤボックスでは,2つのモーターを別々に動かすことができます。そのため,6方向への移動を可能にしています。

回路図を右に示します。ここでは,モーターを駆動する電子部品として TA7291P を用います。
まずはモーター1個を制御する回路を示します。
ここで,TA7291P の端子の説明を下の表に示します。
この表に示すように
1と7は電源関連
2と10はモーターを制御する信号


5と6に入る信号の組み合わせによりモーターの制御信号を作ります。下にその組み合わせを示します。

上右の表に示すように,OUT1=L,OUT2=Lの制御信号がでたときは,回路図からわかるようにモーターの両端が0V になることを意味し,そのためモーターは回転しません。
OUT1=H,OUT2=Lのときは,モーターの左側に5V,右側に0Vが印加されますので,モーターが回転します。この方向を正回転とします。
OUT1=L,OUT2=Hのときは,モーターの左側に0V,右側に5Vが印加されますので,先ほどとは逆方向にモーターが回転します。この方向を逆回転とします。
OUT1=H,OUT2=Hのときは,モーターの両端が5Vになり,回転が止まります。すなわち,ブレーキがかかります。
製作した回路を以下に示します。

スケッチは右のようになります。まずは,digitalWrite() を使って制御します。
1,2行目:モータードライバのIN1,IN2をそれぞれArduinoの0番と1番に接続します。
5,6行目:Arduinoの0番と1番を出力モードにします。
10-13行目:モーターを止めておきます。
14-17行目:モーターを正転させます。
18-21行目:ブレーキをかけます。
22-25行目:モーターを逆転させます。
動作結果が下の動画になります!
なお,速度制御をするには,PWM制御をしてあげてください。Vref端子にanalogWriteします。




コメント