Wie kann ich einen Stromausfall mit einem Mikrocontroller erkennen?

Ich habe folgende Stromversorgungskonfiguration: AC MAINS -> UPS -> 24V POWER SUPPLY -> 5V SPANNUNGSREGLER -> PCB (Mikrocontroller). Was ist die beste Lösung, um den Stromausfall im Netz mit dem Mikrocontroller zu erkennen? Ich muss auch den Nulldurchgang erkennen, damit ich die Drehzahl eines Wechselstrommotors steuern kann.

Benötigen Sie eine ordnungsgemäße Isolierung zwischen dem Netz und dem Mikrocontroller, oder können Sie mit etwas Einfacherem davonkommen?
Es muss isoliert werden, ja. Das Zuführen des Netzes zu einem Pin des Mikrocontrollers über einen großen Widerstand ist keine Lösung für dieses Projekt.
Warum wird m.Alins Kommentar zweimal positiv bewertet? Er gibt nur mehr Informationen. Oder denken die Upvoter, dass es nie fertig ist, von 230 V auf den Pin eines Mikrocontrollers zu wechseln, und halten sie es für einen guten Witz?
Lassen Sie den Mikrocontroller seine eigene Stromversorgung überwachen, und wenn die Stromversorgung ausfällt, senden Sie --- Oh, richtig, vergiss es.
@OlinLathrop Gute Idee! Aber kann ich einen 555 anstelle eines Mikrocontrollers verwenden? :-)
@OlinLathrop: Das ist der sprichwörtliche Produktmanager, der nach einer LED fragt, die aufleuchten muss, um zu warnen, wenn die Batterie schwach ist.

Antworten (3)

Da Sie auch den Nulldurchgang benötigen , bekommen Sie die Stromausfallerkennung quasi umsonst .
Verwenden Sie am besten einen Optokoppler , um Nulldurchgänge zu erkennen. Legen Sie die Netzspannung über hochohmige Widerstände an den Eingang des Optokopplers. Der SFH6206 von Vishay verfügt über zwei antiparallel geschaltete LEDs, sodass er über den gesamten Zyklus der Netzspannung funktioniert.

Geben Sie hier die Bildbeschreibung ein

Ist die Eingangsspannung hoch genug, wird der Ausgangstransistor eingeschaltet und der Kollektor liegt auf Low-Pegel. Um den Nulldurchgang herum ist die Eingangsspannung jedoch zu niedrig, um den Ausgangstransistor zu aktivieren, und sein Kollektor wird hochgezogen. Sie erhalten also bei jedem Nulldurchgang einen positiven Impuls . Die Impulsbreite hängt vom Strom der LEDs ab. Egal, ob es sich um mehr als 10 % Arbeitszyklus (1 ms bei 50 Hz) handelt. Es wird symmetrisch zum tatsächlichen Nulldurchgang sein, sodass der genaue Punkt in der Mitte des Impulses liegt.

Um Stromausfälle zu erkennen, starten Sie bei jedem Nulldurchgang einen Timer (neu), mit einem Timeout bei 2,5 Halbzyklen. Best Practice ist es, den Impuls einen Interrupt erzeugen zu lassen. Solange die Stromversorgung vorhanden ist, wird der Timer bei jedem Halbzyklus neu gestartet und läuft nie ab. Bei einem Stromausfall wird es jedoch nach etwas länger als einem Zyklus abgeschaltet, und Sie können die entsprechenden Maßnahmen ergreifen. (Der Timeout-Wert ist länger als 2 Halbzyklen, sodass eine Spitze bei 1 Nulldurchgang, die einen verpassten Impuls verursacht, keine falsche Warnung ausgibt .)
Wenn Sie einen Software-Timer erstellen , kostet er Sie nichts, aber Sie kann auch einen nachtriggerbaren monostabilen Multivibrator (MMV) verwenden, beispielsweise mit einem LM555 .

Hinweis: Abhängig von Ihrer Netzspannung und dem Widerstandstyp müssen Sie möglicherweise zwei Widerstände für den Optokoppler in Reihe schalten, da die hohe Spannung dazu führen kann, dass ein einzelner Widerstand zusammenbricht. Für 230V AC habe ich dafür drei 1206er Widerstände in Reihe geschaltet.


Q&A-Zeit! (aus Kommentaren, das ist extra, falls Sie mehr wollen )

