Umwandlung einer Impulsfolge in einen einzelnen Impuls

Poste meine Frage mit einem Schaltplan

Ich möchte die Netzwechselspannung mit einem Optokoppler erkennen. Wenn ich den Optokoppler-Eingang mit einer Wechselstromleitung füttere, erhalte ich am Ausgang eine 50-Hz-Impulsfolge. Üblicherweise wird dieses Schema für eine Nulldurchgangserkennung verwendet. Aber meine Idee ist, diese Impulse zu verwenden und sie in einen stetigen Gleichstromimpuls umzuwandeln, damit ich diesen Impuls am Eingang eines PCF8574 einspeisen kann. Auf diese Weise würde ich den Status der PCF8574-Port-Pins und damit das Vorhandensein einer Wechselspannung kennen, wie im folgenden Schema gezeigt

Geben Sie hier die Bildbeschreibung ein

Wenn ich den Schalter SW schließe, wird am Ausgang des Optokopplers eine Impulsfolge erzeugt. Ich möchte, dass der Block "irgendeine Schaltung" einen stetigen Impuls vom Optokopplerausgang erzeugt. Wenn der Schalter SW offen ist, gibt es keine Impulsfolge und der Block "some circuit" soll eine Null ausgeben, bis der Schalter SW wieder eingeschaltet wird.

Nun ist meine Frage:

Wie kann ich eine Impulsfolge in einen stetigen Gleichstrom umwandeln? Ich möchte, dass der Block "irgendeine Schaltung" im obigen Schema die Arbeit erledigt, also welche Schaltung den Block "irgendeine Schaltung" ersetzen kann

Ist es auch der richtige Weg, einen Optokoppler mit einem "einigen Schaltkreis" -Block zu verbinden? Ich erhalte eine Impulsfolge am Emitter des Optotransistors Bitte korrigieren Sie mich, wenn ich falsch liege

Bitte teilen Sie alle Schaltungen oder Ideen

Ihnen zu danken,

Gaurav


Grundsätzlich möchte ich wissen, ob ein 230-V-Wechselstromnetz vorhanden ist oder nicht. Wenn ich also den HCPL3700-Optokoppler wie unten gezeigt verwende, wird er die Arbeit für mich erledigen?

Ich möchte nur einen einzigen stetigen Impuls, also gehe ich davon aus, dass der HCPL3700 ein HIGH ausgibt, wenn das AC-Signal einen bestimmten Schwellenwert überschreitet, und wenn das AC-Signal fehlt, ein LOW ausgibt.

Habe ich recht ? Bitte vorschlagen

Wechselstromnetz erkennen

Kann man das nicht per Software machen? Überprüfen Sie regelmäßig, ob der Eingang hoch ist, und wenn Sie ihn einige Zyklen lang nicht sehen, gehen Sie davon aus, dass die Stromversorgung ausgeschaltet ist.
@transistor: Ich verwende den Interrupt-Pin PCF8574, um meinem Mikrocontroller zu signalisieren, ob an einem seiner Port-Pins eine Zustandsänderung vorliegt. Damit der Code richtig funktioniert, brauche ich einen einzelnen Interrupt-Impuls, der sich nie wiederholt, es sei denn, es gibt eine Änderung an einem der Port-Pins. Da ich jedoch eine Impulsfolge vom Ausgang des Optokopplers erhalte, werden die PCF8574-Port-Pins mit 50 Hz gepulst. Infolgedessen pulsiert auch das Interrupt-Signal von PCF8574 mit der gleichen Rate. Mein Mikrocontroller bekommt also jedes Mal das Interrupt-Signal, was nicht erwünscht ist
Ihre Skizze zeigt keinen Verpolungsschutz an der Optokoppler-LED. Es muss eingebaut werden oder es würde jetzt geraucht werden.
Wenn Ihre ursprüngliche Frage darin besteht, zu erkennen, dass an der Wechselstromleitung Spannung anliegt, würde ich vorschlagen, sie in Gleichstrom umzuwandeln und einen ausgelösten Interrupt mit niedrigem Pegel zu setzen. Also, wann immer die Wechselstromleitung pufft; automatisch geht DC auf Null und ISR wird aufgerufen.
@ammar.cma : Das war zunächst die Grundidee, aber ist es sicher, 230 V AC in seinen Spitzenwert DC umzuwandeln? Meine Platine wird alles an Bord haben, daher fühle ich mich nicht sicher, mit einer so hohen Gleichspannung vor dem Optokoppler umzugehen. Wenn ich versuche, die Wechselspannung zu verringern und in Gleichstrom umzuwandeln, schaltet der Optotransistor nicht vollständig ein.
Wenn Sie nur erkennen möchten, ob die Wechselstromleitung eingeschaltet ist oder nicht. Ich würde diese Methode vorschlagen. SCHRITT die Wechselstromleitung mit Spannungsteilern (hoher Widerstand - in kOhm-Reihenfolge) herunter, dann Brücke verwenden und ... zu Ihnen. Verwenden Sie eine Gleichtaktdrossel, um die Spitzen in der Wechselstromleitung zu filtern. Nur für den Fall.

