ULN 2803 Was mach ich falsch

Gast #264090
Lesenswert?

Hi.

Ich möchte über einen ULN 2803 mehrere Leds ansteuern. Mein Problem
ist, daß wenn die Led aus sein sollte, sie noch ganz leicht leuchtet.

Ich fahre vom PortB direkt zum ULN 2803 (bei 1 rein und bei 18 wieder
rausfür die erste Led), dann zu meinen 470 Ohm Widerstand und dann zur
Katode der Led. Habe rote, grüne und blaue Probiert, sie leuchten alle
ein bisschen. Ach ja, die Anode der Led hängt an 12V.

8 hängt an minus und mit 9 hab ich auch schon probiert, +12V
dranzuschließen. Aber es war kein Unterschied zu sehen.

Kann mir da jemand helfen?

Gruß Florian
Gast #264091
Lesenswert?

Hallo,

was kommt am PortB Pin raus? Wenn kein Programm läuft ist der
hochohmig.  Das kann reichen, dass der ULN etwas durchschaltet.

Leg mal 1K Ohm vom Eingangspin auf Masse, wenn das hilft, fehlt der Low
Pegel.

Ciao
Gast #264093
Lesenswert?

Hi. Bei Port B Kommt ein PWM Signal raus. Es läuft ein Programm, wo eine
Led immer ein und ausgedimmt wird. Das mit dem Pulldown Widerstand
funktioniert. Komisch, dann muß es ein Programmfehler sein.

Danke Florian
Gast #264096
Lesenswert?

Nochmal zum Anschluß:

Du hast wie folgt angeschlossen?

Pin 1 - Eingang (direkt an Port vom AVR)
Pin 18 -> Ausgang -> 470 Ohm -> LED -|<|-  -> +12V
Pin 9 - Masse

Das funktioniert, habe ich auch schon gemacht.

Gruß Elektrikser
Gast #264097
Lesenswert?

@Florian,

da der Pulldown funktioniert, prüfe mal ob Du irgendwo im Programm den
Port auf Eingang schaltest.

Wenn ein PWM Signal kommt, kann es aber auch sein, dass bei "aus"
kein low am Pin anliegt.

Ciao,
Lötnix
Gast #264098
Lesenswert?

Hi, den Port Schalte ich nirgens auf Eingang. Ich komm einfach nicht
drauf...

Wäre es ein Problem, wenn ich alle Eingänge des ULN 2803 mit 1 KOhm
Pulldown Widerstände bestücke?

Oder kann da nix passieren?

Gruß Florian
Gast #264100
Lesenswert?

Also was ich nicht dazugefügt hatte, ist das ich noch einen 4094
dazwischen habe, da ich dachte, das es uninteressant wäre. Also ich
gebe mit SPI an mehrere Leds eine PWM aus.

@Simon

Ein "ja" oder ein "nein" hätte mir gereicht

Gruß Florian
Persönliche Seite #264101
Lesenswert?

kannst du gerne machen, ich würd allerdings eher nach der ursache
suchen, statt das problem zu unterdrücken..

http://klinkerstein.m-faq.de/index.php?dir=/ANA

Hier habe ich ULN2803 an 4094 gehangen. Allerdings ohne PWM.
Funktioniert ohne Probleme.

Ich fürchte du kriegst kein Low auf die Leitungen am 4094. Irgndwo ein
Programmierfehler.. Oder du befeuerst das 4094 zu stark (CD4094 kann
nicht mehr als 3Mhz etwa)
Gast #264104
Lesenswert?

@Florian,
>Also was ich nicht dazugefügt hatte, ist das ich noch einen 4094
>dazwischen habe, da ich dachte, das es uninteressant wäre. Also ich
>gebe mit SPI an mehrere Leds eine PWM aus.

Argh... Dann hat das mit dem PortB auf Eingang natürlich nichts zu tun.


Ohne Oszi ist ein ev. noch vorhandener Puls schwer zu erkennen,
allerdings schiebst Du ja die PWM für alle Kanäle durch das
Schieberegister. Ich hab mir das 4094 nicht genau angeschaut, aber es
sind ja vermutlich immer alle Ausgänge aktiv (kein Latch).

Wenn Du also das PWM Signal für Kanal 8 "durchschiebst" werden die
Kanäle 1-7 ganz kurz "high". Das könnte das leuchten sein.
Es müsste sich ändern, wenn mehrere Kanäle "ein" sind.

Besser ist es ein 74HC595 zu nehmen, und das Latch zu beschalten, Du
brauchst dann aber einen Steuerport mehr.

HTH,
Lötnix
Gast #264105
Lesenswert?

Hi,
hab mir gerade mal die Seite von Simon angesehen, Strobe ist ja beim
4094 vorhanden und audf seiner Seite auch gut beschrieben.

Also, wenn es kein "Taktfehler" beim Strobe ist, wirds ohne Oszi
schwer.

Viel Erfolg,
Lötnix
#264106
Lesenswert?

Ich schließ mich da an, der Fehler ist in der Software zu suchen.

Entweder es wird falsch gelatcht oder die PWM liefert keine Null.

Falls es noch niemanden aufgefallen ist, eine PWM, die 256 Takte lang
ist, hat 257 verschiedene Zustände.

Oftmals wird daher als höchster Wert 255/256 genommen, damit man ne
echte Null (0/256) hat.


Peter
Gast #264107
Lesenswert?

Ja, es ist so.

Ich mache die Spi per Software.

Ich errechne die einzelnen Werte für die Leds und und schicke sie dann
per clk 48 mal raus. (16 RGB Leds) Die Daten werden im Hintergrund
hineingetaktet, und werden noch nicht ausgegeben.

Wenn das dann fertig ist, dann setze ich den /LE (Strobe) auf high, 3
Takte Nop und dann wieder auf low. Somit werden die Daten an die Leds
ausgegeben.

Die Portänderungen mache ich nur im Timer.

Also das ich zeitlich zu knapp drann bin, glaub ich nicht.


Gruß Florian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren