実験用に無限回転用のサーボが欲しかったので、ネットで調べてみたところ、SG90を改造すればOKということなので試してみた。
手持ちはSG92Rというハイパワーバージョンだったけど、基本は同じで、ネットで一般的に公開されているより若干楽な方法で実現できたので、紹介。

分解方法はネットにあるとおり、底部のネジを4本外すと、上部が外れる。

SG90ではギアに物理的に角度制限ストッパーがついているらしいが、SG92Rにはもともとなかった。なのでこの部分の改造は必要ない。

両面のシールを剥がすと、下部の蓋を外すことができる。これでモーター部分がむき出しになる。

角度を検出するための可変抵抗がある。一般的な改造はこの可変抵抗を取り除き、2.5kの抵抗を2本つけるというもの。
でも、もとから抵抗があるのに、取り除いて、またつけるというのも無駄な気がする。まずは中央位置を探す。普通に「中央っぽい」位置なので、真ん中のピンと端のピン(どちらでもいい)の抵抗が2.5kあたりになるのを確認する。2.5kから極端に離れた抵抗値だったら180度回せば、たぶんOK。

この位置でホットボンドで固定してしまう。
そして真ん中の穴をドリルなどで広げてしまう。
あとは、元通り組み立てればOK。
原理としては、抵抗値を固定にすることで、いつまでたっても目的位置に到達しない状況を作って、無限に回転させるということっぽいので、プログラムについてもその挙動を思い浮かべて書けばOK。
つまり、つねに中央位置(90度)が返ってくるモーターになったということなので、n<90 の値を設定すれば反時計回りで回転しつづけ、n>90の値を設定すれば時計回りで回転し続ける。n=90なら停止する。
ただし、改造時に若干の誤差がある場合は、この停止する数値90が91になったり89になったりしている可能性があるので、どの角度を指定すれば止まるかは、実際に試してみる必要がある。
また、90に近い値を指定した場合、ややゆっくり回転するようなので、2段階程度のスピードコントロールは可能のようだ。
コメント