Forum: Mikrocontroller und Digitale Elektronik Led dimmen mit MOSFET an ULN2803 funktioniert nicht richtig. Warum?


von willi (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen,
ich zerbrech mir schon länger den Kopf über folgendes Problem:

Ich steuere über einen ATMega16 und I2C mehrere 12V Led-Stripes an. 
Zwischen meinem I2C Expander und den Led-Stripes ist dann noch der 
ULN2803 damit ich die 12V schalten kann. das funktioniert auch soweit 
ganz gut.
Jetzt wollte ich das ganze noch mit PWM dimmen. Das funktioniert auch. 
Nur nicht beides zusammen.
Also das PWM Signal liegt an dem GND vom ULN2803. So lange ich die 
Signale von meinem Expander nicht ändere kann ich auch wunderbar dimmen, 
aber so bald ich einzelne Stripes abschaltet während ich dimme, schalten 
diese nicht richtig ab und ich hab das Gefühl, der ULN2803 macht was er 
will.
Woran liegt das? Ich habe hier im Forum gelesen das das so eigentlich 
geht...

Ich wäre für eine hilfreiche Antwort sehr dankbar und kann auch noch 
Information nachreichen wenn diese nicht reichen.

Vielen Dank
Willi

von Seltener Gast (Gast)


Lesenswert?

willi schrieb:

> Also das PWM Signal liegt an dem GND vom ULN2803.

Bist du sicher, dass das so gehört?

von Jan84 (Gast)


Lesenswert?

Im Datenblatt ist eine Diode vom Eingangspin nach Masse eingezeichnet. 
Das bedeutet, dass wenn Du einen Eingang auf LOW hast, dann zieht dieser 
auch den GND Pin nach Masse und somit machts genau das, was Du 
beschrieben hast.

von Lehrmann M. (ubimbo)


Lesenswert?

Seltener Gast schrieb:
> willi schrieb:
>
>> Also das PWM Signal liegt an dem GND vom ULN2803.
>
> Bist du sicher, dass das so gehört?

Also wenndann wird das aber bitte über einen MOSFET nach GND geschalten. 
Da kann man PWM anlegen!

von willi (Gast)


Lesenswert?

@Seltener Gast:
Nein sicher bin ich nicht aber ohne Umschalten funtioniert das und im 
Forum ist auch berichtet worden das das funktiniert....

@Jan84:
Wie kann ich das verhindern? Muss ich auf ein anders Bauteil umsteigen 
oder kann ich diesen Effekt auch anders beseitgen? Kennst Du zufällig 
ein Darlington Array ohne eine solche Diode. Welchen Sinn hat die 
überhaupt


Ist es vielleicht auch pin 10 noch auf Vcc zulegen?

Danke
Willi

von willi (Gast)


Lesenswert?

Lehrmann Michael schrieb:
> Also wenndann wird das aber bitte über einen MOSFET nach GND geschalten.
> Da kann man PWM anlegen!

Ja klar über MOSFET. Hab ich auch so gemacht, aber vielleicht nicht 
genau genung aus gedrückt, dann entschuldige ich mich hiermit ;-)

von Wilhelm F. (Gast)


Lesenswert?

Jan84 schrieb:

> Im Datenblatt ist eine Diode vom Eingangspin nach Masse eingezeichnet.

Ich rätselte ja auch schon. Aus dem Text entnahm ich, daß die 
abgeschalteten LEDs nicht richtig aus gehen. Das kann aber nicht sein. 
Meiner Meinung nach gehen die eingeschalteten LEDs nicht mehr richtig 
aus, sobald irgend ein Steuerpin auf Low geht, und die PWM herunter 
dimmt.

Abhilfe könnte noch bringen, den I2C-Port mit Dioden von den ULN-Inputs 
zu entkoppeln. Oder die I2C-Ports zur Abschaltung auf Input oder 
High-Impedance zu schalten, anstatt auf Low, wenn dies der I2C-Baustein 
erlaubt.

von willi (Gast)


Lesenswert?

Wilhelm Ferkes schrieb:
> Ich rätselte ja auch schon. Aus dem Text entnahm ich, daß die
> abgeschalteten LEDs nicht richtig aus gehen. Das kann aber nicht sein.
> Meiner Meinung nach gehen die eingeschalteten LEDs nicht mehr richtig
> aus, sobald irgend ein Steuerpin auf Low geht, und die PWM herunter
> dimmt.

Ja ich meinte Leds die abgeschaltet sein sollten gehen nicht ganz aus, 
d.h. der ULN2803 kommt mit der fallenden Flanke nicht richtig zu recht, 
auch schon wenn das nur leicht gedimmt ist. Dabei ist das dann aber noch 
erkennbar. Bei stärkerem dimmen wird es dann ziemlich wirr.

von willi (Gast)


Lesenswert?

ach mit was für Dioden würde das denn am besten gehen? Kann ich die 
1N4148 nehmen um das zu testen oder alternativ hätte ich noch die 1N 
4001 hier. Es geht mir nur darum das damit mal zu testen, kein 
Dauerbetrieb.

von Wilhelm F. (Gast)


Lesenswert?

willi schrieb:

> ach mit was für Dioden würde das denn am besten gehen? Kann ich die
> 1N4148 nehmen

Ja, das reicht für solch eine Signalleitung völlig aus. Erst mal zum 
Test, um den Dingen auf die Spur zu kommen.

von willi (Gast)


Lesenswert?

danke schon mal für die zahlreichen schnellen Antworten ich werde das 
mal testen und mich dann nochmal melden.

von willi (Gast)


Lesenswert?

