マイコンにRC用サーボモーターを繋ぐ際の電源投入時の挙動

はじめに

ラジコン用サーボモーター(以下サーボ)は、マイコンからの信号で手軽に位置決め制御をさせることができ、小型ロボットの部品として重宝されています。

サーボの信号線をマイコンの出力ポートに繋げば動かすことが出来るのですが、回路構成によっては電源投入時に一瞬だけ勝手に動いてしまいます。この現象について調査した内容を公開します。

調査はFutabaのS3003、GWSのMicroについて行いましたが、大抵のアナログサーボに共通するのではないかと考えています。

問題となる現象

電源投入時にサーボが勝手に動くという問題は、 電源投入後にサーボをフリーにしようとしているときに起こります。電源投入後直ちに位置信号を送っている場合には問題になりません。

対策

先に結論を述べます。

回路図:マイコン電源と信号線を10kの抵抗で接続 このようにサーボの信号線をマイコン電源でプルアップします。 また、電源投入後のマイコンの当該出力ポートは、Highレベルを出力するか、入力にするかのいずれかにします。

その他の実験結果と考察

動く方向

一瞬だけ動く方向は、信号のパルス幅を短くしたときの方向でした。標準のS3003やMicroの場合は時計回りです。

余談ですが、サーボを改造してモーターとポテンショを逆に繋ぎなおすと回転方向が逆になったサーボが作れます。

+か−か

プルアップの代わりにプルダウンでは駄目でした。プルアップしてあっても、マイコンがLowを出力するようになっていると一瞬動いてしまいました。

マイコンを使わず、サーボに直接電源だけを繋ぐ実験を行いました。信号線はそのまま開放にした場合、予めサーボの+端子にショートさておいた場合、−端子とショートさせておいた場合の3種類を試しました。結果、信号線を+とショートさせた場合のみ、一瞬だけ動く現象が起きませんでした。

まとめ

以上の事実より、次のような仕組みになっているものと考えると説明がつきます。

  1. サーボ内の制御回路は、信号がHighからLowに遷移する瞬間にモーターを駆動する。
  2. 電源ON直後、制御回路は「今まで信号がHighだった状態」にある。
  3. 電源ON後に信号線がLowかオープンの状態になると、極めて短いパルスが1個だけ入力されたことになり、位置信号のパルス幅を短くしたときの方向に回る。
山口 辰久