Forum: Mikrocontroller und Digitale Elektronik Mit Output Low Transistor sperren


von Christoph K. (murlicat)


Angehängte Dateien:

Lesenswert?

Hallo liebe Community!

Ich habe eine Schaltung, wo ein Arduino einen NPN Transistor schaltet 
(Siehe Anhang). Wichtig ist, dass der Transistor nur offen ist, wenn 
Output High ist. Sonst soll er IMMER sperren. Mit immer meine ich also 
sowohl wenn der Arduino keinen Strom hat, während des Boot und wenn der 
GPIO auf Low ist. Der Code ist im Setup ein pinMode Output und ein 
digitalWrite Low.

Benötige ich hierfür einen zusätzlichen Pulldown Widerstand an der Basis 
oder ist dies durch den Arduino zu jeder Zeit gegeben?

Also nochmal konkret eine Verständnisfrage dazu: Wie verhält sich ein 
GPIO Pin wenn der Arduino keinen Strom hat und wo ist der Unterschied 
zwischen Output Low und Ground?

PS: Ground des uC und Ground des Transistors sind natürlich permanent 
verbunden. Benötigt wird dieses Verhalten, da ich 2 gleich aufgebaute 
Schaltungen habe, welche niemals gleichzeitig laufen dürfen, da sonst 
teure Hardware kaputt geht. Also auch nicht wenn der Arduino mal 
ausfällt oder bei einem Stromausfall.

Danke für eure Antworten!
Christoph

von Info (Gast)


Lesenswert?

Mach einen Pull down an die Basis so groß wie dein RBasis.
Etwa 1k bis 5k sind geeignete Werte.

von r c (Gast)


Lesenswert?

Christoph K. schrieb:
> Benötige ich hierfür einen zusätzlichen Pulldown Widerstand an der Basis

Nein, das ist kein FET.

Christoph K. schrieb:
> oder ist dies durch den Arduino zu jeder Zeit gegeben?

Das ist ein anderes Paar Schuhe.

Ich kann mich jedoch nicht erinnern, dass je ein Arduino einen GPIO auf 
HIGH gelegt hat, bevor das im Sketch beabsichtigt war.

Christoph K. schrieb:
> Benötigt wird dieses Verhalten, da ich 2 gleich aufgebaute
> Schaltungen habe, welche niemals gleichzeitig laufen dürfen, da sonst
> teure Hardware kaputt geht

Dann bau eine Schaltung, die das sicherstellt (Relais?)

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Christoph K. schrieb:
> Benötige ich hierfür einen zusätzlichen Pulldown Widerstand an der Basis
> oder ist dies durch den Arduino zu jeder Zeit gegeben?

 Nein, das ist nicht zu jeder Zeit gegeben. Je nach Transistor kann
 sogar ein Pin, welcher als Eingang definiert ist, (mit eingeschaltetem
 Pull up) deinen Transistor einschalten.

 Deswegen, wie schon oben vorgeschlagen, ein Pull down nach GND.

von Guest (Gast)


Lesenswert?

Christoph K. schrieb:
> Benötigt wird dieses Verhalten, da ich 2 gleich aufgebaute Schaltungen
> habe, welche niemals gleichzeitig laufen dürfen, da sonst teure Hardware
> kaputt geht. Also auch nicht wenn der Arduino mal ausfällt oder bei
> einem Stromausfall.

Mach es halt anständig und bau dir eine Ansteuerlogik auf die das 
verhindert. Das sind im einfachsten Fall 2 Inverter und 2 UND Gatter.

von Wolfgang (Gast)


Lesenswert?

Christoph K. schrieb:
> Ich habe eine Schaltung, wo ein Arduino einen NPN Transistor schaltet
> (Siehe Anhang). Wichtig ist, dass der Transistor nur offen ist, wenn
> Output High ist. Sonst soll er IMMER sperren.

Ein Transistor ist kein digitales Bauelement.
Wie groß sind VCC/+ und RLast?

von c-hater (Gast)


Lesenswert?

Christoph K. schrieb:

> Ich habe eine Schaltung, wo ein Arduino einen NPN Transistor schaltet
> (Siehe Anhang). Wichtig ist, dass der Transistor nur offen ist, wenn
> Output High ist. Sonst soll er IMMER sperren. Mit immer meine ich also
> sowohl wenn der Arduino keinen Strom hat, während des Boot und wenn der
> GPIO auf Low ist. Der Code ist im Setup ein pinMode Output und ein
> digitalWrite Low.

Du hast da noch einen möglichen Zustand vergessen: Pin ist 
(sinnloserweise) als Input mit aktivem Pullup konfiguriert. Das ist der 
einzige Zustand, der besonderer weiterer Maßnahmen bedarf. Alle anderen 
möglichen Zustände des Pins liefern sowieso keinen Strom zur Basis des 
NPN-Transistors, dementsprechend fließt auch kein Kollektorstrom.

Um den unsinnigen Fall auch noch zu fangen, braucht man einen Widerstand 
zwischen Basis und Emitter. Der muß gegenüber dem internen Pullup so 
klein sein, dass der sich ergebenen Spannungsteiler eine Spannung 
deutlich unter 0,7V hat. Bei 5V Versorgung des Controllers und ca. 50k 
Pullup bedeutet das einen Widerstand von ca. 8..9k. Ich würde 6,2k 
nehmen (die Pullups sind alles andere als genau). Bei geringerer 
Versorgungsspannung kann man natürlich diesen Angstwiderstand 
entsprechend größer wählen.

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.