Forum: Analoge Elektronik und Schaltungstechnik LEDs an N-Kanal MOSFET (IRLML2502) flackern.


von Richard (Gast)


Lesenswert?

Hallo Zusammen.

ich bin derzeit an einem kleinen Projekt. Ich steuere eine High Power 
RGB LED (jeweils ca. 600mA) mit einem Atmega328P an. Dafür verwende ich 
die Arduino IDE und die LEDs werden mit der PT4115 Konstantstromquelle 
versorgt.

3 PWM-Pins des Atmega gehen zu den 3 DIM Eingängen der 3 PT4115 
Bausteine.

Der Atmega wird mit einen LM7805 mit 5V versorgt. Die Eingangsspannung 
ist ca. 10V.

Am Atmega hängt noch ein IRLML2502, welcher die Versorgungsspannung der 
LEDs erst nach ein paar Sekunden zuschalten soll.

http://www.mikrocontroller.net/wikifiles/4/4f/Relais_npn.png

Das rechte Bild: Anstelle des Relais und der Diode könnt euch oben die 
10V Versorgungsspannung und an Drain ist GND des PT4115 angeschlossen.
Und anstelle des 100kOhm Widerstandes verwende ich 10kOhm.

Das Problem ist nun. Wenn ich PWM auf 0 setzte blitzen die LEDs die 
ganze Zeit ganz leicht.
Lasse ich den Mosfet weg klappt es ohne Probleme aber dann habe ich 
andere Probleme mit meinem uC, das er irgendwie nicht ganz genau sauber 
aufstartet.
Das ganze ist an einem Steckbrett aufgebaut. Beide Varianten (mit/ohne 
Mosfet) Also denke ich an den Dünnen Laborkabeln liegt es nicht.

Wie könnte das mit dem Mosfet zusammenhängen?

Danke

: Verschoben durch Admin
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Richard schrieb:
> Das rechte Bild: Anstelle des Relais und der Diode könnt euch oben die
> 10V Versorgungsspannung und an Drain ist GND des PT4115 angeschlossen.
Es ist i.A. immer(!) eine ganz schlechte Idee, einem IC "seinen" GND 
wegzuschalten. Denn damit verleirt der seinen Bezugspunkt und du 
verletzt fast automtisch einige der Parameter im Datenblatt.
Dieser DIM-Eingang wäre dann auch der Pin, der zum Ein- und Ausschalten 
des Reglers gedacht ist, denn im DB steht:
1
Logic level dimming input. Drive DIM low to turn off the current regulator.
2
Drive DIM high to enable the current regulator.
Also einfach einen 4k7 Pulldown und einen uC-Pin dort anschließen. Der 
angeschlossene uC-Pin bleibt ab Reset bis zur Initialisierung nämlich 
einfach hochohmig...

> Wie könnte das mit dem Mosfet zusammenhängen?
Hast du z.B. die KSQ und den uC z.B. noch über den DIM-Pin miteinander 
verbunden?

> Das Problem ist nun.
Das wir hier eine Ratestunde haben. Du meinst, du hast alles gesagt, und 
trotzdem kann laut dieser Beschreibung eine solche Querwirkung 
eigentlich nicht sein. Ergo muss da noch mehr sein.

Am einfachsten unterhalten sich Elektroniker mit Schaltplänen. Als 
schlechtere Alternative gilt eine Beschreibung und ein brauchbares Foto 
vom Aufbau. Unbrauchbar ist eine Textbeschreibung, bei der der 
eigentliche Fehler gerne unterschlagen wird.

: Bearbeitet durch Moderator
von Richard (Gast)


Angehängte Dateien:

Lesenswert?

Anbei der Schaltplan.

Entschuldigung das ich da in PowerPoint reinpfuschen musste, aber ich 
hab in Eagle eine fertige PT4115 KSQ gehabt und Importiert somit musste 
ich jetzt verschiedene Blätter auf ein Bild ziehen ;-)

von H.Joachim S. (crazyhorse)


Lesenswert?

Gnd einer Baugruppe schaltet man höchstens wann weg? Wenn man genau 
weiss, was man tut.

Ja, es ist oft lästiger Vcc zu schalten...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Richard schrieb:
> Anbei der Schaltplan.
Besser als nix.

Fazit: die Verbindung vom DIM-Eingang des Schaltreglers zum uC macht dir 
diese Probleme, wenn du dem Schaltregler die Masse wegnimmst. Denn 
wenn diese Masse fehlt, haben alle Pins des Schaltreglers nur noch die 
10V von V+ als Bezugspunkt. Und mehr oder weniger diese Spannung wirst 
du dann auch an allen Pins haben. Also hat ohne GND-Anschluss der 
DIM-Pin irgendwas um 10V.