Antworten (6)

Die Verwendung eines retriggerbaren One-Shot wie des 74ls123 mit einer Einschaltzeit von mehr als einem vollen Wechselstromzyklus reicht aus, damit Ihre Schaltung funktioniert. Diese "digitalen Monostabilen" sind nicht erstaunlich genau, da die Zeitkonstante von Logikgatterschwellen und analogen Komponenten abhängt. Dies bedeutet, dass Ihre vorgeschlagene Produktionsschaltung eine RC-Konstante von beispielsweise 40 ms haben sollte.

danke, ich werde versuchen, mit 74Ls123 IC zu simulieren, die RC-Konstante zu bestimmen und Sie wissen zu lassen, ob das funktioniert
Es funktionierte mit 74LS123. Die RC-Zeit wurde absichtlich auf etwa 90 ms konstant gehalten, um am sichersten zu bleiben

Der Filter gibt Ihnen ein Signal: AC vorhanden/AC nicht vorhanden, aber ich würde die Software den Status überprüfen lassen, es sei denn, Ihr INT würde den Controller in allen Fällen unterbrechen. Wenn Sie Pech haben, verpasst der Controller möglicherweise eine Flanke und befindet sich in einem falschen Zustand.

Angenommen, der tatsächliche Portstatus von PCF8574 ist 251. Wenn sich nun einer meiner PCF8574-Port-Pin-Status ändert, sagen wir, der neue Status ist 253. Der PCF8574-Pin geht auf Low, wenn an einem der PCF8574-Port-Pins eine Statusänderung auftritt. Wenn ich eine Impulsfolge mit beispielsweise 100 Hz an einem beliebigen Porteingang eingebe, wird auch der INT-Pin mit der gleichen Rate gepulst. Dies unterbricht den Mikrocontroller jedes Mal und liest den Wert als 251, 253, 251, 253 .... Dies ist unerwünscht. Ich möchte also einen stetigen Impuls am Eingang von PCF8574, damit der INT-Pin nur einmal niedrig wird und das Mikro den neuen Status lesen würde

Eine Möglichkeit besteht darin, eine Filterschaltung zwischen dem Ausgang des Optokopplers und dem Eingang des PCF8574 zu platzieren.

Eine Schaltung, die dies für Sie tun könnte, würde folgendermaßen aussehen:

Geben Sie hier die Bildbeschreibung ein

Immer wenn das 50-Hz-Signal vorhanden ist, ermöglichen die hohen Zeiten des Signals R1, den Kondensator C1 über D1 aufzuladen. Wählen Sie die Werte so aus, dass C1 nach ein oder zwei Impulsen von 50 Hz auf einen hohen Pegel geladen wird, der am PCF8574 zu sehen ist.

Der Widerstand R2 ist vorhanden, damit sich der Kondensator wieder auf einen niedrigen Pegel entlädt, wenn die 50-Hz-Impulse nicht mehr kommen.

Als letztes sollten Sie berücksichtigen, dass Sie je nach den Eingangssignaleigenschaften des PCF8574 das Signal von der Schaltung unten durch ein Schmidt-Trigger-Gate puffern möchten, um seine Anstiegs- / Abfallzeiten zu quadrieren.

