Hallo, bin hier neu im Forum und hätte mal eine Frage an die Spezialisten unter euch. Ich habe mir das Retro Game Ping Pong zugelegt und habe dieses nun auf größere weiße LED´s umgebaut. Nun leuchten die LED´s aber durch das multiplexen nicht besonders hell. Um das zu ändern war nun mein Gedanke hinter die Schieberegister (siehe Schaltung) jeweils einen ULN2804 zu packen und zwischen Controller und Led-Zeilen jeweils einen BC337 um die LED´s dann mit höherer Spannung bzw. Strömen zu versorgen. Das funktioniert aber nicht so recht. Sobald ich den Pin9 (Masse) des ULN anklemme leuchtet die gesamte angesteuerte Zeile, klemme ich ihn wieder ab wird sie normal angesteuert. Allerdings dann auch nur mit geringer Helligkeit. Habe den ULN laut Datenblatt verbunden und den BC337 mit Basis an den Contoller, Kollektor an plus und Emitter an die LED Zeile. Was läuft da verkehrt? Hoffe Ihr könnt mir helfen. Gruß Tito
Stefan Westermann schrieb: > BC337 mit Basis an den > Contoller, Das ist ein NPN-Typ - in deiner Beschaltung brauchst du einen PNP, also den 327
Stefan Westermann schrieb: > Habe den ULN laut Datenblatt verbunden und den BC337 mit Basis an den > Contoller, Kollektor an plus und Emitter an die LED Zeile. > Was läuft da verkehrt? > > Hoffe Ihr könnt mir helfen. Zeichne mal ein Schaltbild was du da genau wie verbunden hast. BC337 ist ein NPN Transistor. Für einen LowSide Treiber wäre aber ein PNP angebracht Hast du keinen Basiswiderstand? Welche Vorwiderstände benutzt du für die LED? und last but not least, mit welcher Spannung gehst du an den Transistor? Immer noch 5V oder bist du höher gegangen? (Eng damit verknüpft ist die Frage nach den Vorwiderständen der LED)
Freeed schrieb: > Karl heinz Buchegger schrieb: >> LowSide Treiber > > Hi-Side Ich bring die beiden immer durcheinander. Keine Ahnung warum. Meine Denke ist immer: Auf welcher Seite ist die Last Sollte aber sein: Auf welcher Seite ist der Treiber von der Last aus gesehen. Sorry for that.
Danke für die schnellen Anworten. Zeichnung kriege ich auf die schnelle jetzt nicht hin. Ich habe aber den Transistor hinter den Controller und vor den Vorwiderstand(R68) der LED Zeilen gestzt, ohne Basiswidertand. Den ULN zwischen Schieberegister und LED Spalten. Als Zusatzspannung habe mal 9 Volt probiert.
Stefan Westermann schrieb: > Den ULN > zwischen Schieberegister und LED Spalten. Dadurch verringerst du doch die Leistung nurnoch weiter...Das macht kein Sinn. Wenn dann die Ausgänge vom Schieberegister an die Eingänge vom ULN und den gegen Masse. Stefan Westermann schrieb: > Ich habe aber den Transistor hinter den Controller und vor den > Vorwiderstand(R68) der LED Zeilen gestzt Das ist auch OK, jedoch bekommst du dadurch nicht die volle Spannung an deine Zeilen...nimm lieber nen PNP MIT Basisvorwiderstand.
Stefan Westermann schrieb: > Danke für die schnellen Anworten. > > Zeichnung kriege ich auf die schnelle jetzt nicht hin. Nicht mal in Paint? 1 Ausgang -> 1 Transistor -> 1 Widerstand -> 1 ULN Eingang würden ja schon reichen. Muss ja nicht die komplette Matrix sein. > Ich habe aber den Transistor hinter den Controller und vor den > Vorwiderstand(R68) den Vorwiderstand hast du gelassen? > der LED Zeilen gesetzt, ohne Basiswidertand. Schon mal schlecht > Den ULN > zwischen Schieberegister und LED Spalten. OK. Bei dem kann man auch kaum was falsch machen. > Als Zusatzspannung habe mal 9 > Volt probiert. Das war IMHO keine so gute Idee. Jetzt muss mehr Spannung am Vorwiderstand abfallen, damit du den Stromfluss erhöhst. Dazu kommt, dass du dann nicht einfach einen PNP Transistor als Treiber nehmen kannst, weil du den Transistor dann nicht mehr mit dem µC Output zum sperren bringst. Besser wäre es wenn du die Vorwiderstände verkleinerst.
Ich hätts überhaupt umgedreht: den ULN als Zeilentreiber und mit dem Schieberegister die BC337 (+Basiswiderstand) jeweils 1 Spalte nach Masse durchschalten lassen. Der ULN ist darauf ausgelegt mittels 5V eine höhere Spannung zu schalten. Brauch ich mich nicht selber drum kümmern.
Jo, wie Karl schreibt, oder so wie im Bild - beachte jedoch bei der Berechnung, dass über dem ULN noch ca. 1V abfällt, musste mal im Datenblatt schauen.
OK, mit den 9V klappt das so natürlich auch nicht, dass müsste dann schon die selbe Spannung wie vom uC sein. Oder eben alles anders herum ansteuern.
habe jetzt mal schnell was "gemalt", hoffe das hilft weiter. Vorwiderstand habe ich gelasssen. Gut, die Spannung und Widerstände kann man ändern. Hauptsächlich geht es mir darum das die Schaltung korrekt funtioniert.
Stefan Westermann schrieb: > Sobald ich den Pin9 (Masse) des > ULN anklemme leuchtet die gesamte angesteuerte Zeile Dir ist schon klar, dass der ULN das Signal invertiert und die Software entsprechend geändert werden muss???
wenn du einen Multiplexer verwendest- dann kannst du doch einfach höhere Ströme/Spannungen fahren- wie verhalten sich die LEDs wenn du R1 etc verringerst?
In wie fern invertiert? Wenn du einen Baisstrom fließen lässt (also eine positive Spannung anlegst. Bzw. ein logisches HIGH), dann leuchtet die LED, weil dann der Transistor durchsteuert.
Simon K. schrieb: > In wie fern invertiert? > Wenn du einen Baisstrom fließen lässt (also eine positive Spannung > anlegst. Bzw. ein logisches HIGH), dann leuchtet die LED, weil dann der > Transistor durchsteuert. Der ganze Aufbau mit den ULN am Schieberegister ist doch Unsinn. Überleg doch mal wie da der Strom fliessen muss und welchen Weg der nimmt! Im Grunde kannst du dir den ULN auch sparen und gleich den ganzen Strom im Schieberegister versenken. Läuft doch auf genau das gleiche hinaus. Bei dir würde der LED-Strom über den Eingang des ULN hereinkommen. Dafür ist der aber ganz sicher nicht gedacht. Wie oben schon gesagt: Drehs um: Der Strom kommt von + Geht durch den ULN (der vom µC angesteuert wird) über die Vorwiderstände durch die LED und von dort über einen NPN Transistor, der vom Schieberegister angesteuert wird (aber diesmal bitte mit Basiswiderstand) nach Masse.
Simon K. schrieb: > In wie fern invertiert? > Wenn du einen Baisstrom fließen lässt (also eine positive Spannung > anlegst. Bzw. ein logisches HIGH), dann leuchtet die LED, weil dann der > Transistor durchsteuert. Ohne ULN würden die LEDs bei Low leuchten! Der Vorschlag von Karl Heinz ist die sinnvollste Lösung - einfach die Matrix umdrehen.
Mea Culpa. ULN2003 sind Darlington Transistor Arrays, die gegen Masse schalten. Also ist das gut so, wie du es jetzt hast. Muss die Hitze sein oder das Unwetter, ich bin komplett daneben gestanden. Einzig die NPN solltest du gegen PNP austauschen, Basiswiderstand dazu, als versorgungsspannung 5V (anstelle von 9) und natürlich im Programm die Invertierung beachten. Nochmals: Ich hab mich da komplett verfranst! Sorry for that Das ist mir jetzt peinlich. Hoffentlich hast du noch nicht angefangen den ULN um zulöten.
Klaus 2m5 schrieb: > Simon K. schrieb: >> In wie fern invertiert? >> Wenn du einen Baisstrom fließen lässt (also eine positive Spannung >> anlegst. Bzw. ein logisches HIGH), dann leuchtet die LED, weil dann der >> Transistor durchsteuert. > > Ohne ULN würden die LEDs bei Low leuchten! Der Vorschlag von Karl Heinz > ist die sinnvollste Lösung - einfach die Matrix umdrehen. Ja, also wenn man die LEDs direkt an die Schieberegister dengeln würde. Da haste natürlich Recht.
Karl heinz Buchegger schrieb: > Muss die Hitze sein oder das Unwetter, ich bin komplett daneben > gestanden. Die Grundidee dahinter war schon ganz O.K. denke ich. Möglicherweise muss man noch einen Vorverstärker für die BC327 einsetzen - oder gleich UDN2981.
Die Versogungsspannung der Matrix kann man nur erhöhen, wenn auch die Schieberegister mit der höheren Spannung betrieben werden. Die Ausgänge des ATMEGA und des 4094 sind über Dioden auf den Betriebsspannungsbereich "geclampt". Damit können sie sich nur zwischen Ground-0,6V und VCC+0,6V bewegen und keinen High-Side Treiber mit höherer Spannung treiben. Der BC327 würde immer durchgeschaltet sein, da zwischen Basis (~5,6V) und Emitter (~9V) immer ein Strom fließen würde. Auch mit einem BC337 als Emitterfolger klappt das nicht, da die Spannung am Emitter immer ca. 0,6V unter der Basisspannung liegt und die höhere Spannung an der Matrix gar nicht ankommt.
> > Einzig die NPN solltest du gegen PNP austauschen, Basiswiderstand dazu, > als versorgungsspannung 5V (anstelle von 9) und natürlich im Programm > die Invertierung beachten. > > Nochmals: Ich hab mich da komplett verfranst! Sorry for that > Das ist mir jetzt peinlich. Hoffentlich hast du noch nicht angefangen > den ULN um zulöten. Habe noch nicht angefangen. Werde mir morgen ein paar pnp Transistoren besorgen und das mal ausprobieren. Allerdings bin ich was das programmieren angeht nicht besonders Firm, mal schauen ob ich das geregelt kriege.
Vielleicht wäre auch jemand so nett mal in das Programm zu schauen und die Invertierung zu ändern.
Stefan Westermann schrieb: > Vielleicht wäre auch jemand so nett mal in das Programm zu schauen und > die Invertierung zu ändern. Geht nur, wenn der Sourcecode verfügbar ist. Wenn nicht, nimm ein paar 4049 Inverter und Level-Shifter, um die ULN und Transistoren zu treiben.
> Geht nur, wenn der Sourcecode verfügbar ist.
Ist vorhanden, kein Problem.
Der komplette Sourcecode des Pong Spiels auf dem Pong "Bausatz" ist nicht verfügbar. Aber es sind die wesentlichen Routinen zur Ansteuerung der LEDs verfügbar (BASCOM). Desweiteren sind über ca. 30 verschiedene Projekte mit anderen Spielen und Anwendungen auch in Sourceform (BASCOM, C) verfügbar. Man braucht nur z.B. auf der ELO Webseite nach Pong zu stöbern.
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.