(第5回)モーター制御(その2) ピンポン玉射出

ロボコンではピンポン玉を射出する競技がありますが、モータードライバーだけでこの制御をすることは難しいです。理由は「RE-280RA」は無負荷の回転で700mAの電流がモーターに流れる場合があるためです。ピンポン玉を射出する瞬間はもっと大きい電流がながれます。

モーターにタイヤ等を取り付けてピンポン玉を射出する場合は、モータードライバーとモーターの間にリレーを入れることで制御が可能になります。

マイコンでモーターを動かしてピンポン玉を射出する

モータードライバーでモーターを動かす部品に「3V小型リレー」を追加します。

<使っている部品>

a.Arduino Pro Mini 328 3.3V 8MHz

b.BD-6211F-E2

c.SOP8(1.27mm)DIP変換基板 金フラッシュ

d.RE-280RA(説明用に大きいモーターを使用します)

e.ショットキーダイオード 40V1A 1S4+コンデンサ10uF

f.3V小型リレー 接点容量2A 946H-1C-3D

 1.接続

モータードライバーに接続していたモーターの所にリレーの入力と接続。

(946H-1C-3D)
*)リレーは裏側から見た状態の配線

モータードライバーがOFFの場合、リレーの下側の2端子が通電ON。モータードライバーがONの場合は、通電がOFFになります。(上側の2端子はそれぞれ通電は逆になる)モータードライバーがOFF時に通電をONにするのは、全体の電流の消費量を少なくするためです。

モータードライバーOFF時:リレー  0mA+モーター700mA
モータードライバー ON時:リレー100mA+モーター  0mA

 

(接続図)
*)リレーは上から裏側を見た状態の配線

<注意>ピンポン玉の射出にモーターを2つ使う場合は、モーター毎にリレーが必要になります。

2.プログラムの準備

以下がサンプルプログラムです。コピーして使います。
リレーは消費電流が66mA程度ですので、大きいモーターの様にゆっくり電力をせず、一気に電力を供給しています。リレーは極性がないので、モータードライバーの正転、後転どちらでもリレーがONになります。サンプルは3秒ON、1秒OFFを繰り返しています。

//----(プログラム)----
uint8_t Mode;//モーター状態
uint8_t KirikaeFlag;//モーター切り替え判断
void setup() {

delay(100);
pinMode(2, OUTPUT);//正転指令
pinMode(4, OUTPUT);//逆転指令
pinMode(5, OUTPUT);//モーター速度

KirikaeFlag = 1;
Mode = 1;
}


void loop() {

if (KirikaeFlag == 1)
{
KirikaeFlag = 0;
if (Mode == 0) {
Mode = 1;
} else if (Mode == 1) {
Mode = 0;
}
if (Mode == 0) {
digitalWrite(2, HIGH) ;
digitalWrite(4, LOW) ;
analogWrite(5, 255);
}
if (Mode == 1) {
digitalWrite(2, LOW) ;
digitalWrite(4, LOW) ;
analogWrite(5, 0);
}

} else {
if (Mode == 0) {delay(3000);KirikaeFlag = 1;}
if (Mode == 1) {delay(1000);KirikaeFlag = 1;}
}
}

実験の様子
電源に直結されているので、モーターの限界まで電流が流れています。以前、ピンポン玉を射出してペットボトルを倒す競技がありましたが、 その時のタイヤで実験をすると1000mA(1A)も流れています。これをBD6211Fのモータードライバーで制御することは困難ですが、リレーを 利用することで、制御ができます。ただし逆回転はできません。逆回転させる場合は、リレーを3個準備して2個のモータードライバーで制御する必要があります。

RE-280RAのような大きいモーターでも動作することが分かりましたか?。リレーがOFFする時にも、逆起電力が発生するため、モータードライバーの隣についているダイオード+コンデンサがあった方が良いです。

-------------