Forum: Mikrocontroller und Digitale Elektronik ESP32 + TFT. PWM Helligkeitsregelung verursacht Störgeräusche im Audio-Teil


von Volker S. (kukulkan)


Lesenswert?

Hallo. Ich bin kein Elekroniker sondern eigentlich Programmierer und 
habe mich an einen Wecker für meine demenzkranke Mutter gewagt. Das 
Projekt beschreibe ich auf meinem Blog:

https://blog.inspirant.de/index.php?controller=post&action=view&id_post=59

Das Problem ist, dass ich im Radio-Modul ein gemeines Pfeiffen bekomme 
das nur weg geht wenn die LED Beleuchtung, die ich mit PWM dimme, auf 
100% ist. Das ist aber keine Option.

Was ich versucht habe:
* Mit Kondensatoren 104 und 106 in der Stromversorgung konnte ich das 
Netzteil gut entstören.
* Testweise mit Alufolie eine Schutz um die PWM Leitung gedreht und 
geerdet, keine Änderung.
* PWM-Frequenz auf verschiedenste Frequenzen gesetzt. Das Pfeiffen 
ändert sich, geht aber nie weg. Nichtmal >20Khz PWM-Frequenz.
* Interessanterweise scheint das SPI-Signal vom Display keine 
nennenswerte Störung zu verursachen?

Ich besitze leider kein Oszilloskop, daher habe ich nur eingeschränkte 
Analyse-Möglichkeiten.

Hier der Schaltplan so wie ich das hinbekommen hab:

https://blog.inspirant.de/content/public/upload/schaltplanv1_0_o.png

Habt Ihr grundlegende Ideen dazu, was ich noch tun könnte um das am Ende 
doch zu einem Erfolg werden zu lassen? Danke.

von H. H. (hhinz)


Lesenswert?


von Jens M. (schuchkleisser)


Lesenswert?

Das Pfeifen kommt aus dem Netzteil (also, nicht physikalisch, sondern 
das PWM verursacht Regelprobleme, die die Ausgangsspannung "wackeln" 
lassen und das hört man), das mag keine PWM-Last.
Nutze ein zweites Netzteil (oder einen zweiten Spannungsregler) nur für 
das Licht.
Und (oder vielleicht reicht auch schon ein "Oder") denke über die 
Leiterbahnführung nach, der PWM-Stromkreis sollte möglichst klein im 
Umfang sein und vor allem nicht andere Teile einfassen.

H. H. schrieb:
> Der unbekannte MOSFET Q1 ist falsch eingebaut.

Es fehlen Kondensatoren am Spannungsregler, und der Pegelwandler hat 
auch Fuckups bei den Pins.
Hoffentlich nur Zeichenfehler.

von Sebastian R. (sebastian_r569)


Lesenswert?

Kann der Pegelwandler bidirektionale Kommunikation für SDA?
Weshalb hat der I2C-Bus Pull-Downs?

von Volker S. (kukulkan)


Lesenswert?

Danke für Eure schnellen Antworten! Ich geh mal durch:

> Der unbekannte MOSFET Q1 ist falsch eingebaut.

Kann sein ich hab das falsch eingezeichnet (hab die Zeichnung erst 
später gemacht). Das beim Q1 ist eine Low-Side-Schaltung mit einem NPN, 
weil ich ja den GND mit dem TFT-Display teile. Ich glaub der ist 
korrekt? Ich schau nacher mal die genaue Bezeichnung.

> Es fehlen Kondensatoren am Spannungsregler, und der Pegelwandler hat
> auch Fuckups bei den Pins.
> Hoffentlich nur Zeichenfehler.

Ja, der Spannungsregler ist ein fertiges Step Down Netzteilmodul auf dem 
alle nötigen Kondensatoren wohl schon drauf sind. Sowas: 
https://www.amazon.de/dp/B0F59YRQPL

Und die PINS am Pegelwandler stimmen nicht, weil ich das passende Teil 
nicht im Programm gefunden hab und dann halt ein ähnliches gewählt habe. 
Es ist tatsächlich der: https://www.amazon.de/dp/B078T4P14F

Hab das gecheckt, und scheinbar hab ich die schon richtig dran. Ich hab 
A1/B1 und A2/B2 genommen. Kommunikation funktioniert auch.

> Kann der Pegelwandler bidirektionale Kommunikation für SDA?

Angeblich ja: https://www.amazon.de/dp/B078T4P14F

> Weshalb hat der I2C-Bus Pull-Downs?

Weil das überall steht ich soll das tun :-| Hat auch ohne funktioniert, 
aber ich dachte die müsste ich noch anbringen? Weglassen?

von Jens M. (schuchkleisser)


Lesenswert?

Volker S. schrieb:
> Das beim Q1 ist eine Low-Side-Schaltung mit einem NPN,
> weil ich ja den GND mit dem TFT-Display teile. Ich glaub der ist
> korrekt?

Zeichnung sagt "schaltet 3,3V". Dann ist der Transistor falschrum.

Volker S. schrieb:
> Ja, der Spannungsregler ist ein fertiges Step Down Netzteilmodul auf dem
> alle nötigen Kondensatoren wohl schon drauf sind

Ah ok. Schaltplan sagt was anderes ;)

