Nulldurchgang in Wechselstrom detektieren?


15

Ich muss den Nulldurchgang für einen Softstarter erkennen. Vor langer Zeit habe ich einen 1-Mega-Ohm-Widerstand verwendet, der an einer Seite direkt mit dem Mikrocontroller verbunden ist und an einer anderen Seite Strom führt. Ich war erfolgreich, aber ist es ratsam? wie kann ich es auf andere weise billig und zuverlässig machen?

Antworten:


14

Ich habe Sanftstarter mit den Prozessoren PIC16C74A / F77 entwickelt. Nulldurchgang kann schwierig sein, wenn Sie auch in lauten Umgebungen arbeiten müssen.

Wenn Sie nicht möchten, dass der Prozessor von der Leitung isoliert ist, ist nichts falsch daran, dass ein paar hochwertige Widerstände einen CPU-Pin speisen. Ich würde ein paar Schottky-Dioden verwenden, um die internen Schutzdioden nur aus Gründen der Robustheit zu erhöhen, aber es wird gut funktionieren. Wenn Sie eine Isolierung benötigen, verwenden Sie einen Transistorausgangsoptoisolator. Achten Sie auf die Schaltgeschwindigkeit des Opto und minimieren Sie den Transistorkollektorstrom, um die Schaltgeschwindigkeit zu maximieren.

Nachdem das gesagt ist, gehen wir zum Lärm über. Wenn Sie etwas anderes als Widerstandsheizung phasensteuern, haben Sie mit Rauschen zu kämpfen, was bedeutet, dass Sie sehr wahrscheinlich mit Nulldurchgangsrauschen zu kämpfen haben. Machen Sie nicht den Anfängerfehler, den Nulldurchgangseingang einem Interrupt-Pin zuzuführen. das wird Ihre Software in eine rauchende Masse von Gemeinheit verwandeln, wenn der Prozessor versucht, mit einer Unmenge von Interrupts umzugehen. (Ich spreche aus Erfahrung.) Wenn ein RC-Filter oder ein weiterentwickelter Tiefpassfilter in die Leitung geschaltet wird, wird nur eine Phasenverschiebung eingeführt. Wenn Sie damit arbeiten können, großartig. Wenn nicht (ich musste mich mit 50 / 60- und 400-Hz-Systemen befassen), müssen Sie andere Mittel ausprobieren.

Bei meinem eigenen Design habe ich mich in der Software darum gekümmert, indem ich die Leitung abgefragt und im Wesentlichen eine Abstimmungsroutine erstellt habe, bei der Transienten ignoriert wurden. Die Phasenverschiebung lag in dem Rahmen, den ich bewältigen konnte, sie war schnell und würde auch bei starkem Rauschen nicht ausfallen. (Getestet in einer Einrichtung, in der die Filterkappen von einem Induktionsofen entfernt wurden, habe ich noch nie eine so laute Leitung gesehen!) "Latch" den Nulldurchgang und dann würde der Mikrocontroller ihn bestätigen, bevor der nächste Interrupt gesetzt werden könnte.

Alles in allem denke ich, dass das zuverlässige Finden des realen Nulldurchgangs in jeder praktischen Situation eines der schwierigeren Elemente des Softstarter-Designs war. Das Schließen des Regelkreises war zweitrangig, aber meistens nur das Stimmen. Es scheint eine absolut einfache Sache zu sein, aber ich habe in dieser Zeit einiges über den Unterschied zwischen Theorie und Praxis gelernt. :-)

Bearbeiten, um die Abstimmungsroutine zu beschreiben:

Wenn ich mich richtig erinnere, hatte ich eine E / A-Leitung, die hoch war, als die Leitung über Null lag, und niedrig, als die Leitung unter Null lag. Die Abstimmungsroutine hat einfach diese Zeile abgefragt, und wenn 2 der letzten 3 Stichproben gleich waren, habe ich die Tatsache akzeptiert, dass die Zeile Null überschritten hat. Es ist der Wahlschaltung eines UART sehr ähnlich, um Zeichen und Leerzeichen zu erkennen. Der Vorteil einer solchen Schaltung ist, dass Ihre Phasenverschiebung fest ist (2 * Abtastrate) und Sie sie auf die Art des Rauschens abstimmen können, das Sie erleben. Ich kann mich nicht ohne weiteres daran erinnern, wie schnell das Polling war, aber wenn ich eine Vermutung wagen würde, würde ich 8 kHz sagen, da diese Zahl in meinem Kopf hervorsticht.


