Forum: Mikrocontroller und Digitale Elektronik ESP32 PWM Probleme


von Markus P. (markus_p160)



Lesenswert?

Hallo

Ich habe ein Problem mit meinem ESP32.

Ich möchte mit HASSIO und MQTT (inkl. JSON) LED lichter steuern.

Die Software Seitens HASSIO und MQTT funktioniert so weit gut.

Die Firmware auf dem ESP32 macht allerdings Problem.
Ich einen Analog Ausgang (PWM) erstellt jedoch Flickert dieser und 
weiters macht der ESP ein hohes Quitsch geräusch wenn man den Ausgang 
aktiviert. Als Ausgang habe ich zum Testen den 23 gewählt.

Der Code ist noch nicht ganz fertig.

Ich habe den Schaltplan und den Code angehängt.
Der Schaltplan sowie die Platine ist selber Entwickelt.
Als Fixspannungsregler verwende ich einen L7805
Als Mosfet verwende ich WSF3085.
Beides habe ich schon in anderen Projekten erfolgreich eingesetzt.
Ich habe eine eigene Platine gefräst und gelötet.

Eine Idee woran es liegen kann?

Danke

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Entsprechen C1 und C2 den Vorgaben des Datenblattes (vom 7805)?

Mach mal zusätzlich einen 100 µF Elko an die Anschlüsse 3,3V und GND von 
dem ESP32 Modul. Ich habe damit schon viele ESP Module stabilisieren 
können.

Der Transistor hat 2-3 pF Eingangskapazität, da fließen zum Umladen 
beträchtliche Ströme. Die würde ich mit 220 Ω Vorwiderständen begrenzen.

Kann es sein, dass dein Netzteil überlastet ist? Oder hat dein 
Spannungsregler zu wenig Kühlung? Das ESP Modul selbst braucht schon 
rund 500 mA (zwar nur Kurzzeitig, aber immerhin).

von Markus P. (markus_p160)


Lesenswert?

Hallo

Vielen Danke für die Schnelle Antwort.
Ja ich habe C1 und C2 von Datenblatt und auch die Passenden Werte 
eingelötet.

Mein Netzteil schaft 100W das sollte es aushalten. Der L7805 ist für 1A 
Ausgelegt wenn ich mich nicht irre. Er wird auch nicht zu Warm.

Das mit dem Elko und den Widerstand werde ich mal ausprobieren.

von Stefan F. (Gast)


Lesenswert?

> Der Transistor hat 2-3 pF Eingangskapazität

Sorry, es sind ein paar Nullen mehr: 2-3 nF !

von Markus P. (markus_p160)


Lesenswert?

Ich habe beides nun ausprobiert aber leider kein Erfolg. Es hat sich 
nicht wirklich was geändert.

von Stefan F. (Gast)


Lesenswert?

Deine Transistoren hängen an GPIO 17,18,19,21,23 und 23.

Dein Programm nennt die Pins 13, 21 und 23 "LED".

Wie passt das zusammen?

von Markus P. (markus_p160)


Lesenswert?

Das ist mal nur ein Testprogram ich verwende mal nur Pin 23 von dem 
Programm zum Testen. Die Restlichen Pins fehlen noch in der Software.
Ich habe zum Testen der Hardware mal nur einen Kanal bestückt, deswegen 
kann ich die anderen mal vernachlässigen

von Stefan F. (Gast)


Lesenswert?

Zur Weiteren Fehlersuche würde ich die ganze WLAN Kommunikation mal raus 
schmeißen und einfach nur einen einzigen PIN mit PWM ansteuern. Läuft 
das gut? Egal ob ja oder nein, zeige mal dieses minimal-Programm.

Auf dem Foto sieht es so aus, also ob der 7805 nur an einem Pin 
angelötet sei. Wenn das stimmt, dann wird das Modul per USB Kabel 
versorgt. Das ist oft problematisch, wenn das Kabel zu lang, zu dünn 
oder die Stecker verschlissen sind.

Beim 7805 ist wichtig, dass die beiden Kondensatoren ganz nahe am 
Spannungsregler sitzen. Ich kann das auf den Fotos leider nicht erkennen 
/prüfen.

