見出し画像

【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を入手していたので、こちらを使って見ました。
すると、どうでしょう。

何事もなく正常動作します。

画像1

確かに、たまに少し引っかかる動作をすることはありますが、実用レベルできちんと動作しています。
次に進もうと思っていましたが、よく見ると少し問題があります。

針金で固定すると、斜めになります。
スペックシートを見てみます。

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 #サーボ

この記事が気に入ったらサポートをしてみませんか?