Retro Game Ping Pong modifizieren Atmega8

OP #1793029
Lesenswert?

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
Angehängte Dateien:
#1793037
Lesenswert?

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)
OP #1793063
Lesenswert?

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.
Gast #1793071
Lesenswert?

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.
#1793073
Lesenswert?

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.
#1793248
Lesenswert?

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.
#1793296
Lesenswert?

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.
Persönliche Seite #1793304
Lesenswert?

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.
#1793391
Lesenswert?

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.
OP #1793403
Lesenswert?

>
> 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.
Persönliche Seite #1995050
Lesenswert?

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.

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