Wie kann man den Effekt des elektrischen Feuerzeugrauschens auf den Mikrocontroller reduzieren?

Ich verwende in meinem Stromkreis eine Art elektrisches Feuerzeug, um das Feuer anzuzünden.Geben Sie hier die Bildbeschreibung ein

Außerdem habe ich einige Sensoren verwendet, die bei Gefahr warnen, indem sie ein Signal an den Interrupt der MCU (ATmega 32) senden. Das Feuerzeug arbeitet mit 220 V AC in seinem Eingang, also habe ich ein Relais verwendet, um es ein- und auszuschalten. Außerdem habe ich einen gemeinsamen Emittertransistor verwendet, um das Relais von der MCU aus steuerbar zu machen. Unmittelbar davor habe ich einen Optokoppler verwendet, um die Stromversorgung zu trennen. Aber wenn das Feuerzeug anfängt zu arbeiten, beginnt das Interrupt-Programm und das ist mein Problem.

Ich habe viele Methoden verwendet, zum Beispiel habe ich kleine Kondensatoren auf dem Interrupt-Pin platziert, eine Schallschutzabdeckung um die MCU herum verwendet, das Feuerzeug abgedeckt, leichtere Drähte abgedeckt, eine Ferritperle (am Ausgang der Stromversorgung der MCU) verwendet und große Kondensatoren verwendet. Sie haben mir geholfen, dieses Rauschen zu reduzieren, aber nicht genug, um mein Problem zu lösen. Was soll ich machen? Vielleicht ist das Feuerzeug zu stark!
leichtere Verbindungen

Hast du eine Schaltung?
Ich werde es jetzt zeichnen
Woher kommen MQ2 und MQ5? Sie möchten die Filterung dort durchführen, nicht am MCU-Pin.
Sie sind unabhängige Module. Ich benutze nur seine TTL-Antwort.
Hast du die Geräusche gemessen? Wenn ja, poste bitte einen Screenshot deiner Messung.
@DanielGiesbrecht Eigentlich nicht. Ich weiß nicht wie ich das messen soll.
Hast du ein Oszilloskop?
@DaneilGiesbrecht Aha. Ja, ich habe es überprüft. Ich habe prob direkt auf den Interrupt-Pin gelegt und die Schaltung gestartet, aber es gab keine Änderung. Ich bin mir sicher, dass es kein elektrisches Rauschen ist.
Gemäß Ihrem Schaltplan verbinden Sie die uC-Masse mit der Zündermasse. Nicht.
Dieser Kondensator nützt ohne Vorwiderstand sowieso nur sehr wenig (außer vielleicht, dass er den Gate-Ausgang an der Grenze instabil macht). Aber wie andere gesagt haben, ist dies nicht der richtige Ort dafür. Bereinigen Sie das vom Sensor kommende Signal, was auch immer es ist.
Beantwortet das deine Frage? Verwendung von Flyback-Dioden

Antworten (2)

Ich würde versuchen, die Signale vorher zu filtern U2:A. Wenn Sie es nachfiltern, U2:Awie in der Schaltung, hat das Rauschen bereits das TTL-Signal beeinflusst und es kann nicht mehr unterschieden werden, ob das Signal durch Rauschen oder die MQ2 / MQ5Module erzeugt wurde.

Danke für deinen Vorschlag. Ich werde es auf jeden Fall tun und das Ergebnis hier mitteilen.

Ich habe das Signal am MCU-Ausgangspin überprüft, der das Relais durch das Oszilloskop ansteuert. Ich habe festgestellt, dass es sich nicht um ein elektrisches Problem handelt, das die Interrupts der MCU beeinflusst. In meinem Programm habe ich einen externen Interrupt verwendet (um die steigende Flanke eines anderen Signals zu erkennen), und sobald mein Zünder zu arbeiten beginnt, startete der Interrupt automatisch und manchmal hörte das LCD auf zu arbeiten und zeigte seltsame Zeichen auf seinem Bildschirm.

Dann beschloss ich, diese Interrupts aus meinen Programmen zu entfernen, und ich versuchte, die steigende Flanke zu erkennen, indem ich einfach die Eingangspins zu bestimmten Zeiten überprüfte. Ich habe versucht, die Interrupts so niedrig wie möglich zu verwenden, und ich habe sie deaktiviert, während ich mit dem Zündsystem gearbeitet habe. Auf diese Weise konnte ich mein Problem lösen.