ArduinoLeonardo'daki AVCC pim kablolarını anlama (düşük geçiş filtresi?)


10

Arduino Leonardo'nun önceki kartlarla ilginç bir farkı var: ATMEGA32U4'ün AVCC pimi bir MH2029-300Y ferrit boncukları aracılığıyla + 5V'ye ve 1uF kapasitör aracılığıyla GND'ye bağlanır.

ArduinoUno ve ArduinoMega2560'ta, bu pin basitçe VCC'ye bağlandı. Atmel veri sayfasına göre, bu pim ADC dönüştürüldüğünde bir Düşük Geçiş filtresine bağlanmalıdır.

resim açıklamasını buraya girin

Arduino Leonardo şeması

Bu gerçekten düşük geçişli bir filtre mi? Evet ise, nasıl çalışır? Bu tip devreye nasıl denir? Nasıl modelleniyorsunuz?


1
Ferrit boncuk endüktivite sağlar ve kapasitör kapasitans sağlar, bu nedenle bir LC filtresi türüdür.
AndrejaKo

3
Vay, korkunç şemalar.
Connor Wolf

Geleneksel bir RC filtresi kullanamayacağınız ortaya çıkıyor - bu konuda daha fazla bilgi edinmek için aşağıdaki yorumları okuyun. Ayrıca, Atmega 32u4 veri sayfasının 302. sayfasının bunun için bazı açıklamaları vardır (24.7.2 Analog Gürültü Engelleme Teknikleri).
sarfata

Yanıtlar:


11

resim açıklamasını buraya girin

İndüktör artı kapasitör, frekansa bağlı bir voltaj bölücü oluşturur.

VOUTVIN=ZCZC+ZL

DC ve düşük frekanslar için L1 ( ) empedansı düşük ve C1 ( ) yüksek yüksektir, bu nedenle giriş voltajı fazla zayıflamaz. Yüksek frekanslarda bunun de : yüksek ve düşük. Zayıflama yüksektir ve frekans yükseldikçe zayıflama artar. Yani bu gerçekten düşük geçişli bir filtre.Z C Z L Z CZLZCZLZC

Ancak kullandıkları indüktör iyi değildir. Onlarca MHz frekanslarını hedefleyen yüksek frekanslı bir EMI baskılayıcıdır. (Kullanılan tipin 100 MHz'de 30 im empedansı vardır.)

resim açıklamasını buraya girin

Empedans eğrisi 0,5 Ω / MHz eğimi gösterir, bu nedenle 100 Hz'de endüktansın reaktif kısmı ihmal edilebilir.

Aslında ihtiyaç duyulan şey, güç kaynağından 100 Hz dalgalanma gibi düşük frekanslı gürültünün bastırılmasıdır. O zaman bu indüktör oldukça işe yaramaz ve sadece kapasitöre sahip olmak gibi.

Düşük frekanslar için indüktörler pratik olarak büyük olabilir, o zaman indüktör yerine bir direnç daha iyi bir seçim olurdu. Veri sayfası AVCC'nin VCC - 0.3 V'den daha düşük olmaması gerektiğini söylüyor, ancak mevcut AVCC'nin ne kadar kullandığını bulamadım. Çok fazla olmayacak, mesela maksimum 10 µA. Bir RC filtresinin kesme frekansı

fC=12πRC

Bu nedenle, 1 µF kapasitörlü 15.9 kΩ direnç kullanırsak, 10 Hz'lik kesme frekansına sahibiz ve frekans yanıtı aşağıdaki gibi görünecektir:

buraya veya buraya resim açıklaması girin

10µA ila 15.9 kΩ arasında 159 mV'luk bir düşüş vardır, bu yüzden spesifikasyon dahilindedir. 100 Hz'lik bir dalgalanma 20 dB ile zayıflatılır, bu 1:10, bu çok fazla değil, ancak VCC'nin zaten düzgün bir şekilde ayrılması gerekiyordu, bu yüzden 20 dB sadece ekstra. 1 kHz'in üzerindeki gürültü en az 40 dB azaltılacaktır, bu 1: 100 faktördür.


Harika cevap Steven. Çok teşekkürler! (ve soruya eklenen resim için teşekkürler;)
sarfata

@sarfata - benim için zevkti, kabul ettiğin için teşekkürler. Ama resmi yüklemedim, bu jippie idi . İmzanızı kaldırdım :-) (sitede
bulunmalarına

Teşekkürler, şimdi düzenleme geçmişine nasıl bakacağımı biliyorum;) Soruyu temizleyen ve daha iyi yapan herkese teşekkürler!
sarfata

1
ÖNEMLİ - DİRENÇ KULLANMADAN ÖNCE BUNU OKUYUN! Bu sayfa yorumlarında (15.8k direnç + 1 uF kapasitör) açıklanan bir Atmega 32U4 ve düşük geçiş filtresi olan bir kart yapıyorum. AVCC'ye çekilen akımın beklenenden çok daha yüksek olduğu ortaya çıktı: AVCC'de 3.30V'da VCC ile 2.58V ölçüyorum (bu yüzden I = (3.30-2.58) /15.8) = 45uA. Voltaj düşüşü, izin verilen düşüşün iki katı olan 0.72V'dir. Sonuç olarak çip programlanamaz. Okuyabilirsiniz ama yazma her zaman başarısız olur. Direnci çıkardım ve AVCC'yi doğrudan VCC'ye bağladım ve şimdi çipi programlayabilirim. [CC @stevenh]
sarfata

