Forum: Mikrocontroller und Digitale Elektronik ATMega8 und Transistorschaltung


von Andreas K. (crazyicecap)


Lesenswert?

Hi! Ich habe da mal eine kleine Verständnisfrage.
Folgendes: Ich möchte wahlweise an einem Joystick Je einen Pin als +5v 
und einen Pin als Steuerleitung (auch mit +5v) verwenden. Normal kein 
Problem, klemmt man den einen Pin halt an VCC. Geht hier nicht, weil die 
angeschlossenen Pads unterschiedliche Belegungen verwenden. Bei dem 
einen ist Pin5 VCC und Pin 7 Steuerung, bei dem anderen genau umgekehrt.

Da ich die Versorgungsspannung ungern direkt über den Atmel ziehen will, 
sollte das besser über eine Transistorschaltung passieren. Allerdings 
kann ich die aus dem Tutorial nicht verwenden, da dort GND geschaltet 
wird; ich muss aber + schalten.

Wie gehe ich da vor?

von Falk B. (falk)


Lesenswert?

@ Andreas Kähler (crazyicecap)

>Da ich die Versorgungsspannung ungern direkt über den Atmel ziehen will,

Warum nicht? Wieviel Strom wird denn benötigt.

MFG
Falk

von Der M. (steinadler)


Lesenswert?

Dann hängst du die Last eben zwischen Kollektor und VCC. Und verbindest 
den Kollektor mit Masse.
Bei nem NPN-Transistor musst du hierbei aber mit 0,7V Spannungsabfall 
rechnen.

Oder du nimmst nen FET.

