Ich verwende in meinem Stromkreis eine Art elektrisches Feuerzeug, um das Feuer anzuzünden.
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!
Ich würde versuchen, die Signale vorher zu filtern U2:A
. Wenn Sie es nachfiltern, U2:A
wie 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 / MQ5
Module erzeugt wurde.
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.
Jason Han
Mohammad Reza Hasanpour
Vince Patron
Mohammad Reza Hasanpour
Daniel
Mohammad Reza Hasanpour
Daniel
Mohammad Reza Hasanpour
Edgar Braun
danmcb
die fleißige Biene