Volker S. schrieb:
> Und die PINS am Pegelwandler stimmen nicht, weil ich das passende Teil
> nicht im Programm gefunden hab und dann halt ein ähnliches gewählt habe.

Und nochmal: Plan scheiße. :D

Volker S. schrieb:
> Kommunikation funktioniert auch.

Ich wette das es auch bei falscher Beschaltung "ab und zu" oder 
"zeitweise" oder auch "die ersten Tage" funktioniert, und dann eben auch 
nicht. Da merkt man den Fehler nicht unbedingt sofort, und da stirbt 
auch nicht unbedingt sofort was.
Aber kontrolliere nach den Unterlagen zum Gerät, dann passt das.

Volker S. schrieb:
> Weil das überall steht ich soll das tun :-|

Dann steht das überall falsch. Was es nicht tut.
Da müssen wenn dann Pull-Ups rein. Also nach Plus, nicht nach GND.
Aber da du nur ein Arduino-Modul-Maker bist und da überall welche drauf 
sind kann es auch ohne gehen. Und, wie man sieht auch mit Pulldowns. 
Oder der Plan ist wieder falsch.

von Andreas M. (amesser)


Lesenswert?

Volker S. schrieb:
> PWM-Frequenz auf verschiedenste Frequenzen gesetzt. Das Pfeiffen
> ändert sich, geht aber nie weg. Nichtmal >20Khz PWM-Frequenz.

Die PWM Grundfrequenz Frequenz nicht höher als notwendig. Wenn du z.B. 8 
Bit PWM hast, dann ~120Hz * 256 -> knapp 2.5 Khz. Oder gar nur 60Hz * 
256.

Den Mosfet langsamer schalten, 100Ohm kann hier gerne 1k oder eher 10k 
sein.

Direkt vor den Mosfet gehört mindestens ein 1µF Kondenstator um die 
Schaltflanken abzufangen, Die Displays die ich kenne haben keinen 
integrierten Vorwiderstand, falls das bei Deinem auch so ist, der fehlt 
ebenfalls.

Wie Hinz schon schrieb, wenn der Mosfet wie dort dargestellt verbaut 
ist, dann ist falsch eingebaut.

von Ulrich P. (uprinz)


Lesenswert?

Die PullDowns kannst Du weglassen, die benötigten PullUps sind auf dem 
verlinkten Pegelwandler bereits drauf.

Der TEA5767 funktioniert ab 2.5V aufwärts daher kannst Du den auch 
direkt an 3V3 anschließen und den Pegelwandler ganz weglassen. Dann 4k7 
als PullUp zwischen SDA und 3V3 und SCL und 3V3.

Dann setzt du noch 47 Ohm in Serie in seine Vcc Leitung und direkt an 
ihm ein paar 100nF und 1uF (Werte eventuell variieren durch 
Ausprobieren) und das Brummen sollte weg sein.

Die PWM belastet die zentral 3V3 direkt, das ist blöd. Welches Display 
hast DU exakt verbaut? Es wäre besser die Hintergrundbeleuchtung vor den 
7833 zu bekommen, damit die von den hart geschalteten LEDs erzeugte PWM 
vor dem Regler "weggepuffert" werden kann. Also 100uF davor, 10uF 
danach.

Leider lieben LEDs PWM Frequenzen die deutlich hörbar sind, 400 Hz bis 
800 Hz. Eventuell nimmst Du einen programmierbaren kleinen LED Dimmer 
Controller, der deine PWM in einen gesteuerten Strom für das Backlight 
transformiert. AP3031 oder sowas. Diese Bausteine funktionieren im MHz 
Bereich und verlagern die Störung erst mal aus den hörbaren Bereich.

Du kannst aber auch mal probieren, dem Backlight einen eigenen Regler zu 
spendieren, oder direkt an 5V und einen Vorwiderstand. Wie gesagt, ohne 
Datenblatt nur Raten...

: Bearbeitet durch User
von Andreas M. (amesser)


Lesenswert?

Was mir noch auffällt: Lass bitte den 3.3V Regler weg. Das ESP32 Modul 
hat einen integrierten Spannungsregler von 5V auf 3.3V. Der 3.3V 
Anschluss auf dem ESP32 Modul ist ein Ausgang! So wie Du es jetzt hast 
kämpfen der Spannungsregler des ESP Boards und Dein externer 
Spannungsregler gegeneinander.

Im Übrigen: Es gibt bessere Händeler als Amazon für Elektronikzeugs...

von Joachim B. (jar)


Lesenswert?

Volker S. schrieb:
> Das Problem ist, dass ich im Radio-Modul ein gemeines Pfeiffen bekomme
> das nur weg geht wenn die LED Beleuchtung, die ich mit PWM dimme, auf
> 100% ist. Das ist aber keine Option.

Softwarelösung nur bis 99% oder 98% dimmen.
Harwarelösung RC Glied.

von J. T. (chaoskind)


Lesenswert?

Joachim B. schrieb:
> Softwarelösung nur bis 99% oder 98% dimmen.

Weil es erst ab 100% Pulsweite ruhig ist, soll er auf 99% begrenzen, 
damit es immer fiept und man sich dran gewöhnen kann?

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.