BrickOS(RCX)のモーター制御には、正回転(forward)、逆回転(reverse)、開放(off)、ブレーキ(brake)の4種類の制御モードがあります。
開放(off)とブレーキ(brake)は一見モーターが停止している状態が同じに見えますが、指で車輪(モーター)を回転させてみると、開放とブレーキで車輪(モーター)の回転の滑らかさが異なる(後者はブレーキがかかっている)ことが分かります。
モーターを制御した時のRCXの出力ポートの電圧を測定することで、BrickOS(RCX)のモータ制御方法(ブレーキの原理)を考察します。
最初にモーターを接続しない状態の出力ポートの波形を次に示します。
出力ポートからは、7Vの矩形波が1秒間きれいに出力されていることが確認できます。
次に同じ制御方法でモータを接続したときの出力ポートの波形を示します。
1秒間一定電圧(7V)を保った後に、緩やかに電圧が低下することが分かります。
これは、RCXからの電力の供給が断たれた後も、一旦回転を始めたモーター(車輪)が惰性で回転を続け発電したことによる電圧だと考えられます。これを一般に『逆起電力』と呼びます。
次に回転させたモータにブレーキをかけたときの波形を示します。
1秒間一定電圧を保った後、きれいに波形が立ち下がっていることが確認できます。
この現象はRCXの出力ポートがショート(短絡)したことが原因だと考えられます。
これを確認するために、RCXの出力ポートのインピーダンスを測定したところ
開放(off)のとき | ∞ |
ブレーキ(brake)のとき | 3.0 Ω |
となりました。
ちなみにDCモータの内部インピーダンスは約25Ωでした。
実はRCXに搭載されているモーター駆動ICのブロック図は次のようになっています。
正回転 (forward) | 逆回転 (reverse) |
---|---|
モーターの回転方向(電流の向き)を制御するための、このようなスイッチ回路(実際にはトランジスタ回路)をHブリッジ回路と呼びます。
開放 (off) | ブレーキ (brake) |
---|---|
開放(off)のときは、モータの両端のスイッチが全て開いているため、モーターに逆起電力が発生しても電流は流れません。したがってモーターの回転が電気エネルギーに変わることはありません。
一方のブレーキ(brake)のときは、モーターの両端のスイッチがループを構成するため逆起電力により電流が流れます。モーターの回転エネルギーは電気エネルギーに変わります。つまり、このときモーターは発電機として振る舞います。このとき発生する電気エネルギーは(モーターの内部)インピーダンスで消費されて熱エネルギーに変わります。結果としてモーターに伝えられた運動エネルギーが熱エネルギーに変換されることでブレーキとしての効果を果たします。
ちなみに、鉄道の発電抵抗ブレーキは、これと同じ原理です。
‘Mindstorms’, ‘Mindstorms RCX’ は、レゴグループの登録商標です。