Forum: Mikrocontroller und Digitale Elektronik Mit Mikrokontroller Pin auf Masse ziehen, Pullup ist dabei höher als Mikrokontroller es unterstützt


von Markus (Gast)


Lesenswert?

Hallo,

ich möchte mit einem Mikrokontroller ein Gerät ansteuern. Dieses hat 
mehrere Pins, die ich (unabhängig voneinander) auf Masse ziehen möchte. 
Sie sind (scheinbar) mit einem Pullup versehen, der sie auf 5V hochzieht 
- dass ist es wenigstens, was ich als Spannung messe, wenn ich die Pins 
mit einem Multimeter verbinde.

Wenn ich nun einen 5V toleranten AVR benutzen würde (was ich auch 
testweise getan habe) könnte ich die Gerätepins einfach mit meinem AVR 
verbinden, die Pins als "OUTPUT" deklarieren und würde die Gerätepins 
bei einer logischen 0 auf Masse ziehen, und ansonsten, bei einer 
logischen 1, würde nichts passieren.

Nun verwende ich aber aus verschiedenen Gründen einen uC, dessen Pins 
nur 3.3V vertragen. Was ist die einfachste Möglichkeit seine Pins dafür 
zu verwenden?

Ein Pegelwandler wirkt dafür ein wenig mit Kanonen auf Spatzen 
geschossen, oder? Naiv habe ich gedacht einfach einen Widerstand zu 
verwenden. Dafür habe ich die Stromstärke gemessen, die beim Brücken von 
Masse und dem Pin fließt (4mA). Ich möchte also, dass 1.7V am Widerstand 
abfallen, was ich mit 425 Ohm erreichen würde (also 470 Ohm als nächste 
Größe in der Widerstandsreihe nehmen würde).

Ist die Idee mit dem Widerstand so richtig? Was würdet ihr empfehlen?

von Peter II (Gast)


Lesenswert?

Markus schrieb:
> Ist die Idee mit dem Widerstand so richtig? Was würdet ihr empfehlen?

nicht wirklich, dann damit schafft du keine 0V hinter dem Widerstand. Da 
müsste man wissen ab welche schwelle das Gerät eine 0 erkennt.

Das einfachste ist einfach einen Transistor zu verwenden.

von Brummbär (Gast)


Lesenswert?

Nimm Transistoren.

von Cyblord -. (cyblord)


Lesenswert?

Ein Mosfet wie z.B. BS170 reicht da aus.

von Markus (Gast)


Lesenswert?

Peter II schrieb:
> Das einfachste ist einfach einen Transistor zu verwenden.

Also (für einen npn Transistor) die Basis an den uC Pin (mit 
Vorwiderstand), den Collector an den Gerätepin und den Emitter an Masse?

von Georg G. (df2au)


Lesenswert?

Ein Widerstand wird nicht funktionieren. Problematisch ist der Fall, 
wenn der uC sperrt und der Portpin dann auf 5V geht (egal, was du da als 
Widerstand spendierst). Das mag der Ausgangstreiber nicht. Dann werden 
Schutzdioden im uC wirksam. Der resultierende Strom hängt dann von 
vielen Parametern ab und ist schädlich bis tödlich.
Wie Cyblord schrieb, nimm einen BS170 und dreh die Logik um und du hast 
keine Sorgen.

von Peter II (Gast)


Lesenswert?

Georg G. schrieb:
> Dann werden
> Schutzdioden im uC wirksam. Der resultierende Strom hängt dann von
> vielen Parametern ab und ist schädlich bis tödlich.

so schlimm ist es auch nicht. so lange man die Schutzdioden nicht 
überlastet ist das zulässig und läuft auch stabil.

Atmel hat auch solche Beispiele in seinem AppNotes.

von Markus (Gast)


Lesenswert?

Danke für eure Antworten!

Georg G. schrieb:
> Wie Cyblord schrieb, nimm einen BS170 und dreh die Logik um und du hast
> keine Sorgen.

Ich habe bisher nur mit NPM Transistoren gearbeitet. Gerade habe ich 
versucht mich schnell in die Materie "MOSFET" einzulesen.
Rein aus Interesse? Warum empfehlt ihr mir hierfür einen MOSFET statt 
einem NPM Transistor?

