• Hallo Zusammen, Aufgrund der aktuellen Situation setzten wir die Möglichkeit aus, sich mit Gmail zu registrieren. Wir bitten um Verständnis Das RCMP Team

Praxisbericht 230V 220V Wechselspannung AC Pegel mit einem Arduino erkennen

BAXL

Admin
Mitarbeiter
Wie detektiert man einen 220/230V Spannungspegel?

Sehr häufig besteht der Wunsch festszustellen, ob irgendwo 230V~ Wechselspannung anliegen. Meist soll geprüft werden, ob ein Gerät eingeschaltet wurde, wie z.B. Pumpen. Bislang habe ich noch kein richtiges Modul für Arduinos gefunden, das bei 230V "AN" einfach nur ein High-Signal liefert. Es gibt zwar zahllose Vorschläge dafür, wie man das selbst basteln kann, nur sind diese Lösungen oft sehr windig, weil man sich u.U. die hohe Wechselspannung auf die Arduinoplatine einschleppen kann, was zudem auch lebensgefährlich ist. Sucht man in diversen (Arduino)Foren, findet man nur wage Lösungsansätze, aber hauptsächlich Unverständnis und Klugscheißerei bezüglich der 230V~.

Mittlerweile habe ich einige Lösungsansätze und auch Hardware zusammengetragen, um dieses Problem zu lösen. Aus Gründen der Sicherheit bevorzuge ich in jedem Fall eine galvanische Trennung der Stromkreise. Die Variante des Selbstbaus aus Widerständen, Kondensatoren und Dioden will ich nur erwähnen, aber nicht vertiefen. Ebenso die Lösungsvorschläge einfach ein Netzteil für ein Mobiltelefon zu missbrauchen, lasse ich zum Teil außen vor, weil die neueren Netzteile fast ausnahmslos Schaltnetzteile sind, womit wir wieder das Problem mit der galvanischen Trennung haben. Zuerst zähle ich meine Ideen auf und werde diese Stück für Stück ausprobieren und hier vorstellen.

Hier nun die Ideen:

1. Eine Kontrolleuchte, die direkt an 230V angeschlossen werden kann in Verbindung mit einer Fotozelle.
2. Eine 230V Vorschaltplatine für eine LED, die ebenfalls einen Fototransistor beleuchten soll. Alternativ der Ersatz der Diode durch einen Optokoppler, z.B. ein CNY-17.
3. Ein Mininetzteil 230V~ auf 5V -, dass aber einen kleinen Trafo zur galvanischen Trennung besitzt.
4. Ein älteres 5V Netzteil von einem Mobiltelefon, ebenfalls mit Trafo.
5. Ein 230V~ Relais
6. Einen Spannungsmesser, der galvanisch getrennt eine messbare Gleichspannung ausgibt, die proportional zur anliegenden Wechselspannung ist und sogar bis 1000V funktioniert.
7. Fertige Platine mit Optokoppler (mein Favorit!)

Edit:
Es ist noch eine 7. Variante hinzugekommen, eine bereits fertige Platine, die die Wechselspannung über einen Optokoppler direkt als auswertbares Signal für den Arduino bereitstellt, funktioniert aber auch mit anderen Controllern und Boards, weil die Anschlußspannung (niederspannungsseitig) am Optokoppler vom Controller selbst kommt. Siehe Post #7.

Nach einem kurzen Versuch habe ich einen Hallsensor verworfen und werde auch keinen Stromwandler nehmen, weil ich durch dessen Spule einen einzelnen stromdurchflossenen Draht führen muß. Dafür müsste ich einen etwas größeren Aufwand betreiben und das Ergebnis ist noch Unsicher. Vorteil wäre natürlich, dass damit theoretisch überprüft werden könnte, ob ein angeschlossenes 230V Gerät auch tatsächlich läuft, sonst flösse ja kein Strom.

Aber es ist vollkomen egal, welche Lösung am Ende zum Einsatz kommt, man hat immer an einer Stelle die 230V Wechselspannung, weil man nunmal nicht darum herumkommt, diese irgendwie anzuschließen. Darum immer darauf achten, 230V Wechselspannung sind gefährlich wenn man diese irgendwie berührt.
 
Zuletzt bearbeitet:

BAXL

