【SALZ製作日誌】2020.07.13 またもやサーボにはまる。
GitHubで開発環境を整え、ソフトウェアに着手しました。
SALZ2で、ESP32用のプログラムは既にあるわけだし、M5Atom用の修正をちょこちょこすればすぐに組みあがってしまうだろう。と呑気に構えておりました。
おおよその配線を済ませ、まずはサーボの調子から見ることにしました。
まず最初のつまづきは、M5AtomではArduinoのサーボライブラリは使えなかったことです。
今までは、サーボ関連のライブラリ関数を用いて、角度を指示していましたが、これが使えなくなったのです。
サーボモータに対して、PWM周波数を指定して、パルスを送ってやる必要があるらしいです。
この辺り、もっとじっくり勉強したい気もしますが、後回しにしておきます。loop関数で繰り返すようにしました。
ledcWrite(srv_CH0, 3000);
delay(3000);
ledcWrite(srv_CH0, 6000);
delay(3000);
これで、テストしてみます。
次のつまづきは、配線です。
装置を組んでテストプログラムを実行しましたが、動きません。
配線をよく確認した所、リレーの制御ピンがG22にさすところ、間違って3V3にささっていました。ピンを挿し直すと、ようやく動き始めました。
この時の動きはこんな感じです。
時々動作が怪しくて、指定角度を示しません。しまいには、音だけ頑張っていて、動かなくなりました。この動作、実はSALZ1/2でも起きていて、気にはなっていたのですが、それなりに動くのでほったらかしにしていました。
しかし今回も正常に動かないとなると、これはなかなか大変な話になります。
動きのある電子工作にサーボは不可欠です。
SALZの場合はゆるい排水弁用に使っているため、どうしてもうまく動作しない場合は代替案がなくもありません。
でも、ロボットを作って、関節部分にサーボを使いたいと考えてたとしたら、サーボの誤作動は命取りです。
足の関節だったら、まともに歩くこともできなくなるでしょう。
困りました。
困った時の解決方法。
サーボを変えてみます。
SALZ3を組み始めたとき、手元にあったミニサーボ、RB-50を使いました。ろくなテストをせず、さっさと筐体にくくりつけました。
その後、メルカリでSG-90を入手していたので、こちらを使って見ました。
すると、どうでしょう。
何事もなく正常動作します。
確かに、たまに少し引っかかる動作をすることはありますが、実用レベルできちんと動作しています。
次に進もうと思っていましたが、よく見ると少し問題があります。
針金で固定すると、斜めになります。
スペックシートを見てみます。
RB-50:
外形:21×11.5×22.5mm
SG-90:
外形:22.2x11.8x31mm
|11.8 - 11.5| = 0.3mm
0.3mm大きくなっています。
針金の掛け方を変えて、側面に通さない方法をやってみます。
でもやっぱりこのままではダメかも。
テストプログラムを走らせてチェックを進めておりますが、装置がプログラム通りに動作していません。
というより、すぐにリセットが掛かってしまうようです。
なんとなく原因は感づいているのですが、どう対策したらよいのかわかりません。
しばらく、モヤモヤが続いていたのですが、ようやく糸口が見えてきたかもしれません。
次回の日記では解決しているとよいのですが。。。
#盆栽 #Bonsai #自動潅水装置 #電子工作 #SALZ #M5ATOM #M5Stack #Arduino #ESP32 #サーボ
この記事が気に入ったらサポートをしてみませんか?