Zur Beschaltung: Wenn ich mir das Datenblatt zum BS170 anschaue scheine 
ich keinen Vorwiderstand zu brauchen. Ich würde also das "Gate" an den 
uC Pin hängen, der je nach Schaltzustand zwischen [0, 3.3] Volt ausgibt. 
"Source" würde ich mit der Masse verbinden und "Drain" mit dem Pin, den 
ich auf Masse ziehen möchte. Richtig?

von Jim M. (turboj)


Lesenswert?

Markus schrieb:
> Ich habe bisher nur mit NPM Transistoren gearbeitet. Gerade habe ich
> versucht mich schnell in die Materie "MOSFET" einzulesen.
> Rein aus Interesse? Warum empfehlt ihr mir hierfür einen MOSFET statt
> einem NPM Transistor?

Weil der die 5V richtig auf 0 ziehen kann, während ein Transistor a) 
Strom zum schalten braucht und b) eine Restpannung auf der CE Strecke 
hat. Beides dürfte in Deinem Fall aber egal sein. Wenn Du eins von 
beiden bei Dir rumfliegen hast, dann nimm das.

von Wolfgang (Gast)


Lesenswert?

Markus schrieb:
> Rein aus Interesse? Warum empfehlt ihr mir hierfür einen MOSFET statt
> einem NPM Transistor?

Weil ein MOSFET auch ein Transistor ist. Das "T" steht für "Transistor".
Außerdem sparst du einen Widerstand.

von Georg G. (df2au)


Lesenswert?

Peter II schrieb:
> so schlimm ist es auch nicht

Dann überlege mal, was passiert, wenn in die Schutzdioden mehr Strom 
hinein fließt, als der Prozessor mit seiner Schaltung verbraucht. Dann 
gehen die 3.3V plötzlich rauf. Aber wenn man Vertrauen hat, ist das OK.

von A. S. (Gast)


Lesenswert?

Markus schrieb:
> Sie sind (scheinbar) mit einem Pullup versehen

Messe den Strom aus, Schaue ob 3.3V noch als high erkannt werden und ob 
Dir der Strom weh tut und falls ersteres ja und zweiteres nein, schließe 
direkt an.

von Kolja L. (kolja82)


Lesenswert?

Markus schrieb:
> Ich habe bisher nur mit NPM Transistoren gearbeitet.

Ironie:
Wenn damit drei Schaltzustände möglich sind,
revolutionierst du Alles was es bisher an Elektronik gegeben hat!

von Spannungsteiler (Gast)


Lesenswert?

Wie wäre es mit UDN2003A ?

http://pdf.datasheetcatalog.com/datasheet2/f/0c6x6a46ig46qlxf3j2qsaii8o3y.pdf

Ich finde es als eine elegante Lösung !

von Demontierer (Gast)


Lesenswert?

Vielleicht besteht die möglichkeit dein "Gerät" zu modifizieren.

Falls es intern einen Spannungsregler besitzt und eigentlich mit <=3,3V 
arbeitet, oder die verbauten Komponenten 3,3V kompatibel sind, könntest 
du versuchen die Spannung zu senken.

Bei externen Pullups (nicht in einem IC) und wenn das "Gerät" 3,3V 
zuverlässig als High erkennt, besteht evtl. auch die Möglichkeit diese 
zu entfernen und die Eingänge des "Geräts" nur auf 3,3V zu ziehen.

von Klaus (Gast)


Lesenswert?

Demontierer schrieb:
> Vielleicht besteht die möglichkeit dein "Gerät" zu modifizieren.
>
> Falls es intern einen Spannungsregler besitzt und eigentlich mit <=3,3V
> arbeitet, oder die verbauten Komponenten 3,3V kompatibel sind, könntest
> du versuchen die Spannung zu senken.
>
> Bei externen Pullups (nicht in einem IC) und wenn das "Gerät" 3,3V
> zuverlässig als High erkennt, besteht evtl. auch die Möglichkeit diese
> zu entfernen und die Eingänge des "Geräts" nur auf 3,3V zu ziehen.

Und den ganzen Aufriss nur, um sich 1 (in Worten einen) Transistor ala 
BS170 oder BSS138 pro PIN zu sparen.

MfG Klaus

von Rudolph R. (rudolph)


Lesenswert?

BCR135

von Manfred (Gast)


Lesenswert?

Cyblord -. schrieb:
> Ein Mosfet wie z.B. BS170 reicht da aus.
Aus dem gleichen Grund, warum für jeden Kleinscheiß Schaltregler 
empfohlen werden? Diesen fummeligen FET muß man sich nicht antun, wenn 
es auch ein NPN tut.

