NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

ラジコンをArduinoで自動運転!その11(DSO Nanoで基板チェック②)

イメージ 1
 前回に引き続き基板のチェックと、サーボモーターの動作確認しながらのプログラムの修正を行いました!
 ラジコンの自動運転化基板はOKでしたが、やはりプログラムにはまだまだ改良の余地があります

1.チェック

1.1 4ch全てのPWM信号スルー
 前回の記事で作ったプログラムを少し修正したもので以下の様に実験しました。
プロポ受信機(R304SB-E)からPWM信号出力ArduinoMicroに入力→測定→ArduinoMicroで再現したPWM信号出力?オシロスコープ(DSO Nano v3)で測定
 してみました。
 測定の結果、取りあえず図1の通りPWMっぽい矩形波が出力されていました。
イメージ 2
図1:PWM信号は4ch全てで出力されていました!

1.2 実際にサーボモーターが動くか
 ArduinoMicroから出力されている信号で実際にサーボモーターが動くかチェックしてみました。
 かなり動きが不安定で常にプルプルしていますが一応プロポで操作出来ます。
 プログラムに改良の余地有りです。
イメージ 3
図2:サーボモーター1個取付
 
 フロントステアリング用サーボモーターにさらにスロットルアンプ用の出力に動作確認用サーボモーターを取付けて動作チェックしてみました。
 図3の様に一応動いていますがさらに挙動があやしくなってきました
イメージ 4
図3:サーボモーター2個取付

 フロントステアリング用サーボモーターと、スロットルアンプ用の出力に動作確認用サーボモーターに続き、荷台用サーボモーター取付けて図4の通り動作チェックしてみました。
 動作を確認した所、さらに意味不明な挙動をしています!?
何故かフロントステアリングをプロポで操作するとスロットルサーボも反応しています⁉
イメージ 1
図4:サーボモーター3個取付
 
1.3 入出力PWM信号の確認
サーボモーターの挙動がおかしい原因を調査する為、ArduinoMicroに入力した信号をオシロスコープ測定した結果を図5に、ArduinoMicroで再現したPWM信号オシロスコープ測定した結果を図6に示します。
 図5と6の出力波形が色々違いすぎてどこから突っ込んで良いのか分かりません
○突っ込み①:図5と図6の周期が全然違う(図5:15ms、図6:20ms)
○突っ込み②:パルス幅・・・は同じ?くらいでした
○突っ込み③:デューティーが全然違う(図5:D比7~13%、図6:D比5~10%)
○突っ込み④:出力電圧が全然違う(図5:3V、図6:5V)
○突っ込み⑤:図6の周期が安定しない(18~22ms)これがプルつく原因か!?
イメージ 5
図5:ArduinoMicroに入力した信号をオシロスコープ測定した結果
 
イメージ 6
図6:ArduinoMicroで再現したPWM信号オシロスコープ測定した結果

2. まとめ

 1.3の結果より、突っ込み⑤「ArduinoMicroから出力されるPWM信号の周期が安定しない」の原因が良く分かりません。

 電源ノイズか?
 割り込みを多用したのがサーボ処理に影響しているのか?
 激安ArduinoMicroの発振子がだめなのか?
 やはりプログラムの問題か?
 取りあえずプログラムを修正してみます
 
イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ラジコンをArduinoで自動運転!】目次に戻る