Vielen Dank für die Antwort, ich werde versuchen, die von Ihnen vorgeschlagene Schaltung auf einem Steckbrett zu implementieren, und sehr bald ein Feedback hinterlassen
Hinweis zur Vorsicht. Wenn Sie die Widerstände R1 und R2 auswählen, ist es wünschenswert, dass R2 >> R1, damit der Spannungsteilereffekt der beiden die an C1 erreichbare Hochpegelspannung nicht begrenzt. Wenn diese Spannung zu niedrig wird, kann das Zielgerät sie nicht als hohen Pegel erkennen.
Der hohe Schwellenspannungspegel für PCF8574 beträgt 0,7 Vcc, was bei 3,3 V etwa 2,31 Volt entspricht. Und ein niedriger Schwellenpegel ist 0,3 Vcc, was etwa 0,99 Volt entspricht. Also werde ich R1, R2 und C entsprechend auswählen, um die IO-Spezifikationen von PCF8574 zu erfüllen. Ich werde die Schaltung zuerst simulieren, bevor ich sie stecke und bald zurückkomme
Könnte auch eine Brücke und eine Kappe vor den Optokoppler setzen.
Diese Schaltung funktioniert nicht: Was passiert, wenn kein Wechselstrom vorhanden ist?
Um R1 zu entfernen und durch den Optotransistor zu ersetzen, wird die Diode nicht mehr benötigt. und kann durch einen Draht ersetzt werden.
@Jasen - Sehr guter Punkt über das Fehlen des AC. Dein Fix hört sich gut an.
@Michael und Jasen: Die Schaltung hat nicht wie erwartet funktioniert. Ich simuliere die Schaltung mit der Multisim-Software und leider hat die Software keinen Optokoppler in ihrer Datenbank. Vermutlich habe ich den Eingang also mit einer Impulsquelle von 50 Hz Frequenz gespeist. Der Widerstand R1 fehlt in Michaels Schaltung, wie Jasen zeigt. Es bleiben also nur noch zwei Komponenten C1 und R2 übrig. Der C1 konnte seinen Wert nicht aufladen und halten, und ich erhalte die gleiche 50-Hz-Impulsfolge am Ausgang.
@mkeith: Ich habe versucht, den Eingang zum Optokoppler gleichzurichten und zu filtern. Die gefilterte Gleichspannung betrug 20 V DC. Aber der Optotransistor konnte selbst bei diesem Gleichspannungspegel nicht vollständig einschalten. Dies wird durch Anschluss einer LED am Ausgang des Optokopplers überprüft. Die LED leuchtete schwach für 20 V DC, aber als ich eine direkte 230 V AC an den Eingang des Opto anlegte, leuchtete die LED hell, was anzeigte, dass der Opto-Transistor vollständig eingeschaltet wurde. Ich kann 230 V AC nicht in 230 V DC umwandeln, damit der Optokoppler ordnungsgemäß funktioniert.
Irgendwelche anderen Schaltungsideen?
@guarav bhand, aktualisieren Sie Ihre ursprüngliche Frage mit einem Schema Ihrer Nulldurchgangserkennungsschaltung. Es gibt eine Schaltfläche zum Einfügen von Schemata in der Editor-Symbolleiste. Zeigen Sie alles vom Netz bis zum Optokoppler.

Es ist unmöglich, eine Impulsfolge wie in Ihrem Diagramm gezeigt in einen einzelnen Gleichstromimpuls umzuwandeln, da dies erfordern würde, dass Ihre Schaltung in die Zukunft sehen und Ereignisse erkennen kann, die noch nicht aufgetreten sind.

Stellen Sie sich vor, Sie befinden sich gerade im Moment der fallenden Flanke des 3. und letzten Eingangsimpulses. Um zu wissen, dass es an der Zeit ist, den Ausgangs-Single zu senken, müssten Sie wissen, dass kein weiterer Eingangsimpuls kommt.

Das Beste, worauf Sie hoffen können, ist, so etwas wie "einen einzelnen Impuls auszugeben, der ansteigt, wenn der Eingang ansteigt, und abfällt, nachdem der Eingang mindestens n Zeit lang niedrig war".

