「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



昨日の原因不明だったノイズの件。判明。
http://brown.ap.teacup.com/nekosan0/2126.html


各部分ごとに動かしてみたところ、やっぱり
LCDのバックライトの輝度調整要のPWM信号
がノイズになってたみたい。

LCDシールドを載せたArduino-Uno基板だけを動作
させて、VccとGNDにオシロ当てたら…



こんなノイズがくっきり!矩形波の形で、40~50mV
くらいのノイズ。

んで、これを元に、別のArduinoやオペアンプとかに
5Vを供給すると、デカップリングコンデンサとかの
影響で、490Hzの三角波が出ちゃうってことみたい。
なるほど。

そんなに大電流を流してるのか。LCDのバックライト。
白いバックライトだからなのかなぁ。


というわけで、ひとまずPWMによる調光を止めて、
付けっぱなしに。Arduino-Uno基板上のシリーズ
レギュレータから5Vを作り出し、もう一つの基板
(DDSファンクションジェネレータ)と、オペアンプ
に電源を供給。

  →LCRフィルターを通したり、通さなかったり
   のパターンを織り交ぜて


そしたら、オペアンプとかの電源ラインのAC成分が、

こんなですよ。こんな。

あぁ、ようやくリプルノイズが綺麗に消えた。


もちろん、この電源を元にして、sin波を入力して
クリッピング回路を通った波形は、崩れのない
綺麗な波型になった。シメシメ。これが欲しかった
のだ。


原因がPWMとバックライトにあるとわかった以上、
もしかして、USB給電とか、スイッチングACアダプタ
とかでも、それなりに動くんじゃね?と思って、
試してみることに。

まずは、PCのUSB給電で動かしてみる。

USBから取り出しただけの電源だと、



こんな風に結構なノイズが載ってるんだけど、
これをLCRフィルターに通すと、



イイカンジに綺麗に。まぁ、PC側の処理負荷の変動
で、結構低周波のノイズが載っちゃうんだけど、
まぁ、それはそれ。

とりあえずこれで動かしてみると、小信号入力時まで、
それなりに整った波形が得られることが判明。シメシメ。


次、秋月製スイッチングACアダプタ。LCRフィルタ無し
だとこんな。



それが、フィルターを通すと



こんな具合。まぁまぁイイカンジ。

動かしてみる。気になる小信号時の出力は、



こんな感じで、FFT掛けると、



確かに400Hzのところに信号が出てる…んだけど、
650Hzくらいのところにもなんか出てるな…


このノイズが、許容範囲内かどうかを見極める。

今回はADCは8ビット精度で、Vrefは5V。ということは、
  5V÷256 ≒ 20mV
がサンプリングの分解能。丁度さっきのグラフの
小信号時が分解能ギリギリの波形ってことになる。

実際に扱う波形は、これよりも大きいはずだから、
ノイズよりも充分優位に大きい信号として読み取れる
はずだ。よし。

ちなみに、650Hz付近のノイズの原因はよくわからない
んだけど、まぁ、影響しない程度のノイズなら、放置
してもいいでしょう。


ちなみに、動かしてるところの風景。



左がArduino-UnoとLCDシールド。上はArduino互換基板
で動いているDDS-FGと、それ用のアセンブラプログラム。
ブレッドボードはオペアンプで組んだ4000HzのLPFと
ダイオードのクリッピング回路。


とりあえず、躓いていたところは解決できたので、
この2つのオペアンプだけじゃなく、ECMからの入力を
増幅したり、音量調整したりする部分とかも組み込んだ
回路図を、シールド化してみる方向で考え始める。

久々にPCBEを取り出して、Cタイプ基板サイズの上で
部品を並べていって、Arduinoのシールド形状にもって
いけるかどうかを確認してみよう。

LCRフィルタを載せなければ結構広いんだけど、
LCRフィルタのコンデンサがでかいし、ギター入力用
のジャック(3,5mmmにしちゃっておいて、変換プラグ
を噛ます目論見)も載せないといけないし、結構な
面積がとられちゃうんだよな。

あと、バックライトは、Arduinoに頼らなければ、
490Hzとか低い周波数じゃなく、もっと高い周波数
でPWM調光すれば、フィルタでガンガン削れるん
だけどな。


