Forum: Mikrocontroller und Digitale Elektronik DDS: Lautstärke über Poti erzeugt Rauschen/Kratzen


von Jürgen (Gast)


Lesenswert?

Hallo,

ich habe mal ein theoretischs Problem. Ich erzeuge über eine DDS einen 
Ton , gibt den auf einen Verstärker aus und höre ihn mir an. 
Funktioniert soweit prima (über SAI, 24bit DAC CS4344 und STM32F4).

Die Lautstärke dieses Signals bestimme ich durch ein Poti am STM32. Nun 
habe ich zwei Beobachtungen/Problematiken:

a) trotz AVCC Filter zappelt das Poti um ca. 3-4 digits. Das reicht aus, 
um in dem ausgegeben Ton ein Rauschen zu erzeugen (bei stehender 
Position). Mein Ansatz war bisher, dass ich den aktuellen Lautstärkewert 
nur bei einem Null-Durchgang der DDS übernehme. Bringt scheinbar nicht 
so viel.

b) Beim Drehen des Potis erzeugen die Lautstärkesprünge - trotz 
Übernahme der Lautstärke nur bei einem Null-Durchgang - ein 
hochfrequentes Störsignal. Ist irgendwie Logisch, da ich mir da Stufen 
in der Ausgabe erzeuge, was ich eigentlich durch den Null-Durchgang 
dachte vermieden zu haben. Desto schneler ich drehe, desto größer sind 
diese Sprünge, desto markanter ist dieses Störsignal.

Wie löse ich diese Problematik am besten? Ein weiterer Ansatz, den neuen 
Lautstärke Ist-Wert zu berechnen, indem ich die Differenz nehme und den 
Ist-Wert langsam an den Soll heranführe brachte ebenfalls nichts:
1
Ist = (Soll+Ist) / 2;

von STM Freak (Gast)


Lesenswert?

Verstehe ich das richtig:

Du hast gibst DDS-Werte aus dem STM32-RAM über einen DAC aus.
Du möchtest die Lautstärke 'digital' ändern.
Dazu hast du ein Poti, liest die analoge Spannung per ADC ein und 
modulierst damit die Werte der DDS ?

Meine Gedanken dazu:
- Wo ist der 'Pluspol' des Potis angeschlossen VCC oder VCCA ?
- Ist die Masse des Potis auch gefiltert oder hängt die am digtalen GND 
?
- Wie 'sauber' ist die Spannung am Mittelabgriff des Potis 
(ADC-Eingang). Ist die ordenlich gefiltert ?
- Wird der 'richtige' Kanal gesampled, 3-4 Digits sind schon heftig 
(oder meinst du Bits, dann wäre das OK --> 3.6V/4096 = 0,88mV).
- Was passiert wenn du vom ADC Wert nur die oberen Bits nimmst um das 
Rauschen des ADCs 'digital' wegzufiltern?
 Alternativ kannst du auch erst einen Mittelwert über 3-5 ADC Samples 
berechnen um die Sprünge zu glätten.
- Stimmt die Skalierung bei der Berechnung der Ausgangswerte (max. 24 
Bit des DACs) oder gibt es da vielleicht Überläufe?

von Jacko (Gast)


Lesenswert?

Hier gabs neulich schon was mit Poti:
Einstellen eines DC-Werts auf 1/288.
Ist natürlich Traumtänzerei...

Pegeleinstellung mit Poti über ADC "kratzt"???

Das kann nur schlechte Poti-Erfassung sein!
Die Dinger ruckeln nun mal gern beim Einstellen so
etwa im %-Bereich. Eine Einstellgenauigkeit von besser
2% (linear) solltest man sowieso nicht erwarten.

Daher ist es großer Blödsinn, den ADC-Wert eines Potis
im µs-, oder ms-Takt 1:1 an einen Gain-Multiplikator
weiterzugeben.
Erfasse das Poti vielleicht im ms-Takt, und gib den gleitenden
Mittelwert der letzten 8...64 letzten Messungen als Einstell-
wert weiter.

Die Reaktion muss zeitnah zur Betätigung sein, sollte aber
"Kratzer" nicht "durchreichen".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.