EDVler-Blog.de: IT in der Praxis

230V, 48V, 24V, 12V störungssicher erkennen (detektieren) für Arduino und andere Mikrocontroller

Um mit einem Arduino oder einem anderen Microcontroller zu erkennen ob 230V anliegen oder nicht kann man leider nicht auf fertige Module zurückgreifen. Jedoch gibt es eine einfach und sichere Methode, wie dies möglich ist.

Eine simpler LDR (http://de.wikipedia.org/wiki/Fotowiderstand) und eine Lichtquelle (http://www.conrad.de/ce/de/overview/0233010/Signalleuchten-Fassungen) an der zu erkennenden Spannung reichen bereits aus!

Die Signalleuchte wird dabei parallel zum Verbraucher geklemmt. Der LDR erkennt ob die Signalleuchte Licht abgibt und wird vom Arduino ausgelesen!

Mit dieser Methode können auch andere Spannungen wie 48V, 24V, 12V, … etc erkannt werden. Entscheidend ist nur eine Lichtquelle für die Spannung zu finden, welche mit dem LDR dann erkannt werden kann.

 

EINE WARNUNG VORWEG:

230V sind Lebensgefährlich! Ein Stromschlag kann tödlich sein! Bitte immer mit äußerster Vorsicht arbeiten und das Bauteil nur dann mit der Steckdose verbinden, wenn sichergestellt ist, dass man selbst das Bauteil nicht berührt und man sicher ist, dass man keinen Kurzschluss verursacht hat!

Der Versuchsaufbau – Als Beispiel: Erkennen ob ein 230V Licht eingeschaltet ist.

Auf dem Foto sind verschiedene Komponenten zu sehen.

Im gelben Kreis ist ein Sicherungskasten zu sehen welcher einen FI und eine Sicherung enthält. Dieser soll im Falle eines Kurzschlusses oder eines anderen Fehlverhaltens Leitungsschäden vermeiden. Jeder der als Ziel die Erkennung einer 230V Spannung verfolgt sollte den Aufbau eines Sicherungskastens beherrschen. Auf diesen gehe ich in dieser Anleitung nicht weiter ein.

Im blauen Kreis ist eine einfache Lichtschaltung zu sehen. Es soll erkannt werden ob das Licht ein- oder ausgeschaltet ist. Auch auf die Verkabelung des Lichtschalters gehe ich nicht näher ein. Auch das setzte ich als Grundkenntnis voraus.

Im roten Kreis ist der Arduino und der LDR (Fotowiderstand) zu sehen. Für diese Anleitung habe ich die Komponenten übersichtlich gebaut und in einer Verteilerdose platziert um die Funktionsweise gut darstellen zu können.

Die verschiedenen Bereiche des Testaufbaus.

Die verschiedenen Bereiche des Testaufbaus.

 

Bitte den Versuchsaufbau äußerst sorgfältig durchführen. Vor einschalten der Spannung bitte erst sämtliche Abdeckungen schließen! Es wird mit einer Lebensgefährlichen Spannung hantiert!

 

Wie also ein 230V Signal zum Microcontroller bringen?

Um den Microcontroller und die gesamte Schaltung nicht in Gefahr zu bringen, ist der 230V Aufbau strikt von der Schaltung des Arduino getrennt (siehe Schaubild). Es gibt keine elektronische Verbindung zwischen dem Lichtschalterkreislauf und dem Arudino Schaltkreis.

Die Erkennung ob das Licht angeschaltet ist oder nicht erfolgt nur über die Signallampe! Die Signallampe ist auf dem folgenden Bild links zu sehen. Die Signalleuchte ist parallel zur Lampe angeklemmt.

Direkt vor der Signalleuchte ist die Pull-Up Schaltung mit dem LDR Widerstand platziert.

Die Schaltung ist dann mit einem der Arduino analog PIN’s verbunden. Der Arduino kann somit den aktuellen Widerstandswert des LDR abfragen.

Hier eine Nahaufnahme:

230V Arduino Schaltung

 

Schaltplan und Steckplatinenansicht der Pull-UP-Schaltung:

Schaltplan der ON_OFF_DETECTION

Schaltplan der ON_OFF_DETECTION

Steckplatinenansicht der ON_OFF_DETECTION

Steckplatinenansicht der ON_OFF_DETECTION

Die Software für den Arduino:

Die Software ist auf GitHub zu finden. https://github.com/edvler/ON_OFF_Detection_230V_24V_arduino

Hier noch der direkte Downloadlink: https://github.com/edvler/ON_OFF_Detection_230V_24V_arduino/archive/master.zip

 

In der Arduino IDE anschließend den Sketch ON_OFF_DETECTION im Ordner Arduino_code öffnen.

Um ein klares ein / aus Signal zu erhalten muss das Signal per Software „geglättet“ werden. Der Widerstandswert kann je nach Lichtquelle sehr stark schwanken und unterscheidet sich von LDR zu LDR.

Daher muss der Widerstandswert im Quellcode justiert werden.

Das Vorgehen zum justieren in wenigen Schritten:

  1. Die Pull-UP Schaltung wie oben angegeben Aufbauen. Die Signalleuchte und den LDR entsprechend platzieren. Wichtig ist hier eine Box zu verwenden welche Lichtundurchlässig ist. Somit ist nur das Licht der Signalleuchte entscheidend.
  2. Den benutzten Analog-Pin im Quellcode setzten. Siehe Variable analogPin. Anschließend den Sketch uploaden.
  3. Nun den Serial-Monitor öffnen und den Widerstandswert für den Status „Aus“ und für den Status „Ein“ notieren.  Die Werte sollten sich deutlich unterscheiden! Wichtig: der LDR soll nur noch durch das Licht der Signalleuchte sehen. Den Aufbau also in einer Box, einem Verteilerkasten oder ähnliches verbauen!
  4. Nun muss die Variable lightOnBelow angepasst werden. Dazu ein Beispiel: Sie haben für „AUS“ einen Wert von ca. 1000 notiert und für „EIN“ einen Wert von ca. 750. die lightOnBelow Variable sollte daher auf 850 gesetzt werden. Fällt der vom analog Pin gelesene Wert unter 850 so wird angenommen, dass der 230V Stromkreis an ist.
  5. Den Sketch mit den neuen Werten nochmals uploaden. Die LED an PIN13 sollte nun leuchten wenn der Stromkreis an ist.

Das wars!

 

 

  • Hallo,
    Sowohl auf der schematischen Darstellung als auch im
    Schaltplan ist die Beschaltung des OK auf der Transistorseite falsch; die Basis wird freigelassen,
    nicht der Emitter.
    Aufgebaut ist die Schaltung natürlich richtig (sonst
    hätte der ATMega kein Signal bekommen).

    Gruß
    Jack

  • Hallo!

    Danke für den Hinweis.
    Habe den Fehler in der schematischen Darstellung und im Schaltplan korrigiert.

    Grüße
    EDVler

  • Ist das nicht sehr kompliziert? Ich nehme dafür einfach ein billiges 5V- Netzteil (jedenfalls bei 220V).

  • Hallo!

    Das ist Ansichtssache.
    Ich sehe einen großen Vorteil darin, dass die Stromkreise der verschiednen Systeme komplett voneinnander getrennt sind.

    Wie im Artikel erwähnt, ist es eine sehr robuste Lösung und die Fehlersuche ist einfach.

    Grüße

You can follow any responses to this entry through the RSS 2.0 feed.