1
@sarfata - O zaman hala bir direnç kullanabilirsiniz, ancak 4.7 k gibi daha düşük bir değer kullanmanız gerekir.
stevenvh

9

Bazı gerçekten iyi cevaplar. Benim sorumluluğum, LC filtresinin amacının güç kaynağı dalgalanmasını filtrelememesidir. Bu en iyi güç hatları / düzlemlerindeki sert (düşük ESR) kapaklarla ve başlamak için doğru regülatör parçayı seçerek yapılır. Ayrıca, Arduino'nuzu bir USB bağlantı noktasından çalıştırırsanız, düşük frekanslı dalgalanma türü gürültü göz ardı edilebilir. dijital güç rayları burada yardımcı olmalıdır.

LC L / P filtresinin yaptığı şey, dijital güç hatlarına giden yolu bulan dijital sinyallerin keskin kenarlarını çıkarmaktır ve doğrudan AVCC pimlerine bağlıysa A / D dönüşüm devresine doğru yol bulur.

Kartın daha büyük dirençle (RC devresinde) önyükleme yapmamasının nedeni, ATMega kısmındaki PLL'nin analog bir devre olması ve A / D dönüştürücülerle aynı AVCC pimlerini kullanması ve yeterli güç alamamasıdır. . Belki de her iki pimi de aynı şekilde kullanmaz, ancak veri sayfasında farklılaşma yoktur (her ikisine de AVCC denir). Yerleşim açısından çipin zıt taraflarında oldukları için 24 ve 44 numaralı iğnelerin AVCC'ye gitmeleri bir acıdır ve kim onlara tüm bir güç planını adamaya zahmet edecek? Sonunda muhtemelen her iki taraftaki viaslar, vb. İle bir sinyal yönlendirirsiniz. Veri sayfası bu çirkin gerçeklikten neredeyse hiç bahsetmiyor, neredeyse ekstra pim ATMEL tarafından ikinci bir düşünce gibi.

Her neyse, bu gürültülü sinyaller dahili olarak geçiş yaptığında ve mikro mantığa zarar vermediklerinde Mikroişlemciden çıkarlar, ancak 10 bit analog hassasiyete ulaşmaya çalışmak güç kaynağı tarafında biraz daha fazla çaba gerektirir. Bu dijital gürültü kenarları belki onlarca nS zaman diliminde (100 Mhz-ish) olduğundan, bu özelliğe sahip filtreler oldukça iyi çalışır. Rakamlar üzerinde çalışırsanız, AVCC = 5V ve 10 bit A / D kullanarak her LSB yaklaşık 5 mV'dir. Görünüşe göre "düşük" gürültüye sahip olmak için kaba bir kural olarak yarısından daha azına sahip olmanız gerekir.

MH2029-300Y veri sayfası 100 Mhz'de 20 Ohm gösterir. RC filtresini deneyen adam diz frekansını 1 Mhz olarak ayarlasaydı, muhtemelen daha iyi çalışacaktı çünkü çok daha küçük bir direnç seçebilirdi. 22 Ohm direnç (indüktörün 100 Mhz'deki empedansına uyması için) ve .01uF kapak gibi bir şey, giriş yüklemesi nedeniyle yeterince küçük bir DC voltaj düşüşüne sahip olurdu (45uA x 22 Ohm = 1 mV vb.). İlgi sıklığında 40 dB düştü.

Bir mizanpaj geçişine bahse girmezdim ama parçalar biraz ayak izine sahip olsaydı, bir şans verebilirim (her ikisi için 0805 ayak izi seçebilir miyim?) Ama indüktör Mouser'dan 0.10 $ bir parça olduğunda, neden sadece onunla kalmıyor ?


1

Evet, düşük geçişli bir filtre. Ferrit boncuğu, frekansa bağlı bir direnç gibi davranan kayıplı bir endüktif bileşendir, L düşük frekanslarda baskındır ve R yüksek frekanslarda baskındır. Kondansatör toprağa daha yüksek frekanslar verir. Bir araya getirildiğinde, keskin bir rezonant tepe noktası (kesme, boncuğun direnç bölgesinde olduğu sürece) düşük Q'lu bir LC filtresi oluştururlar ve bu da "standart" bir LC filtresinde sorunlara neden olabilir.
Ancak Steven'ın belirttiği gibi, bu bölüm bu uygulama için özellikle uygun değildir, çünkü yüksek frekanslı bir kısımdır ve ADC nispeten düşük frekanslıdır. Bir FPGA tasarımı, yüksek frekanslı ADC gibi çok daha yüksek frekanslarda filtreleme gerektiren bir şeyde kullanılabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.