logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Dobór elementów RC do filtru DDS z Atmega16 - eliminacja zakłóceń PWM

mas24 29 Paź 2014 18:01 900 4
REKLAMA
  • #1 14084870
    mas24
    Poziom 16  
    Witam,

    Chcę zrobić prosty DDS z użyciem Atmega16 i jej wyjść PWM OC1A i OC1B. Mam problem z doborem elementów RC filtra wyjściowego. Częstotliwość PWM mam około 250kHz (zegar systemowy 16MHz, preskaler 1). Dane 12-bitowe rozdzielam na dwa 6-bitowe "półbity" i wpisuję w rejestry PWM. w ICR1L wpisuję wartość 64, co daje mi 6 bitów na kanał (tryb PWM 14). Do OC1A mam podłączony 1k, do OC1B 68k. Drugie końce rezystorów połączone ze sobą i z kondensatorem 10nF do masy. Na tym węźle R, R, C mierzę przebieg, gdzie oprócz przebiegu pożądanego, mam zakłócenie w kształcie trójkąta o częstotliwości fPWM, które niestety słychać

    Jak wyeliminować to zakłócenie?
  • REKLAMA
  • REKLAMA
  • #3 14086208
    vonar
    Poziom 28  
    Częstotliwość PWM tłumiona jest tylko ok. 10x. Tak na szybko można tę wartość kilkukrotnie poprawić (zachowując pasmo ~20 kHz), np. zmniejszając kondensator do 4n7 i dodając dalej kolejny stopień RC 10k, 470p. Żeby osiągnąć przyzwoite wyniki potrzebne będzie coś lepszego.
    Zainteresuj się programami do projektowania filtrów.
  • REKLAMA
  • #4 14086247
    Konto nie istnieje
    Konto nie istnieje  
  • #5 14086254
    mas24
    Poziom 16  
    Ustawienia rejestrów podałem po to, by czytelnik mojego posta mógł ocenić generowane częstotliwości. Filtr jest 1-stopniowy. Na razie dolutowałem do 10nF dodatkowy 100nF i zakłócenie już prawie znikło.
    Docelowo będę chciał zrobić filtr II-rzędu na opampie, i wtedy policzę filtr już skrupulatnie na f0=16kHz.
    Program ma generować sinus o częstotliwościach od 20Hz do 150Hz i generuje, ale słychać jeszcze dziwny pisk/syczenie już po zastosowaniu dodatkowego C=100nF. Czyżby aliasing?Próbki mam 12-bitowe.
REKLAMA