かみやんの技術者ブログ

主にプログラムの話です

ノイズ対策の勉強

もやねさんが、ノイズ対策をやっているとのことで、ずっと気になっていたがやれていなかったノイズ対策の勉強をしてみました。

とりあえず、Amazonで「電子技術者のためのノイズ対策」とやらを発注。が、来るまでに時間があるので、ネットで探してみた。

電子技術者のためのノイズ対策の基礎と勘どころ

電子技術者のためのノイズ対策の基礎と勘どころ

TDKノイズ対策の基礎

とりあえずこのTDKのPDFを読んでみた。「ロボット創造設計」かなんかにもノイズ対策の話があった気がするが、その本は引っ越ししてから大分経つが未だ段ボール箱の中。

毎日ノイズについて考えているが、ブログにまとめる方が整理がつくなと。上記PDFより。読んだメモ。

計測、推定フェーズ

  • 系統的ノイズ解析フローチャート
    • 高いノイズレベルの発生
    • ノイズは放射性か?伝導性か?両方か?
    • スペクトラムアナライザで観測
    • ノイズのタイプを調べる
      • 周波数範囲
      • スペクトラム(広帯域ノイズ、狭帯域ノイズ、インパルス的)
      • 時間変動(定常的、ランダム)
    • ノイズの原因の推定(部品素子から発生?伝搬経路に起因?その他?)
    • コモンモードか?ノーマルモードか?
    • 対策手法を選ぶ

スペクトラムアナライザを使えと書いてあるけど、そんなの持ってないな。オシロスコープは、秋月で買ったStingray(これ)だけど、EasyLoggerというロギングソフトが付いているのだが、今調べたら、スペクトラム表示機能はなさそう。FFT変換するだけなんで、そのぐらいの機能つけてくれよ。というところだ。一応、ヘルプのFeaturesをみたらCSV出力機能があるようなので、自分でスペクトラムビューアとかは作れるな。や、Excelとかにあるのかな。
追記:げ、EasyScopeの方のヘルプを見たらFFTビューがあると書いてあった。なかなかよいぞStingray。

あと、ノイズが放射性か、伝導性か?とあるが、どうやって調べるのだろうか。ループアンテナとかを自作すればよいのかな。ループを作れば電磁波をキャッチできるんだよね。アンテナで放射性のノイズが大きければ放射性、小さければ伝導性ということでいいのかな。

コモンモードか、ノーマルモードか?は、どうやって判別するのか。信号線の往復の2経路をオシロスコープでみて、同相ならコモンモードということかな?

対策

  • ノイズ対策の種類
    • 配線レイアウト(電源系と信号系の分離、ノイズに強いパターン設計、インピーダンスマッチング)
    • グランディング(1点接地、多点接地)
    • シールティング(筐体のシールディング、回路・部品のシールディング、ハーネス・ケーブルのシールディング)
    • フィルタリング(AC電源ラインでの対策、ハーネス・ケーブル部での対策、基板上・信号ラインでの対策、基板上・DCラインでの対策)

上記4つに分類されているが、上記に書いていないが回路基板間の配置もレイアウトに含まれるだろう。
一番楽なのは、配置レイアウトだろう。グランディング、シールディングも割と楽だな。フィルタリングは、フェライトビーズが一番手軽か?あと、よく書いてあるフィルタ回路が「コモンモードフィルタ」(ここ)か。しかし、これは面倒そう。

Aibiは、回路を置くスペースはたくさんあるので、まず、配置レイアウト、配線レイアウトを考えた方がよいな。
グランドは、シグナルグランド(基板のGND)とフレームグランド(筐体)とアース(地面)の3段階あるとPDFに書いてある。AibiはフレームをほぼABSで作ったのがよくないのかな。天板がアルミ板なのでそこをフレームグランドにするかな。フレームグランドと地面も導線でつなごうかな。どうも、つくばチャレンジのときに現場で誤動作したのは、車で運ぶ時にABSと座席シートの摩擦で静電気がたまったんじゃないか?というのも考えている。
シールドは、シールド線というのが確か売っていたよな〜と思って千石をみてみたら、シールド布テープ 389円これ)というのがあったので早速発注してみた。
あと、シールディングとしては、基板ごとにアルミや鉄の箱にいれるとよいらしい。(鉄板は磁力を反対側まで通さないからOK、アルミは磁力は通すけど、電磁波の場合はアルミの表面で電流に変わるのでOKという認識でよいのか?)
フィルター系はとりあえず、保留。

問題

現状、つくばチャレンジの現場で暴走したのは、(a)マイコンからモータドライバへの信号にノイズがあって暴走。
もう一つ、ロータリーエンコーダが正確に計測できていないのは、(b)モータードライバが制御しているPWMの大電流ON/OFFでグランドが揺れているか、(c)スリットのありなしを見ているフォトインタラプタからマイコンへの信号線でモータまたはモータドライバから放射ノイズを拾っているのではないか。
と思っている。現状、オシロスコープとかで見ていないので分からないが。

判別

(a)であるかどうかの判別は、マイコンから出たところの波形を計測、モータドライバに入るところの波形を計測で分かるのかな?
(b)であるかどうかの判別は、どうするのだろうか。グランドが揺れるというのは、コモンモードノイズだから、信号線の往路と復路の波形を見ればいいのかな?
(c)は(a)と同様にフォトインタラプタから出たところの波形計測、マイコンに入るところの波形を計測で分かるかな?

対策

(a)や(c)は、信号線をシールドすればよいかな。(b)は、フレームグランドに接地、アースに接地というのをやってみよう。

ま、その前に、問題が発生している証拠をとるためにいろいろオシロスコープでみてみよう。

あ、そう言えば久しぶりに秋月と千石のHPをみたが、リニューアルされているのね。秋月は、ユーザ登録できるようになっているし。(しかし、クレジット決済はまだないのね)
で、オシロスコープの使い方が間違っていることに気づいた。いままでプローブを回路に当てていたのだが、GNDは接続しなくていいのかな?と不思議に思っていたが、GND用のワニ口クリップをプローブにつけるのか!(ここ)全然、知らなかった(汗)。今までよく計れていたな。