2014年12月27日土曜日

4 DCモータの制御

【DCモータの回転方向】
 DCモーターは、流れる電流の向きによって回転方向が決まる。反対向きの電流を流すと逆に回転させることができる。

 実際にスタディーノと接続する場合は、Hブリッジと呼ばれる方法を使います。



①SW1とSW4をONにした場合、モーターには左から右方向への電流が流れる。
②SW2とSW3をONにした場合、モーターには右から左方向への電流が流れる。

※ただし、SW1とSW3、SW2とSW4を同時にONにした場合、回路がショートしてしまうので、
  十分な注意が必要です!

 実際には①、②をセットにしてON/OFFの操作をします。

【DCモータの回転数】

DCモーターは電圧の大きさを変えると、回転数が変わります。
ですから、モーターに可変抵抗を接続して変えてやれば、回転数は変わります。

しかし、次のような問題点があります。
   ・コンピュータで可変抵抗の値を制御しにくい。
   ・抵抗で電圧を下げても、抵抗部分で熱になるだけなので効率が悪い
    (電池の持ちが悪い)

そのため、今回はPWM(Pulse Width Modulation)という方法で回転数を制御しています。

○PWMの原理

 モーターにつないだスイッチをオンにする→モーターが回る。
 モーターにつないだスイッチをオフにする→モーターは減速し、最後に止まる。


 スイッチをオフにしてもすぐにモーターが止まるわけではありません。そこで、スイッチをオフにしてすぐにオンにしてやると、モーターは回り続けます。


 高速でスイッチのオン・オフを繰り返すと、モーターは回り続けます。ただ、スイッチをオフにしている間は、モーターには電力が供給されていないので回転数はずっとONにしている場合より少なくなります。

 オンにしている時間と、オフにしている時間の割合を変えると回転数を制御することができます。

 スイッチをオフにしている時間は電流が流れていないので、その分電池は長持ちします。


○スタディーノの場合
 スタディーノはDCモータを2つつなげることができます。

 モーター1はD2、D4がそれぞれ(SW1、SW3のセット)、(SW2とSW4のセット)にあたり、デジタル入力、D3がPWMで0~255までのアナログ入力です。
 モーター2はD7,D8がデジタル入力、D5がPWMで0~255のアナログ入力です。




【DCモータを動かしてみる】
①M1のコネクタにモータを接続する。
②Powerに電池ボックスを接続する。
③ドリトルに次のプログラムを入力する。


1   システム! “arduino”使う。
2   a=arduino! 作る。
3   a!(システム! シリアルポート選択)ひらけごま。

5   SW11=a!2 デジタル出力。
6   SW12=a!4 デジタル出力。
7   PWM10=a!3 アナログ出力。

9   PWM10!255 書く。
10   SW11!1 書く。
11   a!5 待つ。
12   SW11!0 書く。
13
14   a! とじろごま。




1~3行目、14行目の説明は省略。
5~7行目でそれぞれのピンの設定をしています。

9行目でPWMの数値の書き込み(0~255の値)この数値でモーターの回転数を制御します。
10行目でSW11をONにしています。(モーターが動き出します)
11行目で5秒間待ちます。
12行目でSW11をOFFにしています。(モーターを止めます)

○試してみよう
・9行目の数値(255)を0~255の間の数値に書き換えてみましょう。
・モーターの回転数を反転させるためにはプログラムのどこを変えたら良いか考えましょう。
・モーターをM2につなぎ替えた場合、プログラムのどこを書き換えれば良いか考えましょう。

0 件のコメント:

コメントを投稿