SG90など回転角度180度に制限されている模型用サーボモータを360度回転するように改造してみるページ。
改造後は、スケッチによって、右回り・左回り、停止もするものの、回転時には、細かい角度指定はできなくなり、DCモータ同様、常に360度となる点に注意。
元に戻せなくもありませんが、その場合には、以後で切削加工する前の元の状態の歯車を他から持ってくることと、1点部品を外すのですが、外し方に気をつけ、差し戻す必要があります。
ただし、プラモ用サーボモータは、連続回転を想定していないでしょうし、モータが密閉されていることもあって、改造後は、作動後、比較的すぐに温かく(熱く)なるので要注意、長時間というか、数分間でも連続運転は避けるのが賢明でしょう。
もちろん、改造は、自己責任であり、改造後は、メーカー・販売店保証もなくなることは、当然、覚悟のこと。
これらを踏まえると改造する意味を見出すことができるケースは、あっても極々限られそう(手回し発電という手もなくもない?)。
Arduinoボード、サーボモータ、サーボドライバ、サーボドライバ用別電源、精密ドライバのプラスとマイナス。
今回は、ArduinoボードにUno互換機、サーボモータにはSG90、サーボドライバにはPCA9685、サーボドライバ用別電源(PCA9685は操作電圧の推奨は6Vらしい)には、PC用19V ACアダプタ+LM317安定化電源キットを併用、精密ドライバは、たぶん100均で買ったものを使いました。
使わなくても360度回転を確認できるのであれば、サーボドライバ(PCA9685)やサーボドライバ用別電源は必須ではありません。
その(サーボモータドライバ+別電源を使わない)場合、サーボ用電源5Vは、Arduinoボードからではなく、別に用意した方が動作が安定すると思われますが、ACアダプタ+降圧モジュールや9V電池+ブレッドボード用電源などサーボに安定して5V供給できれば、方法はなんでもよいでしょう。
プラスドライバはサーボのネジを外すため、マイナスドライバは、1点部品を外すために必要で後者については、必ずしも精密ドライバでなくてもよいですが、その方が無難。
改造方法は、YouTubeでもよく見かけるので参照するとよいと思いますが、一応書き留めておきます。
サーボ裏面のビスを4本外すと本体は3つに分離できますが、サーボホーンを取り付ける上側を外すと複数の歯車からなるギアが組まれています。
順番を覚えておいた上、これらを外していき、一番下の歯車を見ると表面に突起があるので、その突起をカッターやデザインナイフでカットし、削ります。
続いて写真にある銀色でワッシャーのようなリボンが交差したような薄い部品がハマっている軸があるので、精密マイナスドライバーなどでこじって、この部品を外します。
後は、元の通り、順に歯車をはめてフタを閉め、ネジを締めれば完了。
Arduino IDEサンプルスケッチSweepでもよいですが、16チャンネルサーボドライバPCA9685があるなら、Adafruit-PWM-Servo-Driver-Library、これを改造したArduinoとAdafruit 16-channel Servo Driverでサーボモーター多数制御を使わせて頂くとよいでしょう。
自身は、単体でSweep、PCA9685併用で改造版を使わせて頂き、後者では、[#define SERVOMIN 0]/[#define SERVOMAX 360]/[#define CENTER 180]としたスケッチを書き込み、動作確認を行ないました。
うまく回らない値もありますが、これで180以下と以上で回転方向が、シリアルモニタでの指定値によって回転速度・回転の滑らかさが変わり、別々に[t0][m0](t:[モータドライバ上の挿し込み位置]/m:[回転値])などとするか、まとめて[t0m0](mの引数はマイナス値でもよいですが...)などとすれば停止します。
なんかサーボの挙動が、おかしいなと思ったら、Arduinoボードのリセットボタンを押すことで改善することもあり。
ちなみにSG90の場合?他も?歯車が入っている軸の1本はすぐに抜ける構造なので分解・組付け時、紛失や歯車が付いた状態での抜けがないよう注意が必要。
なくなったか!?と思ってもフタ側に刺さっていることもあるので、その際は、要確認。
YouTubeなどで、たまにこうした改造動画を見かけていたものの、興味はなかったのですが、以前買ったサーボ10個セットの内、1個、1本だけビスがバカになっていた(はずが、なぜか今回気づけば、なんともなかった)ものがあり、これでならダメ元でやってみるのもよいかと思うに至りました。