SM駆動とLAP駆動について - nearfactory/2024-TOINIOT2 GitHub Wiki

SM駆動/LAP駆動とは、モーター制御の方法の分類方法のひとつ。 MDに入力されるPWM信号について分類する。 比例制御(=P制御)やPID制御などとは異なる分類方法。

SM駆動

これまでずっとやってきた方法。 2本の信号線=①正転/逆転の向き ②回転速度 で制御する方法。 ①はデジタル信号(0/1の信号)、②はPWM信号を送る必要がある。 制御性は普通(LAPには劣る)である一方、消費電流が小さいというメリットがある。

制御方法 モーターの 正転もしくは逆転 と ブレーキ のデューティー比を操作して欲しい回転方向・回転速度を得る。

ブレーキをかけるとモーターが完全に停止する(ブレーキがかかりっぱなしになる)ため、慣性の法則が作用して0%から30%のようなブレーキ→回転の時に応答性が悪いことがある。 また、動いている状態からブレーキをかけようとしても時間がかかってしまう。 一方でモーターが停止しているときにはモーターには一切電流が流れないため消費電流はLAP方式に比べ小さくなる。 PWMの分解能(Arduinoは8bit)がそのままモーターのスピードに反映されるため、回転速度の分解能はLAP方式よりも良い。

LAP駆動

新しくmaxonモーターを使うならば取り組みたい方法。 1本の信号線=正転/逆転の向き で制御する方法。 正転/逆転を高速で入れ替える必要があるため、回転向きを指定するのにPWM信号を送る必要がある。 制御性はSM駆動よりも良い一方、常にモーターに電流が流れるため消費電流はSM駆動よりも大きくなる。

制御方法 モーターは常に100%で回転させて(MDの速度信号線には常にHIGHを入力しておく)おき、 モーターの正転/逆転を高速で入れ替えることで欲しい回転方向・回転速度を得る。 e.g.) ブレーキ: 正転50%、逆転50%を出力する  正転50%:正転75%、逆転25%を出力する

ブレーキをかけてもモーターは完全には停止していない(電流は流れている)ため、ブレーキ状態から動き出すときの応答性はSM駆動よりも良い。 一方、ブレーキでもモーターに電流は流れているため、コンスタントに電流が流れ続けるため、比較的消費電流は大きくなる。 PWMの分解能(Arduinoは8bit)はモーターの回転速度には半分の分解能(Arduinoの場合は7bitになる)で出力されるため、SM駆動に比べると回転速度の分解能は悪い。

参考リンク

朱雀Lab. SM方式とLAP方式の違い