2024年12月21日土曜日

出入り検知器をPCB化する(その20)サーボ・モータを動かす8

 サーボ・コントローラを語るうえで大事な事を忘れていた。

そもそもサーボモータの制御信号(PWM)には統一規格はあるのか、 それはTowerPro社のSG-90と同じで良いのか、或いはどんなものがあるのか、という点である。こういったサーボモータはラジコンで使われているようなので規格は統一されていそうなものである。実際にカタログには制御信号はPWMとだけ書いてある場合も多く、あたかも統一されているようである。そこで秋月で入手できるもの(360度回転の物を除く)を中心に市販品を調べてみた。全てを調べ切った訳ではないが、概要は次の通り。

  1.  TowerPro - このメーカーのサーボモータの制御信号(PWM)のパルス幅は180°回転の場合500μs~2400μsでセンターは1450μsである。
  2.  FEETECH - このメーカーのサーボモータの制御信号は180°回転の場合500μs~2500μsでセンターは1500μsである。回転角が120°の製品もあるがセンターのパルス幅は同じく1500μsである。またシリアルインターフェイス(1Mbps)のものも販売されているようだ。
  3.  GWS - このメーカーのサーボモータの制御信号は180°回転の場合800μs~2200μsでセンターは1500μsであり、120°回転の場合900μs~2100μsでセンターは同じく1500μsである。
  4. SAVOX - 製品の数が少ないが、回転角が164°のものの制御信号は800μs~2200μsでセンターは1500μsである。

 これらの値をもとに回転角1度当たりのパルス幅変化量を計算すると11μs前後の製品が多いが、中には6.7μsの製品もあった。

これらのメーカのパルス周期はいずれも20ms(50Hz)である。一方Amazonで売っている高トルクのサーボでは高パルス周期(50Hz~333Hz~800Hz)のものもあるようだ。ただ800Hzのパルスを出すとすればパルス幅はせいぜい1ms(1000μs)程度なので、これを使うつもりなら仕様を具体的に検討してみる必要がある。

さて、制御信号の時間的な仕様が分かったので今回作ったサーボ・コントローラで実際にこれが動くのか電気的特性を試してみた。テストに使ったのでは TowerPro の MG996Rである。

このサーボを選んだのはトルクが11Kg/cmもあるので(SG-90は1.8Kg/cm)大喰らいであり、その分だけ制御信号にもある程度パワーが必要かもしれないと考えたからである。つまり(データシートに明示されていない)サーボモータの制御信号の入力インピーダンスや閾値がPICで駆動できる範囲にあるかという事である。

結論から言うと問題なく動いた。最初は電源の電流を500mAに制限して動かしてみたらサーボはかすかに唸るが全く動いてくれなかった、そこで制限を1.5Aくらいに上げると普通に動いた。無負荷のSG-90なら100mAでも動くがMG996Rは無負荷でも1Aは必要である。仕様上は無負荷の電流は170mAとなっているが実際には突入電流が大きく最大電流1400mAの電源を用意しておく必要があるのだろう。やはり大喰らいである。

 以上の事から少なくともTowerPro社のサーボはPICで駆動できる事、またサーボ・コントローラで様々なサーボモータに対応させるためには少なくともPWMの細かい設定が必要な事が分かった(TowerPro社以外のサーボについては機会があれば試したい)。サーボモータを使う側から見ると、制御信号の統一規格は無く、使うサーボモータの仕様に合わせて制御信号のパラメータを変える必要があるという事である。

幸いこの程度の事ならプログラムの簡単な変更で済むのでサーボの仕様に合わせてパラメータを切り替えられようにする予定である。

 (続く)


0 件のコメント:

コメントを投稿