F: Und die Eingangs-LEDs des Optokopplers funktionieren bei 230 V? Das Datenblatt gibt an, dass die Durchlassspannung 1,65 V beträgt.
A: Wie bei einer gewöhnlichen Diode ist die Spannung über einer LED mehr oder weniger konstant, egal wie hoch Ihre Versorgungsspannung ist. Der obligatorische Vorwiderstand nimmt die Spannungsdifferenz zwischen Netzteil und LED-Spannung auf. Die Antworten auf diese Frage erklären, wie der Wert des Widerstands berechnet wird. Extrembeispiel: eine 10.000-V-Stromversorgung für eine 2-V-LED. Spannung über dem Widerstand: 10 000 V - 2 V = 9 998 V. Du willst 20mA? Dann ist der Widerstand 9 998 v 20 m EIN = 499,9k Ω . Das sind 500.000, das ist sogar angemessen. Sie können hier jedoch keinen gewöhnlichen Widerstand verwenden. Warum nicht? Erstens ist ein gewöhnlicher 1/4-W-PTH-Widerstand auf 250 V ausgelegt und bricht definitiv bei 10.000 V zusammen, sodass Sie 40 Widerstände in Reihe verwenden müssen, um die Hochspannung zu verteilen. Zweitens, und noch schlimmer, ist die Leistung, die der Widerstand abführen müsste P = v × ich = 9 998 v × 20 m EIN = 199,96 W , viel mehr als die bewerteten 1/4W. Um mit der Leistung fertig zu werden, benötigen wir sogar 800 Widerstände. OK, 10 kV sind extrem, aber das Beispiel zeigt, dass Sie jede Spannung für eine LED verwenden können, also sind auch 230 V möglich. Es geht nur darum, genügend und den richtigen Widerstandstyp zu verwenden.

F: Wie wirkt sich die Sperrspannung auf die Lebensdauer der LEDs aus?
A: Die zweite, antiparallele LED sorgt dafür, dass die Sperrspannung über der anderen LED nicht höher werden kann als ihre eigene Durchlassspannung. Und das ist auch gut so, denn eine Sperrspannung von 325V P würde übrigens jede LED töten (höchstwahrscheinlich explodieren), genau wie jede Signaldiode. Der beste Weg, es zu schützen, ist eine antiparallele Diode.

F: Leiten die Widerstände nicht viel Wärme ab?
A: Nun, mal sehen. Wenn wir 1mA durch die Widerstände annehmen und die LED-Spannung ignorieren, haben wir P = v × ich = 230 v R M S × 1 m EIN = 230 m W , damit kann sogar ein 1206 umgehen. Und denken Sie daran, dass wir mehr als einen Widerstand verwenden, also sind wir sicher, wenn wir mit 1 mA arbeiten können (der SFH6206 hat eine hohe CTR Aktuelles Übertragungsverhältnis).

