Ich habe ein 100-Hz-Signal mit einer schnellen Anstiegszeit und einer langsameren Abfallzeit. Dies ist die Ausgabe von einem Nulldurchgangsdetektor. Das Signal wird mit einem Arduino-Eingangspin verbunden. Arduino kann einen Interrupt bei der RISING- oder FALLING-Flanke des Signals erzeugen. Ich habe sie getestet und beide funktionieren (anscheinend) gut, aber ich frage mich, ob es einen Grund gibt, eine Kante der anderen vorzuziehen.
Das ist das Signal:
Bearbeiten
Dies basiert auf dieser Schaltung, die ich für ein bestimmtes Projekt benötige (Steuerung einer HID-Lampe):
In meinem Fall ist die Lampe eine 240-V-250-W-HID-Lampe mit magnetischem Vorschaltgerät (Leistungsfaktor 0,88), die mit SSR flackert, daher muss ich ein elektromechanisches Relais verwenden, jedoch mit Nulldurchgang. Mit diesem Signal wartet Arduino auf den richtigen Zeitpunkt, um das Relais zu schließen, wodurch die Lichtbogenbildung minimiert wird. Es ist nicht sehr wichtig, da das Relais nur einmal am Tag schließt (Sie wetten).
Vorschläge sind willkommen.
Ein anderer Versuch
Benutzer @jonk schlug einen anderen Ansatz für mein Problem vor. Obwohl es meinen Bedürfnissen am besten dient, ist es keine Antwort auf meine Frage und kann weder gepostet noch akzeptiert werden.
Wie auch immer, Jonks Ansatz verdient es nicht, in den Kommentaren unterzugehen, also hier ist er:
Die Idee ist, ein SSR und ein elektromechanisches Relais parallel zu verwenden. Der Arduino schaltet sowohl das SSR (mit eingebauter Nulldurchgangserkennung) als auch das Relais (zwei Pins) gleichzeitig ein. Das SSR schaltet sich sofort ein und versorgt die Last. Nach einiger Verzögerung und einigen Zyklen schaltet Arduino den SSR aus. Dann übernimmt das bereits geschlossene Relais die Last, während die Lampe noch erhitzt wird (und es wird sowieso von keinem Spannungsunfall beeinflusst).
Warum ist es am besten? Ich muss mich nicht mit dem Netz herumschlagen. Ich muss die Zeiten nicht anpassen. Ich brauche keinen Interrupt-fähigen Pin (Arduino hat nur zwei).
Lösen Sie im Allgemeinen nach Möglichkeit an schärferen Kanten aus. Das führt zu weniger Zeitunsicherheit und daher weniger Jitter. Es minimiert auch die Zeit, während der die digitale Eingabe in dem Zwischenbereich gehalten wird. Einige digitale Eingänge reagieren nicht gut darauf, dort gehalten zu werden. Sie können schwingen und/oder einen höheren Strom ziehen.
Wenn Sie unvermeidlich langsame Flanken haben, müssen Sie einen Schmitt-Trigger-Eingang verwenden. Diese haben eine eingebaute Hysterese und sind speziell dafür ausgelegt, unbegrenzt auf Zwischenwerten gehalten zu werden.
Ihr Impuls hat beide Flanken schrecklich zu langsam für ein genaues und wiederholbares Triggern digitaler Schaltungen. Es wurde bereits kommentiert, dass das Hinzufügen eines Schmitt-Triggers hilft. Ich schlage es auch vor.
Ihre Schaltung hat Kondensatoren, die eine Phasenvoreilung verursachen, sodass Ihr Impuls außerhalb der Zeit liegt. Simulieren oder berechnen Sie, wie viel Zeitverzögerung Sie benötigen, damit eine der Flanken (nach dem Schmitt-Trigger) beim tatsächlichen Nulldurchgang auftritt. Berücksichtigen Sie das in Ihrem Programm.
Genau wie bei einem Zielfernrohr ist der zuverlässigste Auslöser derjenige, der stabil ist. Da der Logikeingang spannungsempfindlich ist, ist bei etwa Vdd/2 der stabilste Übergang Turn off to LED oder die Q1-C-Anstiegszeit. Dies liegt an der breiten Palette linearer und sättigender Variationen von LED CTR.
Da Sie keinen LPF für die Rauschunterdrückung haben, können Sie davon ausgehen, dass Glitches Interrupts auslösen.
Dieses große Problem bei diesem Design besteht darin, dass die Impedanz von > 10 k der Kappen einen zu niedrigen Eingangsimpulsstrom ergibt. Kollektor R von 4,7k auf 100k ändern. Wert um 0,1uF erhöhen oder einen von der neutralen Seite entfernen
Jedes Gerät, das versucht, von einer Spannungswellenform zu triggern, wartet darauf, dass es einen bestimmten Schwellenwert überschreitet. Es wird immer eine Toleranz geben, und je langsamer die Flanke, desto mehr Zeit liegt zwischen der Auslösung und der Auslösung, also wählen Sie jedes Mal die schnellste Flanke.
Einige Geräte können einen Durchschnitt nehmen, der sogar noch besser sein kann, aber viele können das nicht.
jonk
Eugen Sch.
Peter Bennett
stobbe
Benutzer83628
jonk
Benutzer83628
jonk
jonk
jonk
Wesley Lee
jonk
Wesley Lee
Benutzer83628
jonk
jonk
Wesley Lee
jonk
Benutzer83628
jonk