Admin
Mitarbeiter
Beginnen wir mit Version 1. Dazu habe ich LED-Kontrolleuchten bestellt, die man direkt an 230V anschließen kann. Kosten 3 Stück 7,20€



und den Fotozellen. Stück ca. 0,50€.



Der Plan ist, die Fotozelle direkt an das Fenster (Lichtaustritt) der Kontrolleuchte anzubringen. Natürlich muß ich dann irgendwie dafür sorgen, dass kein Fremdlicht die Messung stört. Die Schaltung der Fotozelle gibt sowohl einen analogen Wert aus, als auch ein einfachen HIGH-LOW, dass man an einem Poti der enthaltenen Komparatorschaltung einstellen kann. Ich werde also eine Sketch schreiben, der beide Signale lesen kann.

Der mechanische Aufbau wird natürlich etwas unprofessionell und gefrickelt aussehen. Soll diese Lösung zum Einsatz kommen, müsste man das Gebilde irgendwie in ein Gehäuse stecken.

Edit:

Ich habe mir diese 230V Kontrollalmpen bestellt und angeschlossen. Leider waren die Lampen, die ich erhalten habe für 12V, was man aber an der Verpackung und auch an den Lampen nicht, oder nur sehr schwer erkennen konnte. Darum ist gleich eine Lampe in Rauch aufgegangen. Die Fuhre ging wieder zurück Lieferanten, neue habe ich nicht bestellt. Aus der Erfahrung mit der LED-Vorschaltplatine schließe ich aber, dass diese Variante auch funktionieren kann. Man muß nur dafür sorgen, dass kein Fremdlicht auf die Fotozelle scheint. (siehe nächsten Post #3)
 
Zuletzt bearbeitet:

BAXL

Admin
Mitarbeiter
Version Nummer 2. ist die LED-Vorschaltplatine, die im Prinzip der Lösung Nr. 1 gleicht, mit dem Unterschied, dass ich die LED auch gegen einen Optokoppler tauschen kann, damit wird die Schaltung etwas ordenlicher als die Lösung 1.

Hier die Vorschaltplatine, die tatsächlich inkl. einer LED geliefert wurde. Kostenpunkt: 3,50€, den Optokoppler habe ich noch, würde aber um die 0,30€ kosten.

Hier die Vorschaltplatine:


Es funktioniert!
Zum Testen habe ich an die Vorschaltplatine ein Fotozellenmodul angeschlossen. Das Modul besitzt einen analogen und einen digitalen Ausgang. Beide Ausgänge habe ich mit einem kleinen Sketch in 500ms Abstand abgefragt und das Ergebnis über den seriellen Monitor angesehen. Die Sensorplatine besitzt zudem eine kleine Kontroll-LED, die anzeigt, ob Licht auf die Fotozelle fällt, bzw. wenn der Komparator eine Schwell über- bzw. unterschreitet.

Für den Versuchsaufbau habe ich die LED-Vorschaltplatine mit einem Lampenkabel angeschlossen, das einen eingebauten Schalter besitzt. Ganz wichtig ist es, die Teile der Platine, die an 230V~ liegt, gegen Berührung zu schützen.

Und so sieht das Ergebnis aus:

230V~ aus


230V~ an





Der serielle Monitor zeigt bei eingeschalteter Spannung einen analogen Wert von 23 und am digitalen Kanal ist eine Null.
Im ausgeschalteten Zustand ist der analoge Wert bei ca. 360 und der digitale Kanal gibt 1 aus.

Das Test-Sketch sieht so aus:
byte Pumpe = 7;
byte PumpeAn = 0;
int PumpeAnalog = 0;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(Pumpe, INPUT);

}

void loop() {
// put your main code here, to run repeatedly:
PumpeAn = digitalRead(Pumpe);
PumpeAnalog = analogRead(A0);
Serial.println("Pumpe Digital"); Serial.print(PumpeAn);
Serial.println(" Pumpe analog"); Serial.print(PumpeAnalog);
delay (500);
}

Hier noch ein Foto von der version mit CNY-17. Diese Variante kann ich aber nicht für Laien empfehlen. Weil die 230V über den Anodenanschluß (rotes Kabel) ausgeschleppt werden!
Da besteht also Lebensgefahr!


 
Zuletzt bearbeitet:

BAXL

