夢はケモミミ美少女ロボを愛でること。
どうも皆さまはじめまして、20のSugiです。
突然ですが、サーボモーターは「角度やら力やらをフィードバックしてモーターの出力を変化させることができる、ロボの世界になくてはならないものである」ことはここにいらっしゃいます皆さまにとっては周知の事実かと思います。
では、「既製品のサーボモーターでは大きさがデカすぎて都合が悪い! ワイが作ろうとしているロボに最適な形をしたサーボはこの世の中には存在しないのか!」と悩んだとき、皆さまならどうなさるでしょうか? そう、サーボを自作しますよね?
ということで、今回はサーボの仕組みを理解つつ、さらに将来小型のサーボを作れるようにと、サーボの自作を行いました。
仕組みは以下の図の通りです。
今回は作りやすさ最優先でポテンショメーター(半固定抵抗)を用いたサーボです。
仕組みはとっても簡単で、
・ まずポテンショメーターb(入力値の設定用。本来ならPWM入力とかが行われる)の抵抗値をマイコン(今回はその辺に転がっていたNucleo-F446REを使用)が読み取り、
・ 続いてポテンショメーターa(出力値を読み取る用。角度と抵抗値が線形に比例してくれている。うれしい)の抵抗値をマイコンが読み取り、
・ その抵抗値の差によって目標角度と現在角度の差を計測し、
・ それを用いてモーターをPID制御
・ 最終的に出力の角度に反映する
というものです。
それをそのまま形にしたのが以下の写真。
……かなりでかいですが、模型なのでいいでしょう。
動きは良好。
青色の線は計測している値(出力値=ポテンショメーターaの値)、オレンジの線は入力している値(入力値=ポテンショメーターbの値)を示しています。
使っているギアボックスの精度(TAMIYAの工作用)やポテンショメーターそれ自体の精度(有効数字2桁くらい?)を考えたら、この追従性はなかなかなものかと思います。さすがPID制御。
あとはこれを小型化できれば、自分好みのサーボが作れますね! 死にそうな未来しか見えませんが!
ということで、サーボモーター自作の基礎を実践してみました。マイコンボード初学者の方などは、面白半分で作ってみてもいいかもしれません。
ではでは~