ArduinoLeonardoのAVCCピン配線について(ローパスフィルター?)


10

Arduino Leonardoは以前のボードと興味深い違いがあります。ATMEGA32U4のAVCCピンは、MH2029-300Yフェライトビーズを介して+ 5Vに接続され、1uFコンデンサを介してGNDに接続されます。

ArduinoUnoおよびArduinoMega2560では、このピンは単にVCCに接続されていました。atmelデータシートによると、変換されたADCを使用する場合、このピンはローパスフィルターに接続する必要があります。

ここに画像の説明を入力してください

Arduino Leonardoスキーマ

これは本当にローパスフィルターですか?はいの場合、どのように機能しますか?あなたはそのタイプの回路をどのように呼びますか?どのようにモデル化しますか?


1
フェライトビーズは誘導性を提供し、コンデンサは静電容量を提供するため、LCフィルターの一種です。
AndrejaKo 2012

3
おっと、ひどい回路図。
コナーウルフ

従来のRCフィルターは使用できないことが判明しました。以下のコメントを読んで、これについて詳しく調べてください。また、Atmega 32u4データシートの302ページには、これについての説明があります(24.7.2アナログノイズキャンセリングテクニック)。
sarfata 2012

回答:


11

ここに画像の説明を入力してください

インダクターとコンデンサーは、周波数に依存する分圧器を形成します。

VOUTVN=ZCZC+ZL

ZLZCZLZC

しかし、彼らが使用したインダクタは良いものではありません。これは、数十MHzの周波数を対象とした高周波EMIサプレッサーです。(使用したタイプのインピーダンスは100 MHzで30Ωです。)

ここに画像の説明を入力してください

インピーダンス曲線は0.5Ω/ MHzの傾きを示しているため、100 Hzではインダクタンスの無効部分は無視できます。

実際に必要なのは、電源からの100 Hzリップルなどの低周波ノイズの抑制です。そうすると、このインダクタはかなり役に立たなくなり、まるでコンデンサがあるかのようです。

低周波の場合、インダクターは非現実的に大きくなる可能性があるので、インダクターの代わりに抵抗器を選択するほうがよいでしょう。データシートには、AVCCをVCC-0.3 Vより低くすることはできないと記載されていますが、AVCCが使用する電流の量を見つけることができませんでした。それは多くないでしょう、例えば最大10 µAです。RCフィルターのカットオフ周波数は

fC=12πRC

したがって、15.9kΩの抵抗と1 µFのコンデンサを使用すると、10 Hzのカットオフ周波数が得られ、周波数応答は次のようになります。

ここまたはここに画像の説明を入力してください

10µAから15.9kΩまでは159 mV降下なので、仕様の範囲内です。100 Hzのリップルは20 dBで減衰します。これは1:10とそれほど大きくありませんが、VCCはすでに適切にデカップリングされているはずなので、20 dBは余分です。1 kHz以上では、ノイズは少なくとも40 dB減少します。これは1:100の係数です。


すばらしい答えスティーブン。どうもありがとう!(そして質問に追加された写真をありがとう;)
sarfata

@sarfata-私の喜び、受け入れてくれてありがとう。しかし、私は写真をアップロードしませんでした、それはジッピーでした。私はあなたの署名を削除し
stevenvh

おかげさまで、編集履歴の見方がわかりました;)質問を整理して改善してくれた皆さんに感謝します。
sarfata

1
重要-抵抗を使用する前にこれを読んでください!Atmega 32U4とこのページのコメントに記載されているローパスフィルター(15.8k抵抗+ 1 uFコンデンサー)を使用してカードを作成します。AVCCに流れる電流は予想よりもはるかに大きいことがわかります。3.30VのVCCでAVCCの2.58Vを測定します(したがって、I =(3.30-2.58)/15.8)= 45uAです。電圧降下は0.72Vで、これは許容される降下の2倍です。その結果、チップをプログラムできません。読み取りはできますが、書き込みは常に失敗します。抵抗を取り外し、AVCCを直接VCCに接続して、チップをプログラムできるようになりました。[CC @stevenh]
sarfata 2012