Peter II schrieb:
> Georg G. schrieb:
>> Dann werden
>> Schutzdioden im uC wirksam. Der resultierende Strom hängt dann von
>> vielen Parametern ab und ist schädlich bis tödlich.
> so schlimm ist es auch nicht. so lange man die Schutzdioden nicht
> überlastet ist das zulässig und läuft auch stabil.
Pfuscher! Es wird an keinen Anschluß eine Spannung höher Ub (VCC) 
angelegt. Ausnahme sind speziell dafür spezifizierte Treiber-ICs, was 
ein µC sicherlich nicht ist.

Markus schrieb:
> Rein aus Interesse? Warum empfehlt ihr mir hierfür einen MOSFET statt
> einem NPM Transistor?
Ich kenne keinen NPM, die Dinger heißen NPN - entsprechend der internen 
Folge ihrer Sperrschichten.

Ansonsten siehe oben, da tut es mit größter Wahrscheinlichkeit ein 
Standard-NPN wie BC337, BC237, BC107, BC546 oder ähnlich.

Vorab solltest Du mal mit einem Multimeter den Strom gegen GND messen, 
wenn das mehr als ein paar mA sind, müssen wir evtl. neu denken.

von Joachim B. (jar)


Lesenswert?

Markus schrieb:
> Dafür habe ich die Stromstärke gemessen, die beim Brücken von
> Masse und dem Pin fließt (4mA)

dafür reicht doch der mieseste NPN in Emitterschaltung

um 4mA auf low zu bringen bei mieser Hfe oder ß von 100 gibt 40µA für 
die Basis, um den Trasi in die Sättigung zu bringen nehmen wir das x10 
also 0,4mA, wenn wir dann noch einen Basiswiderstand spendieren 3,3V - 
1V Ube max = 2,3V / 0,4mA brauchen wir 5,6kOhm

von Peter II (Gast)


Lesenswert?

Manfred schrieb:
> Peter II schrieb:
>> Georg G. schrieb:
>>> Dann werden
>>> Schutzdioden im uC wirksam. Der resultierende Strom hängt dann von
>>> vielen Parametern ab und ist schädlich bis tödlich.
>> so schlimm ist es auch nicht. so lange man die Schutzdioden nicht
>> überlastet ist das zulässig und läuft auch stabil.
> Pfuscher! Es wird an keinen Anschluß eine Spannung höher Ub (VCC)
> angelegt. Ausnahme sind speziell dafür spezifizierte Treiber-ICs, was
> ein µC sicherlich nicht ist.

Dann melde dich schnell bei Atmel

http://www.atmel.com/Images/Atmel-2508-Zero-Cross-Detector_ApplicationNote_AVR182.pdf

(Wenn man es genau nimmt, liegt an dem Pin auch keine Spannung größer 
als VCC an - dafür sorgen ja die Dioden.)

von M. K. (sylaina)


Lesenswert?

Manfred schrieb:
> Vorab solltest Du mal mit einem Multimeter den Strom gegen GND messen,
> wenn das mehr als ein paar mA sind, müssen wir evtl. neu denken.

Ab und an hilft auch Lesen statt Denken, aus dem Eröffungspost:

Markus schrieb:
> Dafür habe ich die Stromstärke gemessen, die beim Brücken von
> Masse und dem Pin fließt (4mA).

Markus schrieb:
> Zur Beschaltung: Wenn ich mir das Datenblatt zum BS170 anschaue scheine
> ich keinen Vorwiderstand zu brauchen. Ich würde also das "Gate" an den
> uC Pin hängen, der je nach Schaltzustand zwischen [0, 3.3] Volt ausgibt.
> "Source" würde ich mit der Masse verbinden und "Drain" mit dem Pin, den
> ich auf Masse ziehen möchte. Richtig?

Und genau darum würde ich auch einen MOSFET wählen. Der schon genannte 
BS170 gehört zumindest in meinem Bastlerwerkstatt zur Grundausstattung.

von Georg G. (df2au)


Lesenswert?

Manfred schrieb:
> Diesen fummeligen FET muß man sich nicht antun, wenn
> es auch ein NPN tut.

Beide haben das gleiche Gehäuse (wenn man passend einkauft). Bei dem NPN 
brauche ich zusätzlich einen Widerstand. Insofern verstehe ich deine 
Aussage nicht.

