Ich habe einen Induktivitätssensor an einer CNC-Maschine, der beim Auslösen auf 12 V hoch geht (offener Kollektor, wenn nicht). Ich möchte diesen Eingang auf meinem Arduino lesen, der eine 5-V-Logik verwendet.
Ich dachte, ich könnte einfach einen einfachen NPN-Transistor verwenden, um die Logikpegelverschiebung durchzuführen. Würde das funktionieren? Ich möchte es nicht testen, falls es den Arduino braten könnte.
Es wird klappen. Diese Schaltung sollte auf logisch 1 sein, wenn kein Signal vorhanden ist, und auf logisch 0, wenn ein 12-V-Signal vorhanden ist.
+5V
|
-
|1|
|0|
|K|
-
|----Arduino
|
/
12V --|10K|----|
| \
- >
| | |
| | ---
- -
|
---
-
PS 10K-Widerstände sind nur als generischer Wert vorhanden. Zu diesem Zweck können Sie fast alles verwenden. Basis-Masse-Widerstand beträgt 100 K, wie von @Russell empfohlen.
Wenn Sie nur vom Sensor lesen müssen, würde ich stattdessen einen einfachen Spannungsteiler vorschlagen.
Schließen Sie den Sensor mit 3 10k-Widerständen in Reihe dazwischen an Masse an. Schließen Sie Ihr Arduino zwischen dem 2. und 3. Widerstand an und Sie sind fertig.
Russell McMahon