1
@sarfata-その後も抵抗を使用できますが、4.7 kなどの低い値を使用する必要があります。
stevenvh 2012

9

いくつかの本当に良い答え。私の考えでは、LCフィルターの目標は電源リップルをフィルターで取り除くことではありません。これは、電力線/プレーンに硬い(低ESR)キャップを付けて、最初に適切なレギュレータパーツを選択することで最もよくできます。さらに、USBポートからArduinoに電力を供給している場合、低周波数のリップルのノイズは無視できます。安価な壁のいぼは、数十KHzから数百KHzの範囲のスイッチャーであり、電気的にノイズが多くなりますが、電圧レギュレータとデジタル電源レールが役立つでしょう。

LC L / Pフィルターが行っていることは、デジタル電源ラインに到達するデジタル信号の鋭いエッジを取り除くことであり、AVCCピンに直接接続されている場合は、A / D変換回路に到達します。

ボードが(RC回路の)より大きな抵抗で起動しない理由は、ATMegaパーツのPLLがアナログ回路であり、A / Dコンバーターと同じAVCCピンを使用しており、十分な電力を得られなかったためです。 。たぶん、実際には両方のピンを同じように使用していないのかもしれませんが、データシートに違いはありません(両方ともAVCCと呼ばれています)。レイアウトに関しては、ピンの24と44をAVCCに接続するピンにするのは面倒です。なぜなら、それらはチップの反対側にあり、全体の電源プランをそれらに費やすことに悩むのは誰ですか?おそらく、両側にビアがあるなど、部品全体に信号をルーティングすることになります。データシートでは、この醜い現実についてはほとんど触れられていません。追加のピンがATMELによって2番目に考えられたのとほとんど同じです。

とにかく、これらのノイズの多い信号は、マイクロプロセッサが内部で切り替わるときにマイクロプロセッサ自体から出力され、デジタルロジックには影響しませんが、10ビットのアナログ精度を実現しようとすると、電源側で少し多くの労力がかかります。これらのデジタルノイズエッジはおそらく数十nSのタイムフレーム(100 Mhz風)にあるため、この特性を持つフィルターはかなりうまく機能します。AVCC = 5Vと10ビットのA / Dを使用して数値を処理する場合、各LSBは約5 mVです。大まかな目安として、「低」ノイズを得るには、半分以下にする必要があるようです。

MH2029-300Yデータシートには、100 MHzで20オームが示されています。RCフィルターを試した人が膝の周波数を1 Mhzに設定した場合、はるかに小さい抵抗を選択できたため、おそらくそれはよりうまく機能したでしょう。22オームの抵抗器(100 Mhzでのインダクタのインピーダンスに一致させるため)や.01uFのキャップなどは、入力負荷のために十分小さいDC電圧降下があった(45uA x 22オーム= 1 mV程度)。関心のある周波数では、40 dB低くなります。

私はそれにレイアウトパスを賭けるつもりはありませんが、パーツにいくつかのフットプリントがある場合、私はそれにショットを与えるかもしれません(両方の0805フットプリントを選びますか?)が、インダクターがマウサーから$ 0.10パーツであるので、それだけに固執しないのはなぜですか?


1

はい、それはローパスフィルターです。フェライトビーズは、Lが低周波数で支配し、Rが高周波数で支配する、周波数に依存する抵抗のような働きをする損失のある誘導性コンポーネントです。コンデンサは、より高い周波数をグランドにシャントします。これらを組み合わせると、Qが低いLCフィルターが形成され、「標準」のLCフィルターで問題を引き起こす可能性のある鋭い共振ピークが発生しません(カットオフがビーズの抵抗領域にある限り)。
ただし、Stevenが指摘するように、この部品は高周波アプリケーションであり、ADCは比較的低い周波数であるため、このアプリケーションには特に適していません。これは、FPGAデザイン、高周波ADCなど、はるかに高い周波数でのフィルタリングが必要なものに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.