Admin
Mitarbeiter
Lösung 3. sind die Mininetzteile, von denen 5 Stück 11€ kosten, also ca 2,20€ pro Stück. Wie man auf dem Bild sehen kann haben die Teile einen Transformator. Ich denke, dass ich am Ausgang noch einen oder zwei Widerstände anbringen werde.


 

BAXL

Admin
Mitarbeiter
Lösung 5., das Relais, liegt ebenfalls hier. Relais mit Fassung kostet zusammen rund 11€. Dieses Konstrukt müsste ebenfalls in einem relativ großen Gehäuse (AP-Abzweigdose z.B.) untergebracht werden, was den Preis noch einmal höher macht. Von der Beschaltung und Auswertung sicher die einfachste Version.



 

BAXL

Admin
Mitarbeiter
Die letzte Variante Nr. 6., hat auch zuletzt den Weg zu mit gefunden. Basis dafür ist ein Spannungswandler vom Typ ZMPT101B, der alleine, oder auf eine Platine mit weiterer Beschaltung angeboten wird. Je nach Bezugsquelle und Geduld zahlt man für die Platinenversion zwischen 2,50€ (ebay) und rund 5,80€ (Amazon). Dazwischen liegen ca. 4 Wochen angezeigte Lieferzeit.

Hier der nackte Wandler, der natürlich pro Stück noch günstiger erhältlich ist.:


und die Platinenversion die ich bestellt habe:



Die Variante sieht am elegantesten aus, benötigt die wenigste Zusatzbeschaltung und ist, je nach Bezugsquelle, die günstigste Version. Gemessen wird dann tatsächlich die anliegende AC-Spannung.
0-1000V entspricht 0-10mA (Sampling resistor ist 100ohm)

Nachtrag:
Das Modul liegt nun eine Zeit bei mir und wurde noch nicht eingesetzt. Darum habe ich mir das Teil noch einmal genau angesehen und im Internet nach weiterführenden Informationen gesucht. Leider erhält man als Suchergebnis überwiegend Shopseiten oder nur sehr rudimentäre Informationen (So wie hier bislang:oops:).
Ein klein wenig Erhellung habe ich nach einigem Suchen erhalten. Auf dem Komplettmodul ist der ZMPT-Bustein zusammen mit einer Zusatzbeschaltung aus einem Operationsverstärker. Diese Zusatzbeschaltung sorgt dafür, dass am analogen Ausgang "Out" eine quasi Gleichspannung ausgegeben wird. Quasi deshalb, weil nicht, wie erwartet, eine konstante Spannung messbar ist, die z.B. bei 230V ~ eben diesen Effektivwert als z.B. 2,3V DC liefert, sondern eine sinusförmige Gleichspannung, die zwischen 0V und +5V alterniert. Dafür sorgt der OP. Bei einer Einzelmessung kann man also einen beliebigen Wert zwischen 0V und 5V erhalten. Das ist eigentlich doof, wenn man einfach nur ermitteln möchte, ob 230V~ anliegen oder nicht.

Hier findet ihr noch das Datenblatt.
 
Zuletzt bearbeitet:

BAXL

Admin
Mitarbeiter
Es gibt ein Modul von funduino.de, mit dem man ebenfalls 230V Wechselspannung detektieren kann. Dieses Modul habe ich bisher nicht gefunden, weil ich immer nach 230V gesucht habe. Im Funduinoshop wird dieses Modul aber als 220V Modul angeboten. Darum hat Tante Gugel mir das nie ausgespuckt. Die Schaltung ist im Prinzip nichts anders als eine LED-Vorschaltplatine, die statt der LED einen Optokoppler verbaut hat. Das Schöne ist, dass man den Arduino bereits ohne zusätzliche Beschaltung direkt anschließen kann und ein HIGH- und LOW-Signal geliefert bekommt.Galvanisch getrennt! Trotzdem muß man beim Handling mit der Platine vorsichtig sein, weil die 230V offen und ungeschützt sind. Am Besten man packt das Modul gleich in ein Gehäuse.






Der Preis von 3,80€ ist ein guter Preis, obglich ich bei weiterer Suche auch Anbieter gefunden habe, die weniger verlangen. Ich werde aber trotzdem bei Funduino bestellen, weil man dort auch Informationen quasi kostenlos abrufen kann. Das muß belohnt werden.

