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
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.
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!
@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
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 ;-)
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
abgeschaltetenLEDs nicht richtig aus gehen. Das kann aber nicht sein.
Meiner Meinung nach gehen die eingeschaltetenLEDs 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.
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.
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.
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.
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?
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?
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?
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?
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