Forum: Mikrocontroller und Digitale Elektronik Arduino - TTL - Kurzschluss Schutz Frage


von Peter S. (petersieg)


Angehängte Dateien:

Lesenswert?

Siehe dazu auch die Skizze!
Ich habe an einem Einplatinencomputer, der mit 8 Umschaltern 
(ein-aus-ein = 3 Stellungen) versehen ist um ein Datenbyte einzustellen 
= roter Pfeil plus einem Strobe Schalter, der Set/Reset auf GND 
umschaltet (ein-aus-ein = 3 Stellungen).

Um jetzt Programme nicht immer manuell einzutippen, habe ich einen 
Arduino dran gebastelt. Datenbyte Output geht an die mit dem roten Pfeil 
markierten 8 Leitungen (jeweils Pin 2). Strobe geht an 14+15 (grüner 
Pfeil) und dort wird dann jeweils GND gewechselt.

Das funktioniert auch so wie gedacht. Nach dem Upload schalte ich die 
Ausgangspins wieder auf Input_Pullup, um ein weiteres Bedienen des 
Einplatinencomputers über die Schalter zu ermöglichen.

Aber: Man muss drauf achten, das zum Upload der Programme vom Arduino 
zum Einplatinencomputer, die Umschalter in Mittelstellung sind = keine 
Verbindung zu GND oder +5V - sonst gibt es einen Kurzschluss zwischen 
Arduino und Spannungsversorgung, wenn Arduino Ausgangspin auf entgegen 
gesetztem Potential liegt (Schalter auf GND und Pin auf +5V und 
umgekehrt).

Ich wollte jetzt einen Widerstand dazwischen schalten, um den Strom zu 
begrenzen, falls man doch mal Schalter falsch stehen hat. Wert sollte 
etwa 220-250 Ohm sein, um den Strom bei ca. 25-20mA zu begrenzen.

Frage(n):
Macht das so Sinn? Werden trotz des Widerstandes, noch die +5V als 
Logisch 1 vom TTL dahinter erfasst?
Gibt es bessere Möglichkeiten?

LG Peter

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Peter S. schrieb:
> Macht das so Sinn?

Ja

> Werden trotz des Widerstandes, noch die +5V als
> Logisch 1 vom TTL dahinter erfasst?

High ist sowieso kein Problem, weil die Eingänge der 74LSxx Gatter sogar 
in offenem Zustand auf HIG stehen. Kritisch ist nur der LOW Pegel. Der 
Widerstand darf nicht zu hochohmig sein, sonst wird der LOW Pegel nicht 
niedrig genug ausfallen. Mit 220-250Ω bist du auf der sicheren Seite, 
das wird so funktionieren.

> Gibt es bessere Möglichkeiten?

Wenn man Aufwand und Nutzen miteinander vergleicht, halte ich deinen 
Lösungsansatz für sehr vernünftig.

von Wolfgang (Gast)


Lesenswert?

Peter S. schrieb:
> Werden trotz des Widerstandes, noch die +5V als
> Logisch 1 vom TTL dahinter erfasst?

Wie Stefan schon sagte, HIGH ist unkritisch, aber bei LOW musst du 
aufpassen.

Nimm ein Multimeter in die Hand, miss den am Eingang des 74LS244 
resultierenden Pegel und vergleiche das mit dem im Datenblatt 
angegebenen Maximalpegel für LOW (z.B. bei TI: V_IL Low-level input 
voltage, meist 0.8V).

Man kann natürlich auch rechnen:
Aus dem Eingang kommt lt. DB ein Strom von maximal 0.2mA raus (I_IL), 
d.h. mit einem Widerstand von 4kΩ müsste der Schalter in LOW-Stellung 
noch gerade sicher richtig erkannt werden.
Kurz: Deine 220 .. 250Ω sind IMHO maßlos überzogen. Probier's mal mit 
1kΩ und kontrolliere die Pegel.

von Soul E. (Gast)


Lesenswert?

Echte TTL-Ausgänge (SN74xx, SN74LSxx) darfst Du regulär nach Masse 
kurzschließen, aber nicht nach VDD.

CMOS-Ausgänge (74HCxx, 74HCTxxx und der ATmega auf dem Arduino) dürfen 
offiziell weder nach VDD noch nach Masse kurzgeschlossen werden. D.h. da 
muss der Strom begrenzt werden. Oft reicht der Rds,on aus, der Pin ist 
dann faktisch kurzschlußfest. Da aber die Spezifikation verletzt wird 
garantiert dieses Verhalten niemenad.

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.