Pfad: Home => AVR-DE => Anwendungen => AVR-D/A-Wandler => DAC-Filter => RC-Filter-4051   This page in english: Flag EN
DAC8 Tutorial zum Erlernen der AVR Assembler-Sprache von
AVR-Einchip-Prozessoren AT90S, ATtiny, ATmega und ATxmega
von ATMEL anhand praktischer Beispiele.

Einfacher 8-Bit-Digital-zu-Analog-Wandler mit einem R/2R-Netzwerk
Flexibles RC-Filter zum R/2R-Netzwerk

Flexibles RC-Filter mit 4051

Wenn man Sinusse mit sehr unterschiedlichen Frequenzen erzeugt, hat man das Problem, dass das RC-Filter-Netzwerk für die Oberwellen auch sehr unterschiedliche Werte annehmen muss. Diese Schaltung hier ermöglicht es, acht verschiedene RC-Filter digital auszuwählen. Es kann z. B. bei dem Sinusgenerator mit dem ATmega324 hier ein gesetzt werden. Da bei dieser Schaltung die Portausgänge PA5 bis PA7 noch frei sind, kann diese Schaltung als RC-Netzwerk auch vom Prozessor angesteuert werden.

Die Schaltung

Schaltbild des 4051-RC-Netzwerks Das ist die Schaltung. Sie besteht aus zwei Analogschalter-ICs vom Typ 4051. Geschaltet werden jeweils acht Kondensatoren C1 bis C8, der Widerstand R ist fixiert. Die Auswahl-Eingänge A, B und C wählen den einzuschaltenden Kondensator aus.

Sinusgenerator mit 4051-RC-Filter Da bei der gewählten Schaltung die negative Versorgungsspannung VEE auf Null Volt liegt, muss das Eingangssignal direkt vom Ausgang des Operationsverstärkers kommen, damit es immer positiv bleibt (der Trennkondensator für die Gleichspannung kommt an den Ausgang des RC-Netzwerks). Die Gesamtschaltung sieht daher so aus.

Auswahl von R und C1 bis C8

Filter-Netzwerk Abschwaechung vs. Frequenz Da die Auswahl von R und C nicht so ganz einfach ist, habe ich in Lazarus ein Programm geschrieben, das solche Filternetzwerke berechnet. R ist dabei mit 2,2 kΩ fixiert und die eingestellten C's reichen von 220 pF bis 680 nF. Wie man sieht, deckt der Faktor 3 bei den Kapazitätswerten den gesamten Frequenzbereich zwischen 10 Hz und 100 kHz gut ab. Wer den abgedeckten Frequenzbereich etwas einengen möchte, nimmt den Faktor 2 oder 1,5 für den Abstand der Werte.

Abschwaechungskurven Die einzelnen Kondensatoren eignen sich für eine maximale Nutzfrequenz, wenn die Abschwächung der Nutzfrequenz bei 0,5 liegt (Faktor 2). Das Diagramm vergrößert die obige Kurven ein wenig und hat den Wert 0,5 eingezeichnet.

Diese Grenzfrequenz kann man folgendermaßen aus dem Kondensator berechnen:
f0,5 = e-ln(C)-10

Umgekehrt kann man den Kondensator aus der Frequenz mit der halben Abschwächung mit der Gleichung
C = e-ln(f)-10

berechnen. In beiden Formeln ist f in Hz und C in Farad einzusetzen.

Die Grenzfrequenzen dieser Achter-Dekade bei R=2k2 sind in der Tabelle angegeben. Ferner sind in der Tabelle angegeben.

CnCf0,5 (Hz)Resfu(Hz) fo(Hz)AuAo
C1680 nF66,52561066,564317.143
C2220 nF205,725666,5205,72.82817.143
C368 nF665,4256205,7665,42.77318.079
C422 nF2.056,8128665,42.056,87486.005
C56.8 nF6.654,4642.056,86.654,41651.781
C62.2 nF20.568,186.654,420.568,14,727,9
C7680 pF66.544,0820.568,166.544,05,028,7
C8220 pF205.681,4866.544,0205.681,41,8-


Ermittlung von A, B und C

Soll für eine Frequenz f, die in mHz angegeben ist, der korrekte Kondensator ermittelt werden (A, B und C), braucht man eine Frequenztabelle in mHz. Die folgende Tabelle gibt jeweils die Grenzfrequenzen in mHz an (als 32-Bit-Zahl).

FTable:
  .dw 0x03F0,0x0001 ; C =680 nF, f 1/2= 66.544 Hz
  .dw 0x2371,0x0003 ; C =220 nF, f 1/2= 205.681 Hz
  .dw 0x2760,0x000A ; C =68 nF, f 1/2= 665.440 Hz
  .dw 0x626E,0x001F ; C =22 nF, f 1/2= 2.057 kHz
  .dw 0x89BD,0x0065 ; C =6.8 nF, f 1/2= 6.654 kHz
  .dw 0xD847,0x0139 ; C =2.2 nF, f 1/2= 20.568 kHz
  .dw 0x6163,0x03F7 ; C =680 pF, f 1/2= 66.544 kHz
  .dw 0x72CA,0x0C42 ; C =220 pF, f 1/2= 205.681 kHz

Mit einem Zähler, der bei Null beginnt, durchläuft man die Werte der Tabelle solange, bis beim Vergleich ein Carry eintritt. Bei jedem Durchlauf der Schleife, bei der kein Carry auftrat, macht man den Zähler mit SUBI rZaehler,-1 (Zahlenwerte von 0..7) oder, wenn der Zähler in den obersten drei Bit lokalisiert werden soll, mit SUBI rZaehler,-(1<<5) um Eins größer.



Lob, Tadel, Fehlermeldungen, Genöle und Geschimpfe oder Spam bitte über das Kommentarformular an mich.

Zum Anfang dieser Seite

©2020 by http://www.avr-asm-tutorial.net