von Rudolph R. (rudolph)


Lesenswert?

M. K. schrieb:
>> Zur Beschaltung: Wenn ich mir das Datenblatt zum BS170 anschaue scheine
>> ich keinen Vorwiderstand zu brauchen. Ich würde also das "Gate" an den
>> uC Pin hängen, der je nach Schaltzustand zwischen [0, 3.3] Volt ausgibt.
>> "Source" würde ich mit der Masse verbinden und "Drain" mit dem Pin, den
>> ich auf Masse ziehen möchte. Richtig?
>
> Und genau darum würde ich auch einen MOSFET wählen. Der schon genannte
> BS170 gehört zumindest in meinem Bastlerwerkstatt zur Grundausstattung.

Da fehlt nur der Widerstand vom Gate gegen GND um zu verhindern, dass 
das Gate beim Reset des Controllers in der Luft hängt.

Daher habe ich oben einfach mal den BCR135 in den Raum geworfen, das ist 
ein "digitaler" NPN Transistor, der hat einen Basis-Vorwiderstand und 
einen Basis-Emitter-Widerstand bereits eingebaut und ist im SOT-23 
Gehäuse.
50V/100mA und schaltet ab 1,4V, der ist auch super für Relais.

von avr (Gast)


Lesenswert?

Rudolph R. schrieb:
> Da fehlt nur der Widerstand vom Gate gegen GND um zu verhindern, dass
> das Gate beim Reset des Controllers in der Luft hängt.

Der fehlt nur wenn das Schalten des FETs kritisch wäre oder er dadurch 
zerstört werden könnte. Wenn beides nicht der Fall ist kann man den 
Pulldown weglassen.

von Joachim B. (jar)


Lesenswert?

Markus schrieb:
> Nun verwende ich aber aus verschiedenen Gründen einen uC, dessen Pins
> nur 3.3V vertragen. Was ist die einfachste Möglichkeit seine Pins dafür
> zu verwenden?

470 Ohm Serienwiderstand und BAT42 Klemmdiode A an µC Port und K an 
+3,3V vom µC

klappt beim PI prima (nur sollte der low Strom eben bei 3-4mA bleiben, 
mit 10-40mA klappt das nicht)

: Bearbeitet durch User
von Manfred (Gast)


Lesenswert?

Peter II schrieb:
> Dann melde dich schnell bei Atmel
> 
http://www.atmel.com/Images/Atmel-2508-Zero-Cross-Detector_ApplicationNote_AVR182.pdf
> (Wenn man es genau nimmt, liegt an dem Pin auch keine Spannung größer
> als VCC an - dafür sorgen ja die Dioden.)

Au weiah ... die verlassen sich drauf, dass VCC mindestens 150µA Strom 
aufnimmt, solange die Schaltung aktiv ist, wird das gutgehen. Unfein 
finde ich das dennoch.

M. K. schrieb:
> Ab und an hilft auch Lesen statt Denken, aus dem Eröffungspost:
> Markus schrieb:
>> Dafür habe ich die Stromstärke gemessen, die beim Brücken von
>> Masse und dem Pin fließt (4mA).

Jou, beim zweiten Lesen gesehen, leider zu spät.

M. K. schrieb:
> Und genau darum würde ich auch einen MOSFET wählen. Der schon genannte
> BS170 gehört zumindest in meinem Bastlerwerkstatt zur Grundausstattung.

Als Grundaustattung sehe ich ihn nicht. Auch ich habe ein paar davon 
vorrätig, aber schon ewig nicht mehr verbaut. Was ich dem Datenblatt 
nicht entnehmen kann, ist sein RDSon um 3V am Gate. Die Dinger habe ich 
früher in einem Meßaufbau eingesetzt, wo die digitale Quelle nur mit 
<100nA belastet werden durfte, der RDSon aber weitgehend egal war.

Georg G. schrieb:
> Manfred schrieb:
>> Diesen fummeligen FET muß man sich nicht antun, wenn
>> es auch ein NPN tut.
> Beide haben das gleiche Gehäuse (wenn man passend einkauft). Bei dem NPN
> brauche ich zusätzlich einen Widerstand. Insofern verstehe ich deine
> Aussage nicht.

Überredet, den BS170 hat ebenso wie die TUNs ein TO-92.

von Markus (Gast)


Lesenswert?

vielen Dank für eure Antworten! Habe mir jetzt mal ein paar BS170 
bestellt..

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.