von Markus P. (markus_p160)


Angehängte Dateien:

Lesenswert?

Ich habe mal das Programm geschrieben.

Leider trotzdem keine Änderung

von Stefan F. (Gast)


Lesenswert?

Markus P. schrieb:
> Ich habe mal das Programm geschrieben.

Ja genau so meinte ich das. Einen Fehler in deinem Quelltext können wir 
damit mit sehr hoher Wahrscheinlichkeit ausschließen.

Nun an die Hardware: Verwende ein ESP32 Modul lose auf dem Tisch und 
hänge ein einfache LED mit Vorwiderstand an den Ausgang. Funktioniert 
das dann richtig?

Wenn ja, tausche das ESP32 Modul mit dem auf deiner Platine und teste 
dann nochmal beide.

von Markus P. (markus_p160)


Lesenswert?

Ich habe es mit 2 ESP32 getestet. Wenn ich nur eine einfache LED an den 
Ausgang hänge ist alles gut. Sowohl mit USB Power als auch mit externen 
5V (auch mit L7805)
Sobald ich sie in die Platine stecke fangen sie an zu Pipsen.

Der ESP pipst nur in der Platine wenn ich ein PWM Signal anlege (ohne 0 
und 255)

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Passiert das auch, wenn du einen Ausgang ansteuerst, an dem nichts hängt 
(kein Transistor)?

von Markus P. (markus_p160)


Lesenswert?

Nein dann tut sich einfach nix... auch kein piepen

von Stefan F. (Gast)


Lesenswert?

Dann kann ja nur sein, dass dein Transistor spinnt oder du hast das mit 
den 220 Ω misssverstanden:
1
                  220Ω
2
ESP32 Ausgang o---[===]----+-------o Gate vom Transistor
3
                           |
4
          GND o---[===]----+
5
                   10kΩ

oder:
1
                              220Ω
2
ESP32 Ausgang o-----------+---[===]---o Gate vom Transistor
3
                          |
4
          GND o---[===]---+
5
                   10kΩ

Oder hast du bereits eine Last am Ausgang des Transistors hängen, die du 
uns verheimlicht hast. Dann wäre natürlich die allererste Frage gewesen, 
ob das Problem ohne Last verschwindet.

von Markus P. (markus_p160)


Lesenswert?

Das mit dem 220Ohm Widerstand habe ich schon so gemacht.

Ja ich habe einen kleinen LED Streifen am Ausgang hängen (sonst hätte 
ich auch nicht sehen können das dieser flackert).

Ich habe es jetzt mal ohne Last getestet und tatsächlich das Pipen hört 
auf.

Das heißt das Pipen ist nur bei Last da.

(Ich habe den selben Transistor auch schon mit dem ESP8266 verwendet und 
da gab es keine Probleme)

von Stefan F. (Gast)


Lesenswert?

Das Piepen kommt mit ziemlicher Sicherheit von deinem Lastkreis oder 
Netzteil. Möglicherweise ist das Netzteil nicht für derartige PWM Lasten 
geeignet. Lose Kabel können bei 5000 Hz auch hörbar piepen, weil der 
Stromfluss ein Magnetfeld erzeugt und sie zum Schwingen bringt.

Wie sieht es aus, wenn du nur eine kleine LED mit Vorwiderstand an den 
Transistor hängst?

> Ich habe den selben Transistor auch schon mit dem ESP8266 verwendet

Auch mit 5000 Hz und der gleichen Last und den gleichen Netzteil?

von Markus P. (markus_p160)


Lesenswert?

Mit einer Kleineren Last wird das pipen leiser.

Ich habe den L7805 auch ausgelötet und extern beschalten hat aber nix 
gebracht.

Ich habe nun den L7805 wieder eingelötet (einen neuen) und versuche es 
nun mit einen anderen Netzteil. Jedoch habe ich nun das Problem das nix 
mehr funktioniert. Wenn ich 12V anlege dann passiert nix und wenn ich 
nachmesse dann liegen dort nur 5V an (Eingangspannung).

von Stefan F. (Gast)


Lesenswert?

Dann finde heraus, was du kaputt gemacht hast und melde dich dann 
wieder, wenn es mit einem anderem Netzteil läuft.