Edit 30.09.2022:

Leider hat Funduino dieses Modul nicht mehr im Programm. Ich habe es bei Amazon unter dem Namen "DollaTek AC 220V Mikrocontroller TTL Pegel Optokoppler Isolationsmodul" gefunden.
 
Zuletzt bearbeitet:

BAXL

Admin
Mitarbeiter
Ich mache jetzt das Thema zum Schreiben weiterer Posts auf, weil ich die Varianten bereits in eigene Posts gepackt habe und da nur noch ergänze. Variante 1. ist vorübergehend auf Eis gelegt, weil man mir falsche Kontrolleuchten geschickt hat. Anstatt 230V Lampen, wurden mir 12V Lampen zugeschickt, was man an der Verpackung leider nicht erkennen konnte. Ich habe dann eine der Lampen mit einer Leitung an 230V angeschlossen und es machte kurz PUFF und kleine dunkle Rauchwölckchen stiegen auf, begleitet von einem bekannten Schmorgeruch. Auf den Lampen selbst war ganz klein 12V~ gedruckt, was ich aber übersehen habe. So sind die Dinger jetzt wieder zum Händler zurück. Bis dahin probiere ich jetzt Variante 2., die LED Vorschaltplatine. Erster Test war erfolgreich, die LED leuchtet wenn 230V~ anliegen :). Mir ist aber ein ganz leichtes Flimmern aufgefallen. Mal sehen, ob das bei der Auswertung des Signals stört.

Jetzt muß ich noch irgendwie die Fotozelle da drann fummeln. Mit Isolierband hat das leider nicht richtig funktioniert, darum suche ich mir ein dickeres Stück Plastik und bohre dort ein 5mm Loch, in das ich von beiden Seiten einmal die LED und einmal die Fotozelle stecke. Mehr dazu später.
 
Zuletzt bearbeitet:

BAXL

Admin
Mitarbeiter
Es gibt Neues, der Versuch mit der 230V~ LED-Vorschaltplatine hat schon mal funktioniert. Siehe Post #2. Als Nächstes werde ich die Sache mit dem relais probieren.
 

BAXL

Admin
Mitarbeiter
So, nun ist auch der Test mit dem Optokoppler gemacht. D.h., 230V LED-Vorschaltplatine mit dem Optokoppler anstelle der LED und der Fotozellenplatine. Jaaaaa, grundsätzlich funktioniert es. Als Vorabtest habe ich eine LED über den Optokoppler Ausgang mit einen 200 Ohm Widerstand an +5V und Masse angeschlossen. Der Eingang hat ebenfalls einen 200Ohm Widerstand bekommen. Es funktionierte tatsächlich, die LED wurde von der 230V Platine per CNY17 ein und wieder ausgeschaltet. Das gleiche funktionierte sogar mit dem Arduino. Aaaber das ganz klappte nicht immer, manchmal ging es auch nicht. Da habe ich vorsichtig an den Widerständen gewackelt, weil die nur sehr dünne Drähte haben und ich befürchtete, dass die keinen richtigen Kontakt haben. Beim Wackeln wusste ich dann, warum diese Vorschaltplatinen so ihre Tücken haben. Als alter Elektroinstallateur kannte ich dieses Gefühl. Die 230V werden also auch auf den LED-Ausgang der Vorschaltplatine ausgeschleppt.

Damit ist es zwar technisch möglich, die 230V werden ja durch den CNY17 vom Arduino getrennt, aber trotzdem muß man damit sehr vorsichtig umgehen. Meine Empfehlung für E-Technik Laien: Finger weg davon.
 

BAXL

Admin
Mitarbeiter
Push! Ich habe noch einen 220V Sensor bei funduino.de gefunden, siehe Beitrag #7.
Dazu werde ich noch etwas schreiben, sobald ich so ein Modul besitze. Im Moment scheint das die preisgünstigste, einfachste und kleinste Lösung zu sein. Mein geheimer Favorit.

Edit:
Das Modul liegt schon eine Zeit bei mir, ich hatte aber noch keine Zeit und Muße das auszuprobieren. Das Modul kommt beim Projekt zur Solarwärmesteuerung zum Einsatz, weil ich für die Übergangszeit detektieren möchte, ob die Umwältpumpe eingeschaltet ist, d.h., ob die 230V anliegen. Man kann so natürlich nicht prüfen, ob die Pumpe tatsächlich läuft (umwälzt), das können übliche Solarwärmesteuerungen a la Resol usw. auch nicht.
 
