サーボモータでステアリング機構を製作する
サーボモータ搭載場所を決める
まずは、どこにサーボを搭載するかあれこれ頭を捻る。
このあと、マイコンやら電池やらモータドライバなどを搭載するので、あまりサーボで場所を取りたくないな。。
ということで、タイロッドよりもフロント側にサーボを搭載することに。
イメージとしては、下の写真の黄色の点線枠の中に納めたい。
構造検討
てなワケで、いろいろと構造を考えてみましたが、結局こんなものを作ってみることにしました。
材料は、タミヤのプラ棒 5mm角と結構しっかりとした針金。あとは、M2のボルト、ナットとアロンアルファ、ファスナー(全部、家に転がっているもの。。)
ステアリングリンケージというのか、なんというか正確な呼び名はよくわかりませんが、とりあえずサーボとタイロッドを何らかの機構で連結しないとです。
また、サスペンションの上下運動に対して、ステアリング部がフレキシブルでないとダメなので、普通はボールジョイントみたいなもので連結するのでしょうが、ちょうどよいサイズの部品がジャンク箱(家族から見たらゴミ箱)を探しても見つからず。
他の人はどうしているのかと思いネットで構造を調べたら、タイロッドに針金を半田付けしている人が結構いましたので、参考とさせていただきました。
サーボの位置や固定方法は皆さん十人十色ですが、私のは、省スペースで結構良いかも。(自画自賛)
完成
勢いで作ったものだから、作業写真は全く撮っていないですので、、いきなり完成写真。
斜め上から。
リア側から。
フロント側から。
まとめ
仕事が忙しかったり、コロナになったりで、作業が進まなかったですが、何とか一番面倒なステアリング機構を終わらせました。
最後に簡単にESP32側からサーボを制御してみます。
とりあえず、配線は超適当。
動作確認用の超簡単なプログラムを書き込みます。開発環境はArduino IDEです。
#include<ESP32Servo.h> //esp32でサーボを使うためのライブラリをインクルード
Servo myServo;
void setup() {
// put your setup code here, to run once:
myServo.attach(5); //サーボ制御用のGPIOを5pinに設定
}
void loop() {
// put your main code here, to run repeatedly:
myServo.write(90); //90°回転 = 起点
delay(2000);
myServo.write(60); //60°回転 90°に対し、マイナス30°回転
delay(2000);
myServo.write(90); //起点に戻す
delay(2000);
myServo.write(120); //90°に対して、プラス30°回転
delay(2000);
}
一応、動作は問題なし。起点に対して、±30°ぐらいがちょうど良さそう。(最初に±90°までやったら、ぶっ壊れそうになりました。。)
コメント