- ベストアンサー
PWM信号にノイズが乗る問題とは?
- PWM信号にノイズが乗る問題が発生しています。実験の結果、無負荷でのPWM波形にはノイズは見られませんでしたが、照明器具に接続した場合にノイズが発生しました。また、メーカーの調光器で接続した場合はノイズがなく、きれいな波形が得られました。
- PWM調光タイプの照明器具(蛍光灯)をArduinoで調光しようとしています。PWM信号の仕様は、信号電圧がVsignal(low)とVsignal(high)の間で変動し、Tperiod(cycle time)は1 msから10 msの範囲です。
- 問題となっているのは、PWM信号がLOWの時にノイズが乗ることです。実験を行った結果、照明器具に接続した場合にノイズが発生することが確認されました。回路図と波形データが添付されています。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
回答NO.6への補足の質問に対して以下に回答します。 ■質問事項1 >回答した回路ならばON時もOff時も出力インピーダンスが非常に低い について、「出力インピーダンス」を検索して、なんとなく意味が分かりました。 (1)そのことで、ノイズ波形が消えた理由が理解できていません。(すみません) (2)また、頂いた回路図と下記回路図をみて、出力インピーダンスの比較は どのように考えればいいのでしょうか? 回答>> まず、こちらの回路図とシミュレーション結果(http://yahoo.jp/box/hccWOB)をごらんください。 ノイズ源(NOIS source)をはさんで右側にトランジスタ1つのインバータを左側に提案した回路があります。ノイズ源(NOIS source)は60kHzで振幅を2V 0-pとしてそれぞれのインバータの出力に0.01uFと1kΩのシリーズ回路を介して接続されてます。またそれぞれのインバータの入力には相互に0.2msのディレイを持たせて1kHz、5Vの信号を入力してます。 シミュレーション結果の下段には左側のインバータの出力電圧V(pwmout-_inv)と右側のインバータの出力V(pwmout-_tr)を表示してます。 トランジスタ1石のインバータの出力V(pwmout-_tr)がHighの区間にノイズが乗ってるのがわかります。逆に左側のインバータの出力V(pwmout-_inv)にはノイズは乗ってないのがわかります。 これは右側のインバータの出力V(pwmout-_tr)がHighの時にはトランジスタがoffの状態ですから出力インピーダンスはトランジスタQ4のコレクタと12V電源間の抵抗R6(10kΩ)になりますので大きな値になってしまいますのでノイズが乗ってしまいます。一方左側のインバータ出力V(pwmout-_inv)はHighの時は出力トランジスタQ2がON状態になりますので出力インピーダンス(抵抗)は非常に小さくなります。また、出力がLOWの状態では両方のインバータ共に下側のトランジスタがONしますので出力インピーダンスは両方ともに非常に低いです。 つぎにシミュレーション結果の上の段にはそれぞれの出力のPWMout+とPWM-の間の電位差電圧を表示してます。こちらの信号はそれぞれ、Highの区間は下のインバータ出力のLOWの区間に、LOWの区間はインバータ出力のHighの区間に相当しますので、PWMout+とPWMout-_trの電位差信号V(PWMout+,PWMout-_tr)でLOWの区間にノイズが現れるというわけです。 ■質問事項2 各トランジスタのすべての足の波形を測定しました。 恐れ入りますが見て頂き、改善が必要なところがあれば教えて頂けませんでしょうか。 回答>> 信号波形を全て確認しましたが問題ありません。特に改善が必要なところはありません。
その他の回答 (8)
- xpopo
- ベストアンサー率77% (295/379)
すみません、間違えて他の質問トピへの回答をしてしまいました。NO.8は無視してください。
- xpopo
- ベストアンサー率77% (295/379)
回答NO.7の補足です。 まず最初に回路図とシミュレーション結果をこちら(http://yahoo.jp/box/s6jGeG)にアップしました。 回路の説明>> 回路図でスイッチはMYSWと書かれたシンボルです。シミュレーションでは1秒毎にONとOffを繰り返すようになってます。最初の1秒間はスイッチはON状態になります。そして次の1秒間でOff状態になります。 動作の説明>> SWがON状態では回路のXの電圧V(X)は0VになりますのでLEDには抵抗R2(350Ω)で制限された電流が流れます。(シミュレーションでは32mAも流れてますが抵抗R2を560Ωに変更して20mAに抑えた方が良いと思います。(電流の最大定格をオーバーしてる可能性があるため。)LEDの順方向電圧降下VFは約4V発生してます。(VFは赤色LEDの場合は1.8V程度になります。お使いのLEDが白色LEDであれば3~4V程度になります) 次に1秒経過後SWはOff状態になり回路のXの電圧V(X)は12.8Vに上昇します。この状態ではLEDのVFは約2Vに低下してます。その結果LEDに流れる電流I(D1)は0.1mAと非常に小さな電流になってます。このくらい小さな電流になるとLEDは暗いままです。 この状態では回路のXの電圧は12.8Vなので抵抗R2の電圧降下はVcc-V(x)=15V-12.8V=2.2Vと計算されますから抵抗R2に流れている電流は 2.2V/2kΩ=1.1mA。また、抵抗R3(10kΩ)に流れる電流I(R3)はV(x)が12.8VでVBEを0.6Vとして I(R3)=(V(X)-VBE)/R3=(12.8V-0.6V)/10kΩ=1.22mA とほぼ抵抗R2に流れる電流I(R2)と等しくなって、LEDには電流が殆ど流れなくなってるのが分かります。 なおベース電流IbはI(R3)に等しいので1.22mAこれはコレクタ電流Icが5V/1kΩ=5mAなので十分すぎる値です。スイッチングの場合はIbはIcの1/20もあれば十分ですので5mA/20=0.25mA程度に減らせます。抵抗R3を (V(x)-VBE)/Ib=(12.8V-0.6V)/0.25mA=48.8kΩ → 47kΩ に変更すればOKです。そうすればLEDのSWOff時の電流は0.1mAから更に小さくなります。
- xpopo
- ベストアンサー率77% (295/379)
回答NO.5の補足です。 もし、コンデンサの追加ではすっきりしないという場合はこちら(http://okwave.jp/qa/q8257154.html)で回答した回路ならばON時もOff時も出力インピーダンスが非常に低いのでノイズは乗らないと思います。
補足
xpopo様 ノイズが消えました!有難う御座います!! 抵抗は手持ちがなかったので、 全4.7kΩ -> 10kΩ 1.5kΩ -> 3kΩ に変更しました。 先日のご説明をちゃんと理解できていませんが、勉強したいと思います。 以下が照明器具を接続した時のPWM波形です。 http://imgur.com/65WFbp1 ■質問事項1 >回答した回路ならばON時もOff時も出力インピーダンスが非常に低い について、「出力インピーダンス」を検索して、なんとなく意味が分かりました。 (1)そのことで、ノイズ波形が消えた理由が理解できていません。(すみません) (2)また、頂いた回路図と下記回路図をみて、出力インピーダンスの比較は どのように考えればいいのでしょうか? http://imgur.com/3MmVOpX ■質問事項2 各トランジスタのすべての足の波形を測定しました。 恐れ入りますが見て頂き、改善が必要なところがあれば教えて頂けませんでしょうか。 測定点一覧 http://imgur.com/EwYLuHw 測定点(1)(E) http://imgur.com/bHHbEex 測定点(2)(C) http://imgur.com/ZLqjMSa 測定点(3)(B) http://imgur.com/LrlkaU4 測定点(4)(E) http://imgur.com/KwNIGQO 測定点(5)(C) http://imgur.com/KwNIGQO 測定点(6)(B) http://imgur.com/YhjqZ9v 測定点(7)(E) http://imgur.com/UIzXPOj 測定点(8)(C) http://imgur.com/n8j9k6P 測定点(9)(B) http://imgur.com/iR1SaE3 それでは、よろしくお願い致します。
- xpopo
- ベストアンサー率77% (295/379)
今晩は。回答NO.4へ補足していただいてようやく原因が見えてきました。 まず、測定方法がはっきりしましたので原因が見えてきました。最初に測定回路を確認すべきでした。 測定位置2ですが、これですと波形でLOWになってる状態はトランジスタQ1がOffの状態に対応します。この状態は抵抗R1(10kΩ)でPWMout+端子とPWMout-端子がショートされてる状況です。この状態では抵抗R1(10kΩ)には電流は流れてません。ということは観測される電圧は0Vでなければなりません。それにもかかわらず0Vを中心に最大振幅で0.5V(ゼロ・トゥ・ピークで)ほどの電圧が観測されてます(波形http://imgur.com/HWsXWkv)。 これは照明器具とつながれているPWMout-端子のラインに照明器具側からのノイズが誘導されているものと考えられます。ノイズの周波数は60kHz程度でしたから抵抗R1に並列に2700pF程度のコンデンサを接続すれば消えるでしょう。 すみません、最初の回答で電流が足りないと指摘しましたが間違ってました。 それから、オペアンプの場合で発振回路の場合は測定位置2の測定電圧がLOWの状態でノイズが乗らないのは回路条件から来てるようです。「測定位置2の測定電圧がLOWの状態」は発振回路の出力がHighに張り付いている状態に相当します。LM324のデータシートから出力がHighに張り付く時の電圧はV+-2になります。この状態での PWMout-端子 のインピーダンスは10kΩよりかなり小さくなってます。そのため、ノイズが小さくなっていると考えられます。一方、Arduinoにつけたオペアンプの回路はゲイン2倍の非反転アンプでした。この回路の出力がHigh(5Vの2倍の10V)の状態では出力電圧はArduinoの電圧を2倍に増幅してますからオペアンプの出力は10Vに張り付いている状態ではないので、発振回路の場合と少し状態が異なります。この回路の場合はArduinoの出力と12V電源の間にノイズが存在すれば「測定位置2の測定電圧がLOWの状態」でノイズが観測される可能性が考えられます。 以上から、monyo_monyoさんの最初の回路で PWMout+端子とPWMout-端子 間に2700pF程度のコンデンサを追加すればノイズは対策できると思います。
- xpopo
- ベストアンサー率77% (295/379)
今晩は。 回答NO.3への補足ありがとうございます。 まず、 (1) >■照明器具のGNDと接続していませんでした。 >今回は照明器具とArduinoとFETによる出力回路の間のGNDをすべて繋ぎました。 >その波形が下記になります。 >http://imgur.com/SvDsK3t この結果を見ると照明器具のGNDとArduino側のGNDをつないでも波形はあまり変わらないようですね。ということはGND間で変な電位差は無いということで余計な心配でした。 ただ、この波形もそうなんですが、LOWに変化した直後は完全に0Vまで落ちていないのが気になります。Arduinoの11ピンからの信号波形がどうなっているのか気になります。 それからオシロ波形でGNDレベルの位置がよく分かりません。左側の下のほうにある三角のマークの位置がGNDだと思ってましたがそれで合ってますか? (2) >■また、下記の矩形波発振回路を別途作成して、照明器具と同じように繋ぎました。 >これは、照明器具のGNDを接続していませんが、ノイズはありませんでした。 >(周波数は違いますが) >回路図と実測波形が下記になります。 >図面のオペアンプは実際にはLM324を使用しました。 >http://imgur.com/skSQQTZ >http://imgur.com/Vd5CRGq この結果ではLowのレベルが一定してます。Lowの電圧はGNDレベルが左側の一番下の三角の位置だとすれば、2Vちょっとあるように見えます。この電圧は少し高いように思います。Lowの期間、照明器具側から20mA程度電流を引っ張ってないと2Vも電圧は発生しません。 (3) >■オペアンプが有効なのかと思い、LM324(オペアンプ)をArduinoにつけましたが、 >結果はノイズが出ました同じです。下記の回路図になります。図面のオペアンプは >実際にはLM324を使用しました。 > >(波形は記録していませんでしたが、ノイズの状況は同じでした) >http://imgur.com/Tjs4SVc 上の(2)の結果と比べると大きな違いはArduinoからの入力が有るか無いかですね。この状態でArduinoの11ピンからの信号の波形を見てみたいです。Highレベルがしっかり5V出てるでしょうか?確認してください。 (4) >■フォトカップラでも試しましたが、同じノイズが見られました。 フォトカップラでも同じノイズが見られたということですが、この場合も同じようにこの状態でArduinoの11ピンからの信号の波形を見てみたいです。Highレベルがしっかり5V出てるでしょうか?確認してください。
補足
xpopo様 たびたびアドバイス頂き、感謝致します。 オシロスコープ画面のGNDは、ご指摘の通り、水色の△マークです。 今回はGNDがすべて中心に来るようにセットしました。 緑の横線はトリガーレベルなので気にしないで下さい。 整理させて頂きます。 ■テストの為に一番シンプルな回路を作成しました。 http://imgur.com/3MmVOpX ■この回路で条件を設定して測定しました。 - 条件1:負荷を疑似的に50KΩの抵抗に変更した場合 結果1-1: 測定点1 http://imgur.com/drMHgkb 結果1-2: 測定点2 http://imgur.com/wpdo6XC - 条件2:負荷は照明器具の信号端子とし、照明器具の電源をOFFの状態にした場合 結果1-1: 測定点1 http://imgur.com/598tgHt 結果1-2: 測定点2 http://imgur.com/5Mw9ZKM - 条件3:負荷は照明器具の信号端子とし、照明器具の電源をONの状態にした場合 結果1-1: 測定点1 http://imgur.com/5Mw9ZKM 結果1-2: 測定点2 http://imgur.com/HWsXWkv ■質問事項 やはり今回も、条件3の場合のみノイズが見られます。 また、前回のArduinoを使わない矩形波発振回路においてノイズが出ない理由が思いつきません。 その時のような波形にする事が目標です。 回路図 http://imgur.com/skSQQTZ 波形 http://imgur.com/Vd5CRGq (よく見ると完全に0Vにはなっていませんね!) もしかすると、完全に0にしないという事で、ノイズがのらないという事があるのでしょうか? スキル不足で申し訳ありませんが、よろしくお願い致します。
- xpopo
- ベストアンサー率77% (295/379)
回答NO.1です。 補足内容を確認しました。 まず、提案した回路での確認結果ですがMOSFETがMP4401に変更されただけですが、その回路での駆動波形(http://imgur.com/RWleY9T)でもFETがON状態での電圧が平均で1V以上あります。MP4401のON抵抗が0.42Ωtypですので 1V/0.42Ω=2.3A も電流が流れてることになります。これは何かおかしいですね。 質問に添付された回路図でちょっと気になる事があります。 ArduinoのGNDは「PWM調光タイプの照明器具(蛍光灯)」のGNDとは接続されてるのでしょうか? 照明器具との接続が(+)と(-)の2本だけだと問題が出てきそうです。もし、Arduino側のGNDと照明器具側のDCGNDの間で電位差があればフォトカップラなどを用いてArduino側と照明機器側を絶縁しなければなりません。 という疑問が出てきましたので確認願います 。
補足
xpopo様 質問者です。 アドバイス頂き感謝致します。 ■照明器具のGNDと接続していませんでした。 今回は照明器具とArduinoとFETによる出力回路の間のGNDをすべて繋ぎました。 その波形が下記になります。 http://imgur.com/SvDsK3t ■また、下記の矩形波発振回路を別途作成して、照明器具と同じように繋ぎました。 これは、照明器具のGNDを接続していませんが、ノイズはありませんでした。 (周波数は違いますが) 回路図と実測波形が下記になります。 図面のオペアンプは実際にはLM324を使用しました。 http://imgur.com/skSQQTZ http://imgur.com/Vd5CRGq ■オペアンプが有効なのかと思い、LM324(オペアンプ)をArduinoにつけましたが、 結果はノイズが出ました同じです。下記の回路図になります。図面のオペアンプは 実際にはLM324を使用しました。 (波形は記録していませんでしたが、ノイズの状況は同じでした) http://imgur.com/Tjs4SVc ■フォトカップラでも試しましたが、同じノイズが見られました。 ■質問事項 現状を十分に伝えることができずに申し訳ありません。 ArduinoのPWM出力に何か原因があるのかもしれませんが、 もしご意見があればどんなことでも役に立つので、頂ければ幸いです。
- xpopo
- ベストアンサー率77% (295/379)
回答NO.1です。 添付した回路図のダイオードD1の極性が逆になってました。訂正いたします(添付図)。
お礼
xpopo様 貴重なお時間を頂き有難うございます。 大分改善しましたので、波形を添付いたします。 せっかくなので、もう少し完璧を目指したいと思います。 ■頂いた回路図異なるパーツ 作成頂いた回路図:2SK2232 -> 実験:MP4401 実験で使用したMP4401のスペック 東芝パワーMOS FETモジュール、NチャネルFET - VDSS:120V - ID:3A(ピーク12A) - オン抵抗:0.42Ω(VGS=4V) - 4V駆動可能 ■その後確認したこと 1. 照明器具の電源を入れて、制御端子間の波形を確認した。 結果:ノイズは出ていない。 2. 照明器具の電源を入れて、制御端子間にDC12Vを接続し波形を確認した。 結果:ノイズは出ていない。 ■外部参照ファイル 頂いた回路図による波形 http://imgur.com/RWleY9T http://imgur.com/HKhsLev 上記の回路で照明器具の電源をOFFにしたときの波形(制御線はそのままつないでいる) http://imgur.com/f7o4gl4 ■質問 2SK2232と比較して、実験で使用した出力ドライブ能力はまだ低いので、 2SK2232を使用すれば、もっと改善するのでしょうか? 照明器具側の制御I/Fインピーダンスが不明ですが、JISの中では、 「制御端子のインピーダンスは,1kΩ~10kΩとする。」 とあります。 追加の質問で申し訳ございませんが、よろしくお願い致します。
- xpopo
- ベストアンサー率77% (295/379)
PWM調光タイプの照明器具(蛍光灯)側の電気的な仕様が?ですね。 >2-1.PWM負荷をつなげた場合1(ノイズ) と >2-2.PWM負荷をつなげた場合2(ノイズ) の波形から次の事が読み取れます。 1)ノイズはブロッキング発振のように見えます。 2)ノイズ波形は約DC2Vを中心に振れている。 3)ノイズ波形の最大値はDC6V近くにもなっている。 4)ノイズ波形の周波数fnは約60kHz 一方ドライバに使用されているTD2084(ダーリントンドライバ)の出力ドライブ能力は入力電圧が5Vで少なくとも125mA(条件:VCE=2V)はあります。(TD2084のデータシートより) 以上から一番可能性が考えられるのはPWM調光タイプの照明器具(蛍光灯)側の調光制御入力のインピーダンスが実際はかなり低いのではないかということです。 ノイズの周波数が60kHzと比較的低い周波数ですのでTD2084で十分に抑えられる周波数ですので、TD2084のドライブ能力では不足してる可能性が高いと考えられます。 対策としてはもっとドライブ能力の高いドライバに変更することです。 参考にMOSFETでドライブする回路を添付しておきます。 回路でNMOSFETの型番は2SK2232です。
お礼
xpopo様 本当に有難う御座いました!! とても分かりやすく解説いただき感謝しております。 またの機会がありましたら、どうかよろしくお願い致します。