Und diese 10V gibst du auf den uC-Eingang. Dort geht es dann über die 
ESD-Schutzdiode auf Vcc und der uC läuft (mehr schlecht als recht) los. 
Natürlich wird aufgrund irgendwelcher Übergangswiderstände die Spannung 
am DIM-Pin bei Belastung zusammenbrechen (zum Glück, sonst wäre dein uC 
kaputt!). Aber offenbar reicht es aus, um noch irgendwelche seltsame 
"Zuckungen" zu tun.

Langer Rede kurzer Sinn:
Keine Bastelei am GND-Pin. Nimm den DIM-Pin zum Abschalten des Reglers.

: Bearbeitet durch Moderator
von Richard (Gast)


Lesenswert?

Ok das mit GND nicht unterbrechen werde ich mir auf jeden Fall merken. 
Was wäre denn wenn ich den n-kanal mosfet low side betreibe. Also ich 
unterbreche nicht GND sondern VCC? Das sollte theoretisch doch auch 
gehen oder?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Richard schrieb:
> Was wäre denn wenn ich den n-kanal mosfet low side betreibe.
Genau das tatest du bisher doch schon  :-o

> Also ich unterbreche nicht GND sondern VCC?
Das wäre dann also die High-Side, die du in zukunft unterbrechen willst. 
Dafür ist ein N-Kanal Mosfet ganz ungünstig, weil der zum 
Durchschalten am Gate eine positivere Spannung als an der Source 
braucht. Wenn du also 10V durchschalten willst, dann brauchst du am Gate 
z.B. 15V oder 20V. Und es ist immer recht kompliziert, so eine Spannung 
zu bekommen und die auch noch aufs Gate zu steuern...

> Das sollte theoretisch doch auch gehen oder?
Dann brauchst du einen P-Kanal Mosfet.
Vereinfacht kannst du dir merken:
Negative Seite schalten --> N Kanal mit Source an -
Positive Seite schalten --> P Kanal mit Source an +
Alternativ musst du dir das nicht merken, sondern kannst es dir einfach 
jedesmal überlegen. Langfristig ist das besser...   ;-)

: Bearbeitet durch Moderator
von U. C. (Gast)


Lesenswert?

Lothar M. schrieb:
> Dann brauchst du einen P-Kanal Mosfet.

Oder einen fertigen HighSide Switch mit Ladepumpe.
Z.B. einen aus der BTS Reihe

von Simon (Gast)


Lesenswert?

U. C. schrieb:
> Lothar M. schrieb:
>> Dann brauchst du einen P-Kanal Mosfet.
>
> Oder einen fertigen HighSide Switch mit Ladepumpe.
> Z.B. einen aus der BTS Reihe

Mir scheint als würden die PWM-Ausgänge auch beim vorgegebenen Wert 0 
kurzzeitig aktiv sein. Kannst du das bestätigen?
Das Problem könntes du umgehen indem du den Pin, wenn der Treiber 
ausschalten soll, als normalen Ausgang rekonfigurierst und den auf den 
niedrigen Pegel steuern lässt. Dann kann man sich zusätzliche 
Schaltungen sparen.

von Richard (Gast)


Lesenswert?

Simon schrieb:
> U. C. schrieb:
>> Lothar M. schrieb:
>>> Dann brauchst du einen P-Kanal Mosfet.
>> Oder einen fertigen HighSide Switch mit Ladepumpe.
>> Z.B. einen aus der BTS Reihe
>
> Mir scheint als würden die PWM-Ausgänge auch beim vorgegebenen Wert 0
> kurzzeitig aktiv sein. Kannst du das bestätigen?
> Das Problem könntes du umgehen indem du den Pin, wenn der Treiber
> ausschalten soll, als normalen Ausgang rekonfigurierst und den auf den
> niedrigen Pegel steuern lässt. Dann kann man sich zusätzliche
> Schaltungen sparen.

Ja das ist das Problem. Ich habe die pwm Pins als Output definiert und 
den Wert als 0 im Setup().
Aber das bringt nicht den gewünschten Erfolg. Wie definiere ich es denn 
zu einem "normalen" Ausgang?

von U. C. (Gast)


Lesenswert?

Der DIM Eingang des Reglers hat einen internen Pullup.
Daher wird die LED leuchten, bis der Pin auf Low gezwungen wird.
Im/Nach Reset sind die Pins des erst mal AVR hochohmig.
Die LED leuchtet beim Reset/Poweron

von Simon (Gast)


Lesenswert?

> Ja das ist das Problem. Ich habe die pwm Pins als Output definiert und
> den Wert als 0 im Setup().
> Aber das bringt nicht den gewünschten Erfolg. Wie definiere ich es denn
> zu einem "normalen" Ausgang?

Das kann ich dir leider nicht sagen. Kannst du aber bestimmt auch hier 
im Wiki finden.