Wilhelm Ferkes schrieb:
> Abhilfe könnte noch bringen, den I2C-Port mit Dioden von den ULN-Inputs
> zu entkoppeln. Oder die I2C-Ports zur Abschaltung auf Input oder
> High-Impedance zu schalten, anstatt auf Low, wenn dies der I2C-Baustein
> erlaubt.

Ja mit Dioden hab ich das jetzt getestet an einem I2C Baustein 
(PCF8574), funktioniert nur bedingt: also jetzt dimmen die Leds nicht 
mehr und ich so tritt der Fehler nicht mehr auf. So war das aber nicht 
gedacht.

Wäre es einen Versuch wert es mit Pull-Up oder Pull-Down Widerstände 
zwischen PCF8574 und ULN2803. Der PCF8574 hat kein High-Impedance wenn 
ich das im Datenblatt so richtig gesehen habe.

Gibt es sonst noch andere Lösungsvorschläge? Wie schaltet man am besten 
ein PWM Signal?

von gerd b. (Gast)


Angehängte Dateien:

Lesenswert?

Du könntest natürlich auch die einzelnen Kanäle mit dem ULN2803 schalten 
und die 12V Versorgung der Led-Stripes mit PWM modulieren.

von willi (Gast)


Lesenswert?

gerd b. schrieb:
> Du könntest natürlich auch die einzelnen Kanäle mit dem ULN2803 schalten
> und die 12V Versorgung der Led-Stripes mit PWM modulieren.

Ja das wäre sicher auche ein Versuch wert, aber kann man damit genauso 
gut dimmen wenn das über Vdd dimmt oder muss man da noch was anderes 
beachten.
Ich werde es gleich mal mit dieser Transistor Schaltung probieren.

Hat einer noch eine Idee wie das mit der Variante mit Pull-Up oder 
Pull-Down Widerständen aussieht?

von yacumo (Gast)


Lesenswert?

Der ULN2803 ist schlicht zu langsam. Also PWM-Frequenz drastisch senken
oder schnelleren Treiber wählen.

von willi (Gast)


Lesenswert?

Jaaa so funktioniert es! Also mit dem Vorschlag von gerd b.

Ich habe das jetzt mal testweise an einem ULN2803 ausprobiert, insgesamt 
hab ich 6. Jetzt die Frage: Kann ich das PWM-Signal einfach an alle 6 
verteilen und dort mit einer solchen Transistor-Schaltung ausstatten 
oder sollte ich das lieber einmal zentral mit einem P-Kanal MOSFET 
machen?
Und wenn das mit dem MOSFET besser ist, kann ich den einfach gegen den 
PNP-Transistor austauschen?

von Wilhelm F. (Gast)


Lesenswert?

willi schrieb:

> also jetzt dimmen die Leds nicht
> mehr und ich so tritt der Fehler nicht mehr auf. So war das aber nicht
> gedacht.

Die Dioden sind doch richtig herum gepolt? In Durchlaßrichtung von den 
Pins des I2C-Ports zum ULN2803. Der ULN2803 soll ja nur noch die 
High-Pegel an den Inputs bekommen, jeder Weg zu Masse soll gesperrt 
sein.

Wie hoch ist eigentlich die Betriebsspannung des PCF8574? Im Datenblatt 
sind 2,5..6V angegeben. Nur 2,5V abzüglich der Diodenspannung könnte 
etwas zu wenig sein.

Wie hoch ist die PWM-Frequenz?



willi schrieb:

> Jaaa so funktioniert es! Also mit dem Vorschlag von gerd b.

Dieser Vorschlag ist auch vernünftig. So hätte ich es selbst auch 
gelöst, und die Masse am ULN2803 dort gelassen, wo sie gewöhnlich hin 
gehört.

> Kann ich das PWM-Signal einfach an alle 6
> verteilen und dort mit einer solchen Transistor-Schaltung ausstatten
> oder sollte ich das lieber einmal zentral mit einem P-Kanal MOSFET
> machen?

Wie hoch ist denn eigentlich der maximale Gesamtstrom aller LED-Stripes 
an einem einzelnen ULN2803?

von willi (Gast)


Lesenswert?

Wilhelm Ferkes schrieb:
> Die Dioden sind doch richtig herum gepolt? In Durchlaßrichtung von den
> Pins des I2C-Ports zum ULN2803. Der ULN2803 soll ja nur noch die
> High-Pegel an den Inputs bekommen, jeder Weg zu Masse soll gesperrt
> sein.
>
Ja die Dioden sind so gepolt.

> Wie hoch ist eigentlich die Betriebsspannung des PCF8574? Im Datenblatt
> sind 2,5..6V angegeben. Nur 2,5V abzüglich der Diodenspannung könnte
> etwas zu wenig sein.

Die Betriebsspannung des PCF8574 ist in meinem Fall 5V.

>
> Wie hoch ist die PWM-Frequenz?
>
>
Ehm gute Frage also ich habe das aus dem Code "Led-Fading" hier aus dem 
Forum nicht nutze die 8 bit Variante mit 8 Stufen

>
> willi schrieb:
>
>> Jaaa so funktioniert es! Also mit dem Vorschlag von gerd b.
>
> Dieser Vorschlag ist auch vernünftig. So hätte ich es selbst auch
> gelöst, und die Masse am ULN2803 dort gelassen, wo sie gewöhnlich hin
> gehört.
>
>> Kann ich das PWM-Signal einfach an alle 6
>> verteilen und dort mit einer solchen Transistor-Schaltung ausstatten
>> oder sollte ich das lieber einmal zentral mit einem P-Kanal MOSFET
>> machen?
>
> Wie hoch ist denn eigentlich der maximale Gesamtstrom aller LED-Stripes
> an einem einzelnen ULN2803?
Genau nach gemessen hab ich noch nicht aber das werden so ca. 300mA 
sein, also durch aus machbar mit einem Transistor

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.