@stevenvh Wie wirkt sich die Sperrspannung auf die Lebensdauer der LEDs aus? Oder mindern die 2 LEDs antiparallel dieses Problem?
Du brauchst das Ohmsche Gesetz. v = ich R - siehe electronic.stackexchange.com/questions/14852/…
Ich habe Fragen hier und die Antworten in einem Q&A in meine Antwort integriert.
@stevenvh, diese Antwort ist zu detailliert und deckt zu viele Beispiele ab, ich wurde müde und habe nur positiv gestimmt, anstatt zu lesen. Ich möchte, dass Sie anfangen, oben eine Zusammenfassung einzufügen, die mir sagt, was ich nicht lesen werde. :)
@Kortuk - Ich dachte, der Titel Q & A macht deutlich, dass dies zusätzliche Informationen "für den interessierten Leser" sind :-). Ich werde jede Frage hervorheben, damit Sie diejenigen überspringen können, die Sie nicht interessieren.
@stevenvh, ich meinte das als Witz. Es war eine großartige Antwort. Verdammt, ich mag die Fettschrift auch wirklich sehr. Doppelter Gewinn. Ich dachte, Sie würden sich über eine Antwort von mir freuen, die Ihnen mitteilt, dass Ihre Antwort zu gut war.
@stevenvh: Wenn die Widerstände so bemessen sind, dass sie bei Spitzenspannung 1 mA durch die LED lassen, würde dies darauf hindeuten, dass sie um den Nulldurchgang herum nicht annähernd so viel durchlassen. Ich frage mich, ob es besser wäre, einen Brückengleichrichter und eine Transistorschaltung zu verwenden, um den Strom unabhängig von der Spannung auf 1 mA zu begrenzen, oder vielleicht ein Paar Schaltungen und ein Paar Optos, um positive und negative Leitungsphasen getrennt zu erkennen?
@supercat - natürlich variiert der Strom sehr stark, und ich erinnere mich, dass ich einiges an Berechnung gebraucht habe, um anständige Impulse auf mein uC zu bekommen, aber am Ende hatte ich Impulse mit weniger als 10% Tastverhältnis und perfekt symmetrisch um den Nulldurchgang . Nur mit Vorwiderständen. Die 1mA war nur eine Schätzung.
@stevenvh: Wenn Impulse mit einem Tastverhältnis von 10% ausreichen, ist das in Ordnung. Man könnte effektiv erraten, wo sich der Nulldurchgang befindet, indem man annimmt, dass er sich in der Mitte des "niedrigen" Bereichs befindet. Ich wäre etwas besorgt, dass harmonische Verzerrungen auf der Stromleitung dazu führen könnten, dass die eigene Erkennung zu früh oder zu spät erfolgt, oder dass Schwankungen in der Netzspannung dazu führen könnten, dass die Dinge brenzlig werden. Kommt auf die Anwendung an denke ich.
@supercat - Der Umgang mit Rauschen im Signal ist ein Geschäft für sich. Ein Kollege von mir entwarf Dimmer, bei denen der Mikrocontroller perfekt mit der Netzphase synchron blieb, egal welcher Müll hinzugefügt wurde. Funktionierte weiterhin reibungslos, wo alle Produkte der Konkurrenz zu flackern begannen. Wirklich beeindruckend, ein feiner Ingenieur.
@stevenvh: Die Überwachung der Leitungsphase, damit der Prozessor weiß, was er "erwartet" und wann er es zu erwarten hat, ist ein gutes Konzept. Meine Sorge wäre, dass, wenn sich Ihr Gerät am Ende eines langen Verlängerungskabels befindet, zusammen mit einem anderen Gerät, das einen Brückengleichrichter und eine große Filterkappe hat, die trotz seiner Größe immer noch stark wellt, ein solches Gerät Ihr verursachen könnte ein Signal zu empfangen, das schön und gleichmäßig, aber "spät" wäre, und Ihr Gerät hätte keine Möglichkeit, so etwas zu erkennen.
@supercat: Ich denke, das sollte nur ein Problem sein, wenn der Wechselstrom am Controller phasenverschoben zum Wechselstrom am gesteuerten Motor ist. Hoffentlich ist die Verkabelungssituation nicht so problematisch. Auch für die Störfestigkeit habe ich es als vorteilhaft empfunden, einen Widerstand parallel zu Optokopplerdioden hinzuzufügen. Es erhöht das Totband um die Nulldurchgänge herum, hilft aber zu verhindern, dass die Dioden durch Rauschkopplung über die AC-Eingangsleitungen eingeschaltet werden.
Gibt es einen Grund, warum Sie für den Xc bei 50/60 Hz keinen Kondensator verwenden können, um die Spannung zu senken, anstatt Widerstände in Heizelemente umzuwandeln? Ich betrachte eine 0,022uF-Kappe, um mir 120k Xc bei 60 Hz zu geben. Das sind etwa 1,5 mA durch meinen Optoisolator. Gibt es einen Grund, warum das nicht funktionieren wird?
@Joe - Ein Kondensator würde eine Phasenverschiebung ergeben, sodass Sie den Optokoppler nicht zum Erkennen von Nulldurchgängen verwenden können. Ansonsten ist es eine Lösung für kein Problem. 230 mW sind vor allem am Netz nichts im Vergleich zu zB einem Akku. Der Kondensator wird viel größer und teurer sein. Wenn Sie also die Nulldurchgangserkennung ignorieren, würde es funktionieren, aber es lohnt sich nicht.
@stevenvh Wir wollten nur das Einschalten erkennen und nichts mit dem Nulldurchgang machen, also habe ich nicht daran gedacht, dass die Phasenverschiebung ein Faktor ist. Aber bei 16 Kanälen pro Platine ist der Kostenunterschied ein beträchtlicher Faktor.
Eine stabile Einrastung auf rauschende Netze wird mit einem analogen oder heutzutage häufiger mit einem digitalen Phasenregelkreis (PLL) erreicht. Auf diese Weise können Sie sich auf das Netz einschalten, selbst wenn die Frequenz aufgrund der Leistung des mobilen Generators schwankt, wenn Ihre PLL intelligent genug ist, um sich auf Frequenzänderungen einzustellen.

Ich bin auf diesen Artikel gestoßen, einen MID400 Power Line Monitor, der für diesen Zweck entwickelt wurde. Der Anwendungshinweis, https://www.fairchildsemi.com/application-notes/AN/AN-3007.pdf , enthält eine Reihe von Schaltungsvorschlägen, die mehrere Anwendungsszenarien ansprechen.

Dies war ein wiederkehrendes Thema mit zu wenigen Lösungen während meiner Aufrüstung eines Industrieofens. Die meisten SPS verwenden "AC Input"-Module. Meiner Beobachtung nach entwerfen die meisten EEs nicht mit SPS und bauen ein eingebettetes Gerät. Ich habe einen erfolgreichen Suchausdruck gefunden: control signal relay spdt slim 120vAndere einzuschließende Modifikatoren sind DIN railund Socket C.

Jede Art von Unternehmen mit dem Wort automationim Namen hat Produkte und Literatur, die Ihnen bei Ihrem Design helfen.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Wählen Sie das Relais mit Eingangsspule passend zu Ihrer Netzspannung aus. Es gibt Spulen für 100-120VAC und 200-240VAC. In meinem Beispiel habe ich mich entschieden, den Ausgang des Relais "umzukehren", so dass der digitale Eingang immer an HI oder LO gebunden ist und nicht schwebend gelassen wird.

Die obige Schaltung stellt dar, was ich zur Überwachung der Sensoren am Ofen verwende, die alle NO115-VAC-Schalter sind. Kompakte Designs verbessern die Dichte, daher lernen Sie etwas über "Klemmenblockrelais".

Es gibt ein einzigartiges Angebot auf dem Markt mit hoher Dichte und einer Flachbandkabelschnittstelle von einem Anbieter namens opto22 über seine G4-Familie. Keine Zugehörigkeit, nicht einmal ein Kunde. Andere Lösungen, die diese Dichte erreichen, scheinen proprietäre Designs zu sein, die eine Schnittstelle zu SPS-Produktlinien bilden.