Forum: Mikrocontroller und Digitale Elektronik PNP Sensor am uC


von Frank (Gast)


Lesenswert?

Ich glaube ich habe die falschen Sensoren für mein Projekt bestellt und 
frage mich, ob ich das einfach retten kann.

Ich habe hier eine fertige uC Platine.
1
--------
2
|      |
3
|  uC  | --- |>| ---- Sensor
4
| 3.3V |    Diode
5
--------
und einen 24V PNP induktiven Sensor. Wenn ich das richtig verstehe, 
floatet der Sensorpin oder liefert 24V.

Wenn ich jetzt vom Eingang nach der Diode z.B. einen 1kOhm Widerstand 
gegen Masse schalte und im uC den Pullup aktiviere. Dann müsste das doch 
gehen oder?
1
--------
2
|      |
3
|  uC  | --- |>| ---- Sensor
4
| 3.3V |    Diode  |
5
--------          | |
6
                  |R| 1k
7
                  |_|
8
                   |
9
                  GND

Sensor liefert 24V: Kein Strom fliest ab => 3,3V => Pegel High.
Sensor floated: 1k + ~40k interner Pullup Spannungsteiler ergeben knapp 
mehr als die Vorwärtsspannung der Diode. Das wäre dann <0,8V

Klar verbraucht der Sensor dann im Zweifelsfall immer ~24mA, aber das 
ist für mich zu verschmerzen.

Sensor: wie https://www.farnell.com/datasheets/46845.pdf

Diode: 1N4148WS https://www.vishay.com/docs/85751/1n4148ws.pdf 
(Gemessene Vorwärtsspannung 0,63V)

uC: Stm32F103 https://www.st.com/resource/en/datasheet/stm32f103ze.pdf
Der erkennt alles bis <1.1V als Low oder?

von Falk B. (falk)


Lesenswert?

Warum einfach, wenn es auch umständlich geht? Schon mal was von einem 
Spannungsteiler gehört?

von H. H. (Gast)


Lesenswert?

Du hast so aber kaum noch Störabstand.

von Peter D. (peda)


Lesenswert?

Laß die Diode weg und schalte in Reihe zum Sensor einen 6,8k. Das ergibt 
dann etwa 3V high.

von H. H. (Gast)


Lesenswert?

Manchmal ist es auch besser die Stromkreise zu trennen, also einen 
Optokoppler zu verwenden.

von Frank (Gast)


Lesenswert?

@Falk
Die Diode ist schon auf der Platine und hat mir wahrscheinlich den uC 
gerettet. Klar, kann ich auslöten und durch nen Widerstand ersetzen. 
Dann muss ich zusätzlich noch nen zweiten Widerstand für den Teiler 
einlöten oder?

@H. H.
Schon richtig. Der STM32 schaltet bei <1.1V, wenn ich das richtig 
verstanden habe.

@Peter D.
Einfach Diode durch Widerstand ersetzen? Und dann Pulldowns aktivieren 
oder was? Wie werden denn dann aus 24V 3V? An dem 6,8k fallen ~3V ab. Am 
Pin sind es dann ~20V? Oder meinst du die Schutzdiode hält das schon 
aus?

von Peter D. (peda)


Lesenswert?

Frank schrieb:
> Einfach Diode durch Widerstand ersetzen?

Nö, durch Drahtbrücke und dann "in Reihe zum Sensor einen 6,8k".

von HildeK (Gast)


Lesenswert?

Frank schrieb:
> Einfach Diode durch Widerstand ersetzen?
Nein, der 6k8 kommt vom 1k zum Sensor, dazwischen hängt der µC mit 
seinem Pin. Der Platz, wo jetzt die Diode sitzt, wird eine Brücke.

> Und dann Pulldowns aktivieren oder was?
Nein. Du hast doch extern 1k PullDown. Den brauchst du.

> Wie werden denn dann aus 24V 3V? An dem 6,8k fallen ~3V ab.
Nein, der Sensor liefert doch entweder 24V oder ist OPEN.
Bei OPEN wirkt der PD mit 1k.
Bei 24V ergibt sich ein Spannungsteiler 6k8 mit 1k. Liefert etwa 3.1V 
bei HIGH. Passt doch. Und LOW über den 1k. Passt auch.

> Am Pin sind es dann ~20V? Oder meinst du die Schutzdiode hält das schon
> aus?
Nein, siehe oben.
1
--------              
2
|      |                ___
3
|  uC  |<----------o---|___|--- Sensor (24V / Open)
4
| 3.3V |           |    6k8
5
 ------           .-.
6
                  | |
7
                  |R| 1k
8
                  '-'
9
                   |
10
                  GND

von Frank (Gast)


Lesenswert?

@HildeK
Danke. So meint Peter das. Also doch Spannungsteiler.

Der 1k ist ja noch nicht da, das wäre meine Lösung gewesen.
"Diode weg, 6.8k in Reihe" wäre dann eben nur ein Vorwiderstand gewesen.

Danke nochmal an alle, ich mach dann wohl nen Spannungsteiler.

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.