frager schrieb:
> Hallo,
> ich möchte, wegen einem Automatisierungsprojekt, ein Taster per
> Mikrocontroller schalten.
>
> Dieser Taster schleift GND bei gedrückter taste durch.
Lass uns das mal aufmalen. ZUgegebenermassen treffe ich da jetzt eine
Annahme, die ich allerdings als begründet ansehen würde.
Wenn der Taster beim Drücken 'GND' durchschleift, dann wird die
relevante Tasterbeschaltung höchst wahrscheinlich so oder so ähnlich
aussehen
1 | o +Versorgungsspannung
|
2 | |
|
3 | |
|
4 | Pullup-Widerstand
|
5 | |
|
6 | |
|
7 | +--------+--------> zur weiteren Verarbeitung
|
8 | |
|
9 | / Taster
|
10 | |
|
11 | |
|
12 | ---+----------------- Masse
|
das ist eigentlich eine Standard-Sache. Ist der Taster offen, dann muss
dafür gesorgt werden, dass auf der Leitung 'zur weiteren Verarbeitung'
trotzdem ein definierter Pegel liegt. Wäre der Pullup nicht vorhanden,
dann wäre das ansonsten ja nur ein Stück Draht, welches in der Luft
endet. So etwas nennt man dann aber Antenne und nicht 'definierte
Eingangsleitung'.
Wir können also getrost davon ausgehen, dass es so etwas wie den Pullup
Widerstand geben wird. Der Widerstand wird auch nicht zu klein sein,
denn wenn man den Taster drückt ....
1 | o +Versorgungsspannung
|
2 | |
|
3 | |
|
4 | Pullup-Widerstand
|
5 | |
|
6 | |
|
7 | +--------+--------> zur weiteren Verarbeitung
|
8 | |
|
9 | | Taster (geschlossen)
|
10 | |
|
11 | |
|
12 | ---+----------------- Masse
|
... dann schliesst man ja den Stromkreis, der von der
+Versorgungsspannung über den Widerstand direkt nach Masse führt. Die
Leitung 'zur weiteren Verarbeitung' ist zwar direkt auf Massepotential,
und das ist auch gut so, aber über den Widerstand fliesst dann ein Strom
(Ohmsches Gesetz) direkt nach Masse, was man ja eigentlich nicht will.
Soweit das Vorgeplänkel.
Jetzt ersetzt du den Taster durch deinen µC
1 | o +Versorgungsspannung
|
2 | |
|
3 | |
|
4 | Pullup-Widerstand
|
5 | |
|
6 | |
|
7 | Portpin --------+--------> zur weiteren Verarbeitung
|
8 |
|
9 |
|
10 |
|
11 | --------------------- Masse
|
In deinem µC verbirgt sich hinter dem Portpin (wenn er auf Ausgang
geschaltet ist) im Prinzip auch nichts anderes als 2 Schalter, die den
Pin wahlweise mit der + Versorgung des µC oder eben mt Masse verbinden
können
1 | Vcc ---+ o +Versorgungsspannung
|
2 | | |
|
3 | | |
|
4 | / Pullup-Widerstand
|
5 | | |
|
6 | | |
|
7 | +---- Portpin --------+--------> zur weiteren Verarbeitung
|
8 | |
|
9 | /
|
10 | |
|
11 | ---+---------------------------------------- Masse
|
je nachdem, ob du den Portpin auf 0 oder auf 1 stellst, ist entweder der
untere oder der obere Schalter geschlossen.
Um den unteren Schalter wirst du nicht rumkommen. Damit du den
geschlossenen Taster simulierst, muss der geschlossen werden (und macht
dann nichts anders als das, was der originale Taster auch gemacht hat).
Aber was ist, wenn du den oberen Schalter schliesst?
Dann verbindest du die Leitung 'zur weiteren Verarbeitung' mehr oder
weniger direkt mit der Versorgungsspannung Vcc des µC. Und ob das für
die Leitung reicht um als 'Taster offen' angesehen zu werden, ist
fraglich. Es hängt alles davon ab, wie hoch die Spannung ist, mit der
die original Tester-Einheit durch den Pullup versorgt wurde. Das kann
man aber ausmessen. Wenn die mit der Versorgungsspannung des µC
identisch ist, dann kannst du den Pin auf 1 stellen (und im Prinzip
könnte man sich dann auch den Pullup sparen, denn die Leitung ist ja
dann auch nicht offen, sondern wird über den µC auf Vcc gezogen).
Ist die aber nicht identisch (zb 12V), dann kann es sein, dass der Pegel
nicht ausreicht für die Auswerteschaltung, die auf der Leitung entweder
0V oder eben diese +12V sehen will, die sie normalerweise über den
Pullup ja auch kriegt. Mit den dann dort anliegenden zb 5V vom µC reisst
du dann nichts.
Zudem fliesst auch in diesem Fall ein Strom, weil es ja einen Weg von
den +12V über den Widerstand zu den Vcc 5V des µC gibt.
Spannungsdifferenz bedeutet aber, dass Strom fliesst. Und das will man
ja eigentlich nicht haben.
Kurz und gut.
Ich würde den Pin bei der Simulation von 'nicht gedrückt' auf Eingang
schalten. Denn das umgeht auf jeden Fall alle Probleme und kommt dem am
nächsten, was ein nicht gedrückter Taster ist. Selbst dann, wenn die
Versorgungsspannung des µC und die Versorgung des originalen Tasters
gleich sind (was sie nie 100% ig sein werden).