> Der DIM Eingang des Reglers hat einen internen Pullup.
> Daher wird die LED leuchten, bis der Pin auf Low gezwungen wird.
> Im/Nach Reset sind die Pins des erst mal AVR hochohmig.
> Die LED leuchtet beim Reset/Poweron

Guter Punkt, dann braucht man doch noch einen N-Kanal, der mit Drain am 
DIM hängt, mit Source an Masse und am Gate einen pull-up nach VDD hat 
und einen zweiten Ausgang vom Mikrocomputer der den Transistor dann 
abschaltet, wenn der Regler laufen soll.

von Richard (Gast)


Lesenswert?

Lothar M. schrieb:
>> Das sollte theoretisch doch auch gehen oder?
> Dann brauchst du einen P-Kanal Mosfet.

Was genau kann ich da denn für einen nehmen?
Strom sind ca 1.8A
VCC ist 10VDC

Brauche ich noch einen wiederstand am p Kanal mosfet? Danke :)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Du brauchst noch mehr, denn wenn dein uC 0V und 5V ausgeben kann, und du 
das direkt ans Gate des P-Kanal Fets anschließt, dessen Source an 10V 
hängt, dann ergibt das eine Ugs von 10V bzw. 5V und der Mosfet wird nie 
(richtig) sperren...
Du brauchst einen Inverter bzw. Treibertransistor davor.

BTW: die Idee mit dem BTS Highside Schalter ist gar nicht mal so 
schlecht.

: Bearbeitet durch Moderator
von Matthias K. (mkeller)


Lesenswert?

Ich benutze auch den PT4115. Wieso hängst du an den DIM-Eingang nicht 
einfach einen Pull-Down? Dann passiert beim Booten kein Blödsinn. Den 
MOSFET kannst du dir dann sparen...

von Richard (Gast)


Lesenswert?

Matthias K. schrieb:
> Ich benutze auch den PT4115. Wieso hängst du an den DIM-Eingang nicht
> einfach einen Pull-Down? Dann passiert beim Booten kein Blödsinn. Den
> MOSFET kannst du dir dann sparen...

Das wäre toll. Würde ich gerne ausprobieren. Was für einen 
Widerstandswert hast du da genommen?
Pull-Down heisst ja den Widerstand zwischen DIM und GND platzieren, 
oder?

von U. C. (Gast)


Lesenswert?

Richard schrieb:
> Was für einen
> Widerstandswert hast du da genommen?

Das kannst du dir ausrechnen!

1. Den Wert des internen Pullups findest du im Datenblatt des PT4115.
2. Die Spannung, bei der DIM auf Aus geht, findest du im Datenblatt des 
PT4115.
3. Den max Strom für den Port/Pin findest du im Datenblatt des µC

Der Widerstand muss so klein, dass DIM zuverlässig auf Aus gezogen wird.
Der Widerstand muss so groß, dass dein µC DIM noch gut auf Ein ziehen 
kann.

Ist da kein Kompromiss zu finden, bedarf es eines Hilfstransistors.


(warum denke ich überhaupt für dich?)
(ich glaube das lasse ich mal....)
(denken lohnt nicht)

von Raffi (Gast)


Lesenswert?

U. C. schrieb:
> Der Widerstand muss so klein, dass DIM zuverlässig auf Aus gezogen wird.
> Der Widerstand muss so groß, dass dein µC DIM noch gut auf Ein ziehen
> kann.

Also die oberen Werte habe ich alle gefunden. Aber genau das Verstehe 
ich nicht. Der Pin des Atmega328 ist ja für einen ganz kurzen Moment auf 
5V. Dies möchte ich jetzt quasi über den Pulldown laufen lassen. Im 
späteren betrieb ist er ja dann auch auf 5V und da soll es dann 
plötzlich nicht mehr über den Pulldown gehen. Irgendwie verstehe ich das 
nicht was das bringen soll.

R(Pullup, PT4115): 200kOhm
U(DimLow): 0.3V
I(Max current Atmega IO Pin): 0.04A

von Richard (Gast)


Lesenswert?

Sorry falscher username. Das passiert wenn man nen Gemeinschaftsrechner 
in der Pause benutzt ;-)

von Richard (Gast)


Lesenswert?

Könnte denn auch ein RC Glied funktionieren?
Das wäre ne einfache Möglichkeit für mich.

von U. C. (Gast)


Lesenswert?

Raffi schrieb:
> Irgendwie verstehe ich das
> nicht was das bringen soll.

Das soll dir das gewünschte Verhalten bringen.
Kein Aufblitzen, bei PowerOn/Reset.

von Richard (Gast)


Lesenswert?

U. C. schrieb:
> Raffi schrieb:
>> Irgendwie verstehe ich das
>> nicht was das bringen soll.
>
> Das soll dir das gewünschte Verhalten bringen.
> Kein Aufblitzen, bei PowerOn/Reset.

OK, aber wie funktioniert es?

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.