2001/12/28 【ソフトウエア編TOPに戻る】
ギヤードモータとは、DCモータに減速ギヤの機能が一体化されたもので、主には連続的に回転を続ける用途に用いられるものです。ギヤードモータをロボットの関節などに利用するためには、ポテンショメータなどで角度を検出し、所定の角度に達したらモータを停止させる、などといったフォードバック制御が必要になります。
このフィードバック制御は、1秒間に数十回といった周期で常に行なわなければ、モータをスムーズに制御することができません。つまり、制御を行なうマイコン(CPU)には相当の負担が掛かる事になり、更に制御する関節数が多くなるほど、その負担も大きくなります。
一方、ラジコン用のサーボモータはどうでしょう。サーボモータは一定の周期で与えるパルスの幅によってその回転角度が自動的に制御されて、負荷が駆動できる範囲内であれば勝手に指定の角度まで動いてくれます。つまり、マイコンから見れば手間いらずで、処理が非常に楽なのです。
ならば、ギヤードモータをサーボモータと同じように、与えるパルス幅によって角度制御できるようにしてしまえば良い、ということで、今回はその第一弾です。
今回は、単純な比例制御によってギヤードモータの回転角度を制御してみます。
351−1.サーボモータの基本的な動作原理
ギヤードモータのサーボ化の前に、ラジコンサーボモータはどうやって動いているのか、その基本原理について簡単に考えてみましょう。「112.ラジコンサーボモータを動かす」のページも参考にして下さい。
下のブロック図は、サーボモータの動作の流れを示しています。
■1.モータには可変抵抗器(ポテンショメータ)が付いており、その抵抗値によってパルス幅が変化するパルス発生器(ワンショットマルチバイブレータ回路、単安定マルチバイブレータ回路)があります。このパルス発生器は、PWM入力のパルス信号の立ち上がりタイミングで、所定の幅のパルスを発生させます。PWM入力のパルスは、ある一定周期(約20mS)ごとに外部から供給され、そのパルス幅は約1mS〜2mSの間で送られてきます。
■2.PWM入力のパルス幅と、パルス発生器からのパルス幅に差がある場合、次のNOTとANDのゲート回路からは、両者のパルス幅の差分に相当する幅をもったパルスが出力されます。
■3.このパルスは、PWM入力のパルス幅のほうが大きい場合は下側のゲートから出力され、上側には何も出力されません。逆に、PWM入力のパルス幅のほうが小さい場合は上側のゲートから出力され、下側のゲートからは何も出力されません。ブロック図の例では、PWM入力のパルス幅のほうが大きいため、下側のゲートから出力されています。
■4.このゲートから出力されたパルスを元にして、再度モータを駆動するのに十分な幅を持ったパルスを作り、モータドライバ回路に供給します。このモータドライバ回路では、上側の入力にパルスが供給された場合と、下側の入力にパルスが供給された場合とでは、お互いに逆向きに回転するように働きます。
■5.モータドライバ回路が働くことによって、モータが回転します。このとき、モータはポテンショメータを動かしますが、ポテンショメータの抵抗値が変化するため、パルス発生器から発生されるパルスの幅も変化します。このパルス幅は、PWM入力のパルス幅に近付く方向に変化します。
■6.以上の動作を、PWMパルスが入力されるたびに繰り返します。
■7.以上の動作によってパルス発生器からのパルス幅がPWM入力のパルス幅と同じになると、ゲートからはパルスが出力されなくなり、モータドライバ回路も働かなくなり、モータは停止状態となります。
■8.ここで、PWM入力のパルス幅が変化すると、再び上記と同様の動作をたどり、PWM入力のパルス幅と、パルス発生器からのパルス幅が同じになるまでモータが動き、停止します。
!doctype>