プログラミング不要!アナログ回路で安くサーボモータを動かす手法
突然ですが、みなさんはプログラミングできますか?私はあまりできません。
それでもサーボモータを制御できました。
動機
プログラミングの知識が全く無い状態で電装班所属になったところ、「555タイマでPWM波作れば動くんじゃない?」とチームの先輩(モフさん:@ten8612)からアドバイスをもらい実行した。
この手法は以下のメリットを狙える。
- プログラミングの勉強なしでサーボを制御できる
- 琵琶湖の環境でも耐えられるくらいに頑丈
- 安いのでスペアを用意しやすい上にサーボにお金を回せる
見つけた資料
-555でRCサーボ- その1ブレッド・ボードでRCサーボ(第1回) (キットと初歩の電子工作 Kits and Kids)
-555でRCサーボ- その1ブレッド・ボードでRCサーボ(第2回) (キットと初歩の電子工作 Kits and Kids)
エレキジャック休刊に伴い資料としたブログが消滅していたけれど、アーカイブはあった
ありがとうエレキジャック
ありがとうインターネットアーカイブ
原理
上記したエレキジャックの記事に書いてある内容を圧縮すると
・サーボから伸びている3本のリード線は電源、GND、制御信号のためにある
・制御信号の幅を変えればサーボの角度も変わる
・タイマICを利用して発振回路を作り、それを利用して制御信号を出す → タイマIC「555」の使い方 | マルツオンライン
・信号の幅は抵抗の値に応じて変化する
詳しいことは555のデータシートを読んでください
回路を組む
回路図
資料としたページのアーカイブには回路図の画像が残っていませんが、私がその画像とLMC555のデータシートを参考にKiCadで書き直した回路図です。
回路図も画像も汚い
なお当初は減圧対策として高い電圧の電源を使用し、故障しないようレギュレータ(図中U2)を挟んでからサーボに電源を供給しようとしていましたが結局使っていません*1
必要なもの
- タイマIC LMC555
- トランジスタ 2SC1815
- 抵抗 4.7kΩを3個
- 半固定抵抗 10kΩを1個
- コンデンサ 0.1μFを2個、0.22μFを1個、220μFを1個
- LED*2
- 10KΩ/軸のジョイスティック*3
- ユニバーサル基板
これらをマルツでショッピングカートに入れていったらこうなりました
これに浅草ギ研のジョイスティックの値段を足しても3000円しない(はんだ、配線別)
ちなみに部品の半数は部室に落ちていたものを利用しました。
はんだ、はんだ吸い取り線、電線、半田ごて、ブレッドボードなどはご家庭もしくは部室のものをご利用ください。
ブレッドボード上で組んだ回路
これは最初は動かなかったのですがサーボが壊れていました
ブレッドボードが断線していたような記憶もうっすらとあります
高いサーボを壊したくないので、なぜか部室にたくさんあった500円のサーボを使った結果です。
リニューアルした?
ユニバーサル基板上で組んだ回路
抵抗値が本当にこれでいいのかわからなかったので2枚に分け、いざ抵抗値を変えたくなったら片側のみ作り変えれば良いようにしていました
もう少し配線を考えれば1枚に圧縮できると思います
あったほうがいいかなと思ってICソケットをつけましたが、別に無くても良さそうです。
つけると接触を確認する箇所が増えます
動作の様子(動画)
555タイマを用いたモータドライバによるサーボモータの制御 pic.twitter.com/2DK1QrS3XF
— ライ (@deciliterai) September 12, 2019
ジョイスティックの操作に応じてちゃんと動いています
この時に使用したサーボはKO PROPOのRSx2-Power H.Cです。
部室にあったものを使いました。
モータドライバが安い分サーボにつぎ込めます。
動かない場合のチェックリスト
・半固定抵抗の抵抗値を調節する
・サーボが壊れていないか確認する
・回路の断線を疑う
単純な回路だから動作不良も単純な原因を疑いましょう。
後輩に「はんだ多すぎ」と指摘された私は一見するとはんだが十分盛られているけれど実は断線している箇所に気づくまで一週間を費やしました。
モータドライバの接触が良くない場合のサーボモータの動作 pic.twitter.com/lT9SlWS80v
— ライ (@deciliterai) September 12, 2019
耐久時間
当時の私のメモによれば
機体に実装する電源を使用し730g・mmのトルクをかけサーボの稼働可能な時間を測定した。その結果、サーボモータは2時間30分角度を維持し続けた
だそうです。
なお実験で使用した電源は9V乾電池です
当時の写真がありました
たしか同期が3Dモデリングで色々描いて見栄えがいい鳥人間コンテスト応募書類を仕上げてきたため周囲から電装班も図を増やすようせっつかれ、この写真を貼った記憶があります。
この後「写真が汚い」とごもっともな指摘をチームメイトや顧問の先生からされたので撮り直しました。
トルクはたぶんペットボトルの重量とサーボのアームの長さから計算しています。搭載予定だった機体の尾翼重量はこのときわかっていないはずなので。
やり残したこと
TFや琵琶湖の気候に耐えられるかの検証
作り直して持っていこうかな。動作確認のために。
より大きいトルクをかける
フライト時に必要なトルクをかけた場合の稼働可能時間を測定したい。電源もそれに合わせて検討し直す。
HPA交流会での反応
電装部屋に持っていったところ「これで動くんですか?」「その手があったか」などの感想がありました。
耐久性や安定性を高めるための方法を質問したら様々な回答をいただきました。ありがとうございます。
・ノイズ防止にケーブルを三つ編みにする
・地震対策に使うようなジェルで振動対策を行う
・プリント基板にする
といった内容でした。
あと
ライさんの電装は今思い返しても感動ものだった…
— 河童の川流しそうめん (@WingsSaISKen) March 10, 2016
@deciliterai 飛行機に本来必要な信頼性とか考えたら、アレ以上のものは無いんじゃないかとも思います
— 河童の川流しそうめん (@WingsSaISKen) March 10, 2016
べた褒めしてもらいました。
参考資料
LMC555 データシート
-555でRCサーボ- その1ブレッド・ボードでRCサーボ(第1回) (キットと初歩の電子工作 Kits and Kids)
-555でRCサーボ- その1ブレッド・ボードでRCサーボ(第2回) (キットと初歩の電子工作 Kits and Kids)