von Steven (. (ovular) Benutzerseite


Lesenswert?

Punkt 2 auf dieser Seite
http://www.elektronik-kompendium.de/public/schaerer/powsw1.htm
Schau dir mal die PNP Schaltung an...

Gruß Steven

von Andreas K. (crazyicecap)


Angehängte Dateien:

Lesenswert?

Falk Brunner wrote:
> @ Andreas Kähler (crazyicecap)
>
>>Da ich die Versorgungsspannung ungern direkt über den Atmel ziehen will,
>
> Warum nicht? Wieviel Strom wird denn benötigt.
>
> MFG
> Falk

Naja, in den verwendeten Joypads ist ein wenig Elektronik in Form von 
TTL- und CMOS-Bauteilen verbaut. Ich weiss nicht genau, wieviel da max. 
gezogen wird. Beim C64 jedenfall stehen am Joyport max. 50mA zur 
Verfügung, danach werden sich wohl die meisten Pads richten.

Ist halt so, dass der GND vom Pad auch für alle anderen Funktionen 
gebraucht wird; die entsprehenden Taster ziehen die Ports jeweils auf 
Masse. Wenn ich also die Masse schalten würde, dann würde nix mehr 
gehen...

Würde das so wie im Anhang gehen?

von Der M. (steinadler)


Lesenswert?

50mA bekommste locker mit nem normalen Transistor hin.

Wenn RC dein Joystick ist, dann ists okay.
Wenn du hast, dann nimm lieber einen PNP-Typ.
NPN sollte zwar auch gehen, aber dann hast du nen Spannungsabfall von 
0,7V.

von Andreas K. (crazyicecap)


Lesenswert?

Danke! Ich probiere es mal mit nem BC547A aus (davon habe ich noch ein 
paar liegen), ansonsten muss ich wohl doch mal wieder ne Bestellung 
machen...

von Steven (. (ovular) Benutzerseite


Lesenswert?

Bahnhof

von Der M. (steinadler)


Lesenswert?

BC547 ist NPN.
Du kannst ja probehalber mal eine Diode 1N400x in die +-Leitung hängen.

von Falk B. (falk)


Lesenswert?

@Andreas Kähler (crazyicecap)

>gezogen wird. Beim C64 jedenfall stehen am Joyport max. 50mA zur
>Verfügung, danach werden sich wohl die meisten Pads richten.

Wahrscheinlich brauchen die wesentlich weniger. Ist ja ausser Dauerfeuer 
nix drin, oder?

>Würde das so wie im Anhang gehen?

Nöö. Schalte die direkt mit dem AVR. Wen dir das nicht reicht, schalte 
ein paar 74HC125 Gates parallel, die bringen dann schon genug Strom und 
man kann sie abschalten.

MFG
Falk

von Der M. (steinadler)


Lesenswert?

Steven W. wrote:
> und 0,7V hast du auch bei PNP

Achso?
Man könnte jetzt sogar noch den Basiswiderstand einsparen.

von Der M. (steinadler)


Lesenswert?

Falk Brunner wrote:
> Wahrscheinlich brauchen die wesentlich weniger. Ist ja ausser Dauerfeuer
> nix drin, oder?

;-)

>>Würde das so wie im Anhang gehen?
> Nöö.

Wieso denn nicht?

von Falk B. (falk)


Lesenswert?

@Micha R. (steinadler)

>Wieso denn nicht?

Weil der Basiswiderstand in der Emitterschaltung fehl am PLatz ist, er 
erzeugt zusätzlichen Spannungsabfall und begrenzt bisweilen sinnlos den 
Ausgangsstrom.

MFG
Falk

von Andreas K. (crazyicecap)


Lesenswert?

Falk Brunner wrote:

> Wahrscheinlich brauchen die wesentlich weniger. Ist ja ausser Dauerfeuer
> nix drin, oder?
In C64/Atari-Pads und Stick stimmt das (CD4040 und der allseits beliebte 
NE555 sind da die Stammkandidaten), und im MegaDrive-Pad ist auch nur 
ein 74LS157 drin, nur beim CD32 kommt ein LS125 und ein LS165 
Schieberegister dazu. Wie schaut das dann aus?

Und wie soll das mit dem HC125-Gatter laufen?

edit: Hmpf...Datenblatt lesen hilft.
C auf LOW, und dann mehrere Eingänge parallel zusammen an den Ausgang 
vom AVR; die Ausgänge parallel zusammen zum Joystick, ja? Laut 
Datenblatt liefert jeder Ausgang max. 24 mA, also dürfte ich mit 3 
Gattern auf der sicheren Seite liegen.

von Falk B. (falk)


Lesenswert?

@ Andreas Kähler (crazyicecap)

>In C64/Atari-Pads und Stick stimmt das (CD4040 und der allseits beliebte
>NE555 sind da die Stammkandidaten),

Sooooo teure ICs? Bei meinen waren immer nur drei Transistoren, 2 Cs und 
fünf Widerstände drin, astabiler Multivibrator halt.

> und im MegaDrive-Pad ist auch nur
>ein 74LS157 drin, nur beim CD32 kommt ein LS125 und ein LS165
>Schieberegister dazu. Wie schaut das dann aus?

Immer noch alles <1mA in Summe.

>Und wie soll das mit dem HC125-Gatter laufen?

Die 125 sind starke Bustreiber, die bringen mehr Strom. Man kann sie auf 
Tristate schalten, wenn das Pin als Eingang genutzt werden soll.

MFG
Falk

von Andreas K. (crazyicecap)


Lesenswert?

Alles klar, dann kann ich mir das ganze sparen. Mir hat nur jemand im 
BASCOM-Forum gesagt, dass es ne sehr schlechte Idee wäre, die Joypads 
über die IO-Pins zu versorgen...
Ich hielt es halt für ne gute Idee, da bei dem MD-Pad der eine Pin 
getaktet ist, und beim CD32 der andere.

Mittlerweile bin ich auch von Assembler zu BASCOM-AVR umgestiegen, das 
ist irgendwie einfacher zu lernen; ASM ist mir (noch) zu abstrakt, und 
für meine Zwecke reicht BASCOM. Sagen wir es mal so: Ich baue nicht die 
Schaltung. um Programmieren zu lernen, sondern lerne Programmieren, um 
die Schaltung bauen zu können :-)

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
Noch kein Account? Hier anmelden.