Tach zusammen, ich versuche Bauteile zu sparen. Arduino steuert TLC5940. Die Ausgänge des TLC schalten wunderbar per PNP 12V (im meinem Testaufbau BD140). Jetzt versuche ich, die PNP mit einem UDN2981 zu erssetzen. Funktioniert aber nicht. Nichts tut sich. Es funktioniert nur, wenn ich noch eine Led oder irgend einen Verbraucher zwischen 5V (Ardu und TLC) und dem Ausgangspin TLC schalte. Dann schaltet der UDN auch. Alle Bauteile sind auf gleicher Masse. Ideen? Danke euch Christian
:
Verschoben durch Admin
Christian schrieb: > Es funktioniert nur, wenn ich noch eine Led oder irgend einen > Verbraucher zwischen 5V (Ardu und TLC) und dem Ausgangspin TLC schalte. [...] > Ideen? PullUp-Widerstände. Der UDN ist kein reines PNP-Array, es braucht ein definiertes High an Eingang.
Christian schrieb: > Es funktioniert nur, wenn ich noch eine Led oder irgend einen > Verbraucher zwischen 5V (Ardu und TLC) und dem Ausgangspin TLC schalte. > Dann schaltet der UDN auch. So muss es auch sein. Schau mal nach, was für Ausgänge TLC hat... Nach PullUp googeln.
Tja das weiß ich auch nicht. Aber der TLC soll die PWM-Kanäle des Arduino erweitern.
Christian schrieb: > Tja das weiß ich auch nicht. Aber der TLC soll die PWM-Kanäle des > Arduino erweitern. So ist es wahrscheinlich auch gedacht, nur der UDN soll die andere Seite steuern (ANODE) und nicht vom TLC angesteuert werden. Auf diese Weise hättest du 8x16 Kanäle mit 8+3 = 11 Pins. Oder 16 Kanäle die direkt an 12V angeschlossen sind, dann brauchst du UDN überhaupt nicht. Oder wie und was machst du da ?
Wenn ich es wüßte, würde ich es Dir sagen ;) Ich brauch 12 Volt, um mehrere Leds in Reihe plus n paar Led-Strips zu schalten. Und eben mehr PWM, als der Ardu hat. Nun hängt aber der TLC und Arduino an 5 Volt. Was tun?
Christian schrieb: > Und eben mehr PWM, als der Ardu hat. Dann muss man halt auf PWM per Software setzen. Dann hat man wiedr mehr als genug PWMs
also klar, ich könnte mit dem TLC auch 12 V schalten, aber die Gesamtlast aller Led in meinem Projekt dürfte den TLC überfordern.
Schreiber schrieb: > Dann muss man halt auf PWM per Software setzen. Dann hat man wiedr mehr > als genug PWMs Das habe ich bei vorherigen Projekten so gemacht. Aber nun reicht die Anzahl der PWMs nicht mehr aus und ich könnte jederzeit noch einen TLC dazuhängen. Bzw. ist das SoftPWM auch nicht allzu schön.
Marc V. schrieb: > So muss es auch sein. Schau mal nach, was für Ausgänge TLC hat... > > Nach PullUp googeln. Hab ich gemacht. Allerdings tue ich mich damit echt schwer, den passenden Wert auszurüsten.
Christian schrieb: > Allerdings tue ich mich damit echt schwer, den > passenden Wert auszurüsten. Wieso, du hast doch schon eine funktionierende Lösung aufgebaut? Christian schrieb: > Es funktioniert nur, wenn ich noch eine Led oder irgend einen > Verbraucher zwischen 5V (Ardu und TLC) und dem Ausgangspin TLC schalte. > Dann schaltet der UDN auch. Wobei nur eine LED (ohne Vorwiderstand für die LED) eine schlechte Wahl als Pullup ist: der TLC treibt die LED zwar richtig mit einem Konstantstrom, aber die Eingangsspannung stellt sich nach der Flussspannung der LED ein. Je nach Farbe der LED kann es ggf. schwer werden, den UDN2981 sicher ein- oder auszuschalten. Aber irgendein Widerstand als Pull-Up, der genügend Strom für den Eingang des UDN2981 fließen lässt (also Bruchteile von 1mA), funktioniert an der Stelle. Nimm meinetwegen 2,2kOhm und stell den TLC auf >5mA ein.
Achim S. schrieb: > Wieso, du hast doch schon eine funktionierende Lösung aufgebaut? Jedenfalls nicht mit dem UDN > > Christian schrieb: >> Es funktioniert nur, wenn ich noch eine Led oder irgend einen >> Verbraucher zwischen 5V (Ardu und TLC) und dem Ausgangspin TLC schalte. >> Dann schaltet der UDN auch. > > Wobei nur eine LED (ohne Vorwiderstand für die LED) eine schlechte Wahl > als Pullup ist: der TLC treibt die LED zwar richtig mit einem > Konstantstrom, aber die Eingangsspannung stellt sich nach der > Flussspannung der LED ein. Je nach Farbe der LED kann es ggf. schwer > werden, den UDN2981 sicher ein- oder auszuschalten. Ich vergass zu erwähnen ... LED mit Vorwiderstand natürlich. > > Aber irgendein Widerstand als Pull-Up, der genügend Strom für den > Eingang des UDN2981 fließen lässt (also Bruchteile von 1mA), > funktioniert an der Stelle. Nimm meinetwegen 2,2kOhm und stell den TLC > auf >5mA ein. Probiere ich
Christian schrieb: > Achim S. schrieb: >> Wieso, du hast doch schon eine funktionierende Lösung aufgebaut? > Jedenfalls nicht mit dem UDN Verstehe ich nicht. Du hattest doch geschrieben: Christian schrieb: > Es funktioniert nur, wenn ich noch eine Led oder irgend einen > Verbraucher zwischen 5V (Ardu und TLC) und dem Ausgangspin TLC schalte. > Dann schaltet der UDN auch. Wie ist dann dieser Satz zu verstehen?
Ach entschuldige. Ich dachte, Du beziehst Dich auf die Lösung mit dem PNP Transistor. So gesehen hast Du natürlich recht! Jetzt klappt es auch so, nur mit dem Unterschied, dass die Leds nie ganz ausgehen.
Christian schrieb: > Jetzt klappt es auch so, nur mit dem Unterschied, dass die Leds nie ganz > ausgehen. Ok, dann bitte zur Klärung: welche LEDs gehen nie ganz aus? Die am Ausgang des UDN? Oder die am Eingang des UDN, die du als Pullup verwendest? Wie sieht jetzt deine konkrete Schaltung zwischen TLC und UDN aus und auf welchen Strom hast du den TLC eingestellt?
Achim S. schrieb: > Ok, dann bitte zur Klärung: welche LEDs gehen nie ganz aus? Die am > Ausgang des UDN? Oder die am Eingang des UDN, die du als Pullup > verwendest? Wie sieht jetzt deine konkrete Schaltung zwischen TLC und > UDN aus und auf welchen Strom hast du den TLC eingestellt? Der Ledstrip am Ausgang UDN gehen nie ganz aus. TLC ist mit 8kOhm eingestellt auf etwas über 5ma. Zwischen TLC und UDN Pullup 3kOhm.
Christian schrieb: > Der Ledstrip am Ausgang UDN gehen nie ganz aus. Bist du sicher, dass der TLC Ausgang auf 100% läuft und nicht doch ein bisschen hin und her wackelt? Dazu reicht es nicht, dass du 100% programmierst, sondern das Timing von GSCLK, XLAT und Blank muss passen. (Evtl. geht 100% on am TLC sogar gar nicht, weil der Blank-Puls zum Starten eines neuen PWM-Pulses eine gewisse Mindestzeit braucht. In der Zeit ist der TLC off und der UDN schaltet ein.) Hast du vielleicht ein Oszi, mit dem du dir das Signal mal anschauen kannst? Christian schrieb: > TLC ist mit 8kOhm eingestellt auf etwas über 5ma. > Zwischen TLC und UDN Pullup 3kOhm. Falls es nicht der oben beschriebene "Nadelpuls" am Ausgang des TLC ist: du kannst ja mal versuchsweise den Pullup etwas größer machen.
Ein Oszi hab ich leider nicht. Wie gesagt geht es mit nem schnöden PNP. Irgendwelche Alternativen zum UDN? Ich spiel mal noch mit den Widerständen.
Also es lag tatsächlich am TLC. Weil das Signal invertiert wird am UDN liegen eben immernoch 0,1 Volt an. Problem mit nem SN74LS04 zwischen TLC und UDN gelöst. Blöde Pin-Layout zwar und nur 6 Kanäle pro Baustein, aber so gehts erstmal.
Christian schrieb: > Also es lag tatsächlich am TLC. Weil das Signal invertiert wird am UDN > liegen eben immernoch 0,1 Volt an. Mit 0,1V am Eingang schaltet der UDN2981 nicht ein. Was du als 0,1V misst ist aber in Wirklichkeit eine Spannung die meistens ~0,1V ist und jedesmal beim Neustart eines PWM-Zyklus kurz auf 5V hochgeht - und in dieser kurzen Zeitspanne schaltet der UDN ein, was du als "Restleuchten" der LEDs wahrnimmst. Der TLC5940 schafft es halt nicht, seinen Ausgang 100% der Zeit auf on zu schalten (man kann sich den 100% nur durch passende Wahl des Timings von GSCLK und Blank-Puls annähern). Dadurch, dass du jetzt einen Inverter dazwischen geschaltet hast, muss der TLC nun 100% der Zeit aus sein, wenn die LEDs nicht leuchten sollen - und das lässt sich leicht realisieren. Schön dass du eine für dich passende Lösung gefunden hast. Aber ob diese Kette von TLC5940, 74LS04 und UDN2981 jetzt weniger Gewurschtel ist als TLC mit nachgeschalteten pnp bin ich nicht sicher...
Elegant geht anders. Sicherlich. Mir ist leider bislang kein anderer Weg eingefallen, um mit nem Arduino mehr PWM-Ports zu bekommen, als über SoftPWM machbar sind.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.