Zuletzt bearbeitet:

IvIv01

Neuer Benutzer
Hallo zusammen,

kurzer Ergänzung zu #11 (da ich diesen Thread schon länge beobachte, vlt. hilft es ja einem):

Ich habe das Modul aus #7 (ebenfalls bei funduino.de gekauft) in eine Absauganlage in der Werkstatt verbaut. Damit wird erkannt ob eine Steckdose stromt zieht und über Pneumatik-Klappen wird dann die Rohranlage zur entsprechenden Maschine geschalten.

Zum generellen Aufbau des Moduls kann ich nichts sagen, außer, dass es optisch sauber verarbeitet war, die Bauteile waren gut verlötet ohne kalte Lötstellen oder übermäßig langen Kontakten etc. Das Auslesen mit dem Arduino verlief problemlos; zu Testzwecken hatte ich einen 5V Stromquelle angeschlossen - hier war die Erkennung nicht ganz so ordentlich (manchmal wurde die Spannung nicht erkannt) - das Grundrauschen war zum Teil stärker, als der Steuerstrom, welcher vom Arduino ausgelesen wurde (zumindest habe ich das so interpretiert). Ab 20V war es bei meinem Versuchsaufbau dann aber zuverlässig. Im eigentlichen Projekt mit 220V alles ganz problemlos. Schraubtermnals sind ganz nett - zusammen mit einem Erweiterungsboard für den Arduino lässt sich auch eine zuverlässige (Kabel)Verbindung schaffen.
 

BAXL

Admin
Mitarbeiter
Hallo zusammen,

kurzer Ergänzung zu #11 (da ich diesen Thread schon länge beobachte, vlt. hilft es ja einem):

Ich habe das Modul aus #7 (ebenfalls bei funduino.de gekauft) in eine Absauganlage in der Werkstatt verbaut. Damit wird erkannt ob eine Steckdose stromt zieht und über Pneumatik-Klappen wird dann die Rohranlage zur entsprechenden Maschine geschalten.

Zum generellen Aufbau des Moduls kann ich nichts sagen, außer, dass es optisch sauber verarbeitet war, die Bauteile waren gut verlötet ohne kalte Lötstellen oder übermäßig langen Kontakten etc. Das Auslesen mit dem Arduino verlief problemlos; zu Testzwecken hatte ich einen 5V Stromquelle angeschlossen - hier war die Erkennung nicht ganz so ordentlich (manchmal wurde die Spannung nicht erkannt) - das Grundrauschen war zum Teil stärker, als der Steuerstrom, welcher vom Arduino ausgelesen wurde (zumindest habe ich das so interpretiert). Ab 20V war es bei meinem Versuchsaufbau dann aber zuverlässig. Im eigentlichen Projekt mit 220V alles ganz problemlos. Schraubtermnals sind ganz nett - zusammen mit einem Erweiterungsboard für den Arduino lässt sich auch eine zuverlässige (Kabel)Verbindung schaffen.
@IvIv01
Hallo, vielen Dank für Dein Feedback, das wird sicher auch anderen helfen, die verzweifelt nach einer 230V AV-Erkennung suchen..:thumbsup:
 

DFENCE

Mitglied
Wieso nicht ein Hall Geber und das Magnetfeld der Wechselspannung Detektieren, theoretisch kannst sogar den Stromfluß Messen, nix anderes Steckt in ner Messzange, ich hab hier sogar nen hall Modul das Digital Ausgibt und man den Detektor Bereich einstellen kann. Such ich später mal raus das ding.
 

BAXL

Admin
Mitarbeiter
Wieso nicht ein Hall Geber und das Magnetfeld der Wechselspannung Detektieren, theoretisch kannst sogar den Stromfluß Messen, nix anderes Steckt in ner Messzange, ich hab hier sogar nen hall Modul das Digital Ausgibt und man den Detektor Bereich einstellen kann. Such ich später mal raus das ding.
Hallsensor , die Arie habe ich durch, brauchen wir nicht nochmal diskutieren:) Bitte Post #1 bis zum Schluss lesen ;)
 
Top Bottom