Ich habe einen Timer zum Messen der Frequenz verwendet (im Falle von Verzögerung und Excel- und Nachschlagetabellen) ... aber ich denke, ich werde mit Tiefpass- und Optokopplern arbeiten. Danke für die Antwort.
iamgopal

Können Sie die Abstimmungsroutine näher erläutern? War es nur, einzelne Proben zu ignorieren, die sich von den umgebenden unterscheiden? Mit welcher Häufigkeit haben Sie abgefragt?
Starblue

7

Warum nicht einen Optokoppler verwenden? Der SFH6206 von Vishay verfügt über zwei antiparallele LEDs, sodass er über den gesamten Zyklus der Netzspannung funktioniert. Wenn die Eingangsspannung hoch genug ist, wird der Ausgangstransistor eingeschaltet und der Kollektor ist auf einem niedrigen Pegel. Um den Nulldurchgang ist jedoch die Eingangsspannung zu niedrig, um den Ausgangstransistor zu aktivieren, und sein Kollektor wird hochgezogen. Sie erhalten also bei jedem Nulldurchgang einen positiven Impuls.


Für mehr Details: hier
Vorac

2

Der Anwendungshinweis dieses Mikrochips auf Seite 3 schlägt einen Widerstand von 20 MOhm vor.

Ich denke du kannst das benutzen MOC3061 verwenden , der über einen Nulldurchgangsdetektor verfügt.

Es gibt aber viele Gerätemodelle, wie Sie hier sehen können .


danke. Ein Chip anstelle von Widerständen und Kappen ist immer willkommen.
iamgopal

Auch wenn Sie einen Standard 20 M finden könntenΩBei 1/4 W müssten einige (mit geringerem Widerstand) in Reihe geschaltet werden. IIRC ein 1/4 W Widerstand hat eine Durchbruchspannung von 160 V, was bedeutet, dass Sie 3 Widerstände von 6,8 M benötigen würdenΩin einem 230 V Stromkreis.
Stevenvh

1

Ich habe Erfolg mit der folgenden Verarbeitungskette gehabt:

  1. Widerstandsteilernetzwerk (unter Verwendung von MOhm-Wert-Widerständen) und Optokoppler zum Koppeln und Isolieren des Signals von der Quelle
  2. Ein Operationsverstärker-Komparator schiebt das Signal vom Optokoppler auf einen bekannten Spannungsbereich
  3. Ein extrem dichtes, mehrstufiges Bandpassfilter mit Opamps (benötigt möglicherweise auch Verstärkung, um den Filterverlust zu berücksichtigen)
  4. Eine Opamp-Phasenschieber-Schaltung zur Anpassung an jeden in die Filterung eingeführten Phasenversatz (+/- 360 Grad ist ein gutes Maß an Toleranz für die Auslegung; die gewünschte Phasenverschiebung kann mit einem Potentiometer und einem Oszilloskop kalibriert werden)
  5. Ein weiterer Komparator, um das Signal an einen sauberen digitalen Ausgang für einen Mikrocontroller zu leiten

0

Es gibt wahrscheinlich viele Möglichkeiten, dies zu tun ... aber wenn ich es tun würde, würde ich für alle Fälle einen kleinen Trenntransformator verwenden. Es ist niemals ratsam, das Netz direkt an einen Mikrocontroller anzuschließen, auch nicht über einen großen Widerstand.

Ich schätze, Sie haben die Möglichkeit, einen großen Widerstandsteiler in ein Mikro oder einen kleinen Transformator zu verwenden, der die Netzspannungen in den Bereich Ihres Mikros drückt. Natürlich können Sie auch eine Kombination von beiden verwenden.

Wenn Sie keinen Mikrocontroller verwenden möchten, können Sie immer einen Komparator verwenden und die Spannung gegen 0 V testen lassen. Der Puls des Komparators wird kurz sein, aber es gibt auch Möglichkeiten, damit umzugehen.


verursacht die Verwendung eines Trenntransformators Verzögerungen?
iamgopal

Nr. (Fünfzehn Zeichen)
Connor Wolf

4
Wenn Sie mit einer Spannung vergleichen wollen, vergleichen Sie mit ein paar Prozent der gesamten Leitung und nicht mit Null. Es versetzt Sie aus dem Weg, den Sie von den meisten Geräuschen erwarten, und die Phasenverschiebung ist fest und daher leicht zu erklären.
Akohlsmith

Guten Anruf Andrew :-)
Fuzz

@ Andrew,: D nette Idee!
iamgopal
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.