Zur Probe wäre eine 12V Batterie nicht schlecht, denn die hätte mit PWM 
garantiert kein Problem.

von Markus P. (markus_p160)


Angehängte Dateien:

Lesenswert?

Ich dürfe beim neu einlöten etwas unabsichtlich verbunden haben.

ich habe es nun mit einem 11.1V Lipo akku versucht und trotzdem ist das 
Pipen noch immer da (gleich Laut wie vorher) (mit LED Streifen)

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Klebe mal die Kabel auf den Tisch fest, um festzustellen, ob sie 
schwingen.

Flackert es denn jetzt noch?

von Markus P. (markus_p160)


Lesenswert?

Das Flackern ist besser geworden (so gut wie keines mehr wahrnehmbar)

Die Kabel sind alle still (ich habe sie mal alle auf den Tisch gelegt 
und festgehalten), das Pipen bleibt da.

Ich habe auch mal die Frequenz geändert, das hat wie zu Erwarten nur die 
Tonhöhe das Pipsen geändert

von Stefan F. (Gast)


Lesenswert?

Offenbar schwingt irgendein loses Teil im Lastkreis mit der PWM Frequenz 
mit. Das ESP Modul wird es wohl kaum sein, weil das ja nicht im 
Lastkreis liegt. Wenn es betroffen wäre, dann auch ohne Last.

von Markus P. (markus_p160)


Lesenswert?

Ich habe nun mal einen zweiten Kreis gelötet aber das selbe Problem.

Ich hätte auch noch IRL540N und IRLZ44N zu Hause wären diese besser 
geeignet? (ich würde daran nur 12V LED Streifen anschließen (jedoch 
schon sehr Helle))

von Stefan F. (Gast)


Lesenswert?

Ich glaube nicht, dass die Transistoren Geräusche machen.

Kannst du das Geräusch nicht genauer lokalisieren?

von Markus P. (markus_p160)


Lesenswert?

Ich glaube eh auch das es vom ESP kommt.

Was kann den sonst mitschwingen?

: Bearbeitet durch User
von Markus P. (markus_p160)


Lesenswert?

Ich habe nochmal sehr genau hingehört ich glaube fast das es von den 
Kondensatoren am Eingang kommt

von Markus P. (markus_p160)


Lesenswert?

Also ich die Ursache Gefunden. Es ist der Eingangskondensator C2 der so 
laut ist!

Die hinundwieder Aussetzer sind nun aber wider sogar mit Batterie wieder 
da.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Markus P. schrieb:
> Es ist der Eingangskondensator C2 der so laut ist!

Dann hast du eine unerwünschte Rückwirkung vom Lastkreis auf diesen 
Eingang. Eventuell sind die Zuleitungen von der Batterie/Netzteil zu 
dünn.

Du kannst das mit einer Diode trennen:
1
12V o-----+----------o Zu den LED
2
          |
3
          +----|>|---+---[7805]---+---o Zum ESP Modul
4
                     |     |      |
5
                     |     |      |
6
                C2  ===    |     === C1
7
                     |     |      |
8
GND o-----+----------+-----+------+---o Zum ESP Modul
9
          |
10
          +--------o Zu den MOSFET

Also Diode würde ich eine 1N4001 nehmen, oder irgendeine andere, die 
mindestens 500mA aushält.

von Markus P. (markus_p160)


Lesenswert?

Ich bin nun mal auf einen externen Step down Modul sowie auf ein anderes 
Netzteil umgestiegen. Weiters habe ich den C2 sowie den L7805 einfach 
komplett ausgelötet.

Power Supply
https://de.aliexpress.com/item/32811129630.html?spm=a2g0s.9042311.0.0.27424c4dCVTyOn

DC Converter
https://de.aliexpress.com/item/32721507753.html?spm=a2g0s.9042311.0.0.27424c4dSeAQVn

Die Links sind nur Reverenzen

Nun scheint alles gut zu sein. Ich habe auch alle 6 Kanäle eingelötet 
und die Software fertig gemacht. Bis jetzt keine Probleme.

Vielen Dank für die Hilfe

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.