なんにしても、一歩進んで、ちょっとウレシイ。
とにかく、回路周りはとっとと済ませて、どっちか
といえば、ソフト周りのチューニングに凝りたい
んだよな。



http://www.asahi.com/articles/ASF0TKY201312250055.html
ほう。もう半分に半減してるのか。あれから30年
経ったのか。


http://www.rootprocad.com/
こんなCADソフトがあるんだな。ちょっと試して
みたい。


http://hackaday.com/2013/12/23/the-worlds-first-autonomous-flapping-mav/
ハチドリみたい。



コメント ( 0 )




やっぱり、ノイズを発生させている原因がワカラナイ。

例の
http://brown.ap.teacup.com/nekosan0/2108.html
この回路。スイッチングACアダプタからのリプルが
消しきれずに、そのノイズが悪さしているものと
思ってたけど、違うみたい。


今日は、Arduino-Uno基板上のレギュレータを使って、
リプルを取り除いた5V電源を使ってみた。電源オン。
うん。リプルの少ない、5Vの綺麗な電源が出てくる
ことを確認。

コイツから、DACやオペアンプの電源を取り出して、
回路全体を動作させてみると、DC5Vの出力に載る
交流成分はこんな感じ。



ん?駄目ジャン。

コイツにFFT掛けるとこんな感じ。



500Hzくらいの三角波だから、当たり前だけど
こんな風に、500Hz、1500Hz、2500Hz…と、奇数倍
の周波数成分。

例によってLCRフィルターを掛けてみる。



かなり軽減したものの、綺麗に削れたってほど
じゃぁないなぁ。

これで出力してみると、やっぱり小信号時に波形
がおかしくなっちゃう。うーーーーん。


オシロをいろんなところに当ててみるも、どこが
原因になっているのかがイマイチ判らず。

波形的には、チョッパ回路から発生しているノイズ
っぽい感じに見えるんだけどな。


原因になりそうなところを洗い出してみる。

(1)LCD+コントローラ部分
(2)DDSファンクションジェネレータ部分
(3)DAC回路部分
(4)オペアンプ部分
(5)その他

最初にアヤシイなぁと睨んだのは(4)。
小信号時にゲインが0.5倍くらいになっちゃう
から、不安定になってるのかな?と。

でも、今回使ったNJM2732はユニティーで不安定
とは書いてないな。これが原因じゃないみたい。
っていうか、電源線にまでノイズを還流させる
ほどの原因にはならないだろう…しかも三角波は。


次に考えたのは(3)のDAC回路。といっても、
IC1個で作った回路だから、やっぱり電源線を
汚すほどのものじゃぁないだろうと。


次は(2)のDDSファンクションジェネレータ部分。
ここは単にSPIでDAC-ICに信号出してるだけだから、
発振源ってほどのノイズ出したりしないだろう…


(5)として考えられるのは、主にスイッチング
電源と、Uno上のシリーズレギュレータ。
ここは、回路上はあまり考えにくい…


残るのは(1)のLCDとコントローラ。コントローラ
は単なるArduino基板だから、500Hzくらいの三角波
を出力するほどとは思えない…。

とすると、LCDのシールド周りってことになりそう。

LCDシールドが500Hzくらいで発振するとしたら、
その原因はどこだ?

LCDの表示ドライバが、内部でどんな電圧を生成
しているんだろう?LCDは負電源が必要だから、
なんかノイズ源になるような動作してるかも
しれない…。

一方、バックライトは、回路図を眺めるかぎり、
シリーズ抵抗で電流制限掛けているだけっぽい。
ぽいけど、ちょっと違う。

D10端子のPWMで明るさ調整出来るんだった。
D10のPWMの発振周波数は490Hzだな。これか?

そもそも10mVレベルのノイズを振りまくほど
なのか?
そして、三角波のノイズを出す原因になるのか?
周波数はバッチリな気はするんだけどな。


とりあえず、LCDバックライトのPWM調光をやめて
みようか。それでノイズが消えたら、これまで
一体何をなやんでいたのやら…だよな。

バックライトは白だからVfデカいし、面積もある
から、結構電力使ってるだろうことは想像できる
んだけど、これが本当に原因なのかなぁ…

とりあえず、実験してみよう。



コメント ( 0 )