Beachten Sie, dass n vom Timing des Eingangsimpulses abhängen kann, aber nur von Dingen, die bis zu diesem Zeitpunkt gemessen werden konnten.

Neon-LDR-Optokoppler

Ich biete dies als unvollständige Antwort an, da ich es nicht getestet habe.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Alle LED-Optokoppler leiden unter hoher Verlustleistung in den Vorwiderständen der Netzspannung und erzeugen etwas Wärme auf der Platine. Der LED-Strom variiert während des Netzzyklus, sodass Kompromisse eingegangen werden müssen. Es ist möglich, die Spannung mit einem Kondensator abzusenken, es sind jedoch zusätzliche Komponenten erforderlich, um Transienten beim Einschalten zu bewältigen.

Neons sind relativ stromsparend und ein 1/4 W 220 kΩ-Widerstand ist alles, was erforderlich ist, um sie mit 230 V Netz zu beleuchten. Auf der Niederspannungsseite wird ein LDR (Light Dependent Resistor) verwendet. Im obigen Schema habe ich einen 1-uF-Kondensator hinzugefügt, um das Signal "Netz vorhanden" während des Nulldurchgangs aufrechtzuerhalten.

Neon-Optokoppler wurden von Fender-Vibratoschaltungen für Gitarrenverstärker verwendet und sind immer noch erhältlich. Eine Websuche nach „Neon-Optokoppler“ zeigt einige neuere Implementierungen für moderne Mikros für „Netzpräsenz“ anstelle der üblichen Nulldurchgangsanwendungen.

Fender Neon-Optokoppler - http://shop.sonnywalton.com

Neon-Optokoppler für Fender-Vibrato. Beachten Sie die Verwendung von undurchsichtigem Schrumpfschlauch, um das Eindringen von Streulicht zu verhindern. Das Neon scheint auf der linken Seite zu sein, wobei der Kolbenpunkt sichtbar ist und auf den LDR auf der rechten Seite zeigt.

Angesichts der Tatsache, dass in der Frage vier Schaltkreise erforderlich sind, schlage ich vor, dass diese Idee eine Überlegung wert ist. Der Neon-Optokoppler kann mit einem normalen Neon, einem LDR und einem schwarzen Schrumpfschlauch selbst hergestellt werden.

Danke für den Hinweis auf das Problem der Verpolung. Ich werde am Eingang meines Optokopplers eine Diode antiparallel hinzufügen. Dies ergibt eine 100-Hz-Impulsfolge am Ausgang, was für mich kein Problem darstellt. Der vorgeschlagene Neon-LDR-Optokoppler scheint ein guter Ersatz für den vorhandenen PC817 zu sein, aber leider ist dieser Optokopplertyp auf dem lokalen Markt in meiner Nähe nicht ohne weiteres erhältlich.
Sie könnten sie mit Neon, LDR und Schrumpfschlauch herstellen.
Ich werde versuchen, einen zu bauen, aber im Moment stecke ich seit 2 Wochen an dem ursprünglichen Problem fest, Pulszüge in einen einzelnen Puls umzuwandeln

Ich wollte genau die gleiche Lösung, wenn ich mit einer LED-Anzeige arbeite, die mit einer Netzfrequenz von 50 Hz läuft, und diese in einen konstanten Einzelimpuls umwandeln, während die LED "an" war. Der retriggerbare 74HC123 funktioniert wie bereits erwähnt sehr gut (mit 20-ms-Retrigger, um ihn scharf zu halten), verwendete aber schließlich Software auf Arduino, ganz einfach, wo der eingehende Impuls (von einem optischen TSL257-Sensor) den 20-ms-Timer immer wieder zurücksetzte - Wenn kein Impuls empfangen wurde, ist der Timer (eigentlich ein mS-Zähler) abgelaufen und hat einen Alarm ausgelöst oder was auch immer. Es ist eine wirklich nützliche Möglichkeit, das Stromnetz zu überwachen. Das Schöne am Software-Ansatz ist, dass Sie die Retrigger-Zeit so lange machen können, wie Sie möchten. Ich verwende den HCPL3700 auch anstelle von Relais, um den Pumpenlauf usw. zu überwachen.