• ベストアンサー

Arduinoのアナログ入力とシリアル通信

Arduino UNOにシールドを乗っけて電圧をアナログピンで測っているのですが, シリアルモニタに表示される値に謎のノイズ?が乗ります. でもノイズだったら+と-どっちにも触れそうなものなのに, たまに+側に揺れるだけというのもよくわかりません. 一応パスコンを挟んだり移動平均取ったりしても改善されなくて, 最終的にシリアル通信するときの値の表示がおかしいのか?ってなったのですが なにか,こういう原因じゃないのか?とか改善案とか,教えて頂きたいです. ふわっとした質問でごめんなさい. ご回答よろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.1

A/D変換は電源電圧(5V or 3.3V)を基準電圧(最大値)として変換が行われます、電源電圧が低下するとA/D変換値が上昇します USB電源は容量が少ないので、電圧が負荷により不安定になりがちです、容量のあるACアダプタを使用したほうが良いと思われます 又はA/D変換中は外部機器を止めて電源電圧変動を少なくして下さい またCPUの動作を止めてA/D変換を行うと、CPU自体のノイズを減らすことが出来ます。 データーシート24.6雑音低減機能 参照 http://www.avr.jp/user/DS/PDF/mega88A.pdf 見当違いかも知れませんが参考にして下さい。

nyanpy0515
質問者

お礼

やはりUSB電源では安定しないですか・・・ 前回の質問に引き続き,ご丁寧にありがとうございました. ACアダプタの購入を検討します.

その他の回答 (1)

回答No.2

> たまに+側に揺れるだけ http://arduino.cc/en/Main/arduinoBoardUno のページに書いてある通りではないのでしょうか? ページの中ほど: > By default they measure from ground to 5 volts マイナスを検出するようになっていないだけ。→ +しか出ない。

nyanpy0515
質問者

お礼

ご回答ありがとうございます. +側にしか揺れない,というのは, 0[V]以上の電圧を測定している時に値がたまに少し大きめに出るということでして, 小さめに出ることが無い,という意味というかなんというか・・・ 説明が分かりづらく申し訳ございませんでした. おそらく原因は別に回答を頂いたUSB電源の不安定さのため, 参照電圧が下がってしまうからということだと思われます.