ジャイロコンパスのノイズはどこから?
見たところジャイロの出力にノイズが重畳しているのはわかりました。ただ、実際のところどれくらい影響が出ているのか調べてみます。
実験用ロボのジャイロコンパスは、C#で作ったコンソールからリアルタイム(100mS周期)で読み出すことが出来ます。
画面左下のCOMPASSにはジャイロコンパスの方向を表す数値が表示されます。左のリセットボタンをクリックすると0になり、右回りで+、左回りで−の数値になります。この数値はジャイロコンパスの数値を1/100にして小数点以下1桁まで表示させたものです。
写真の状態はリセットから右回りに手動で90度ほど回転した状態です。470くらいで90度(つまり内部数値では47000)です。左回りでは-470くらいです。
その右隣のGYROはジャイロセンサのAD変換値です。単位は4.9mVです。
テストしてみると、モーターを回していないときでも、ジャイロコンパスの数値があまり安定でない感じがします。30秒で50くらい変化することもあります。また、全く変化しないときもありでどうもノイズっぽいです。
そこで、ああ、これかもとPSDへの給電をやめてみました。安定です。かなりパルス的に電流を食っているらしくこの辺が不安定な問題の一因かと思われます。
これで静止時にはかなり安定になりました。リセット後のコンパスの数字は0からほとんど変わりません。ただし、数分するとドリフトが始まるのか変動してきます。ともかく短期的には良さそうです。
そしてモーターです。
モーターノイズはまだ取れません。安定になったジャイロコンパスを読むと、モーターが回転時にはコンパスがマイナス方向にずれていくようです。
だとすると相対的にプラス方向(右回り)のオフセットが働くので、クランク走行の時のような誤差が生まれるのかもです。
電気的なノイズは、残念ながらブレットボードではきちんと対応するのが難しいようです。モーターノイズも電源から回り込むのか、はたまた配線からか、機械的振動なのか、モーターからなのか、過電流気味のドライバの保護回路からなのか・・・このへんちゃんと対応するには、ユニバーサル基板で引き回しに気を使った回路を組んだ方がよいでしょう。
ちょっと考えましょう。
« ジャイロコンパスの問題点を考える | トップページ | ジャイロコンパスのまとめ »
「ロボット作ろう」カテゴリの記事
- Raspberry Pi3でturtlebotを動かしたいのだけど(2016.06.11)
- STM32F4のAD変換トラブル(その2)(2013.03.29)
- TrueSTUDIOからEclipseへ乗り換える(拾遺)(2012.07.14)
- TrueSTUDIOからEclipseへ乗り換える(その3)(2012.07.13)
- TrueSTUDIOからEclipseへ乗り換える(その2)(2012.07.07)
コメント