ラジコンの自動運転化基板はOKでしたが、やはりプログラムにはまだまだ改良の余地があります
1.チェック
1.1 4ch全てのPWM信号スルー
前回の記事で作ったプログラムを少し修正したもので以下の様に実験しました。
してみました。
図1:PWM信号は4ch全てで出力されていました!
動作を確認した所、さらに意味不明な挙動をしています!?
何故かフロントステアリングをプロポで操作するとスロットルサーボも反応しています⁉
図4:サーボモーター3個取付
1.3 入出力PWM信号の確認
サーボモーターの挙動がおかしい原因を調査する為、ArduinoMicroに入力した信号をオシロスコープで測定した結果を図5に、ArduinoMicroで再現したPWM信号をオシロスコープで測定した結果を図6に示します。
図5と6の出力波形が色々違いすぎてどこから突っ込んで良いのか分かりません
○突っ込み①:図5と図6の周期が全然違う(図5:15ms、図6:20ms)
○突っ込み②:パルス幅・・・は同じ?くらいでした
○突っ込み④:出力電圧が全然違う(図5:3V、図6:5V)
○突っ込み⑤:図6の周期が安定しない(18~22ms)これがプルつく原因か!?
2. まとめ
1.3の結果より、突っ込み⑤「ArduinoMicroから出力されるPWM信号の周期が安定しない」の原因が良く分かりません。
電源ノイズか?
割り込みを多用したのがサーボ処理に影響しているのか?
激安ArduinoMicroの発振子がだめなのか?
やはりプログラムの問題か?
取りあえずプログラムを修正してみます
励みになりますのでよければクリック下さい(^o^)/