Ich habe einen Elektroschocker ( http://www.amazon.com/VIPERTEK-VTS-989-Heavy-Rechargeable-Flashlight/dp/B00FPE6UN2 ), mit dem ich einen großen 1/2-Zoll-Lichtbogen durch die Luft erzeuge Fernzünden einer Butan-basierten Fackel mit einer 4-Fuß-Flamme.
Der Elektroschocker wird mit einer eigenen isolierten Batterie betrieben und ist mit einem Arduino Pro Mini (mit Atmel Atmega328-Mikrocontroller) optogekoppelt, um den Elektroschocker-Zünder auszulösen und das Magnetventil zu öffnen.
Meine 5-V-Stromversorgung für den Arduino kommt von zwei Schaltnetzteilen, die über einige Schottkys miteinander ODER-verknüpft sind. Ich habe eine 2200-uF-Kappe, die ich dem Netzteilausgang nach den "OR" -Dioden hinzugefügt habe. Es gibt eine dedizierte Batterie für die Schaltnetzteile des Arduino, getrennt und in keiner Weise mit der Batterie des Elektroschockers verbunden.
Ich habe eine 1-W-5,1-V-Zenerdiode hinzugefügt, die von Arduino Vcc in Sperrrichtung auf GND vorgespannt ist, um zu versuchen , unerwünschte positive und negative Spannungsspitzen abzuschneiden, die vom Lichtbogen des Elektroschockers stammen.
Die Stromversorgung ist jedoch sehr sauber, bis ich den Elektroschocker abfeuere, um die Fackel anzuzünden. Während dieser Zeit zeigt mein O-Scope Transienten bis zu 10+ V und bis zu -5 oder weniger V, selbst mit eingesetzter Zenerdiode.
Beachten Sie, dass die Funken mit einer Rate von ~ 30 Funken / Sek. auftreten, und ich würde vermuten (ich müsste dies durch mehr Hintergrundrecherche überprüfen, um sicherer zu sein), dass die Spannung an den Lichtbogenelektroden 40 kV ~ 80 kV beträgt.
Manchmal kommt es bei meinem Mikrocontroller zu völlig unerwarteten Störungen. Beispiel: Der Elektroschocker-Zünder sperrt „EIN“, auch wenn mein Code keinen Ort hat, an dem er eingeschaltet bleibt, der LED-Herzschlag bleibt „EIN“, obwohl ich keinen Ort habe, an dem ich der LED befehle, dauerhaft zu bleiben und nicht zu blinken, der LED-Herzschlag blinkt weiter und zeigt an Es empfängt Befehle ordnungsgemäß, aber das Magnetventil reagiert nicht mehr usw. usw. Reset behebt diese Probleme. Ich denke, sie hängen mit dem EMP-Impuls zusammen oder etwas, das im Chip mit Bitflips oder so passiert, nicht mit dem Code. Ich bin ein erfahrener Codierer für diese Chips, aber ich bin nicht erfahren im Umgang mit großen Lichtbögen und Elektroschockern und der Minderung von EMF- und EMP-Rauschen.
2 Fragen:
1) Wie kann ich unerwünschtes EMF/EMP-Rauschen von diesem großen Funkenstrecken-/Elektroschocker-Zünder entfernen/reduzieren? +10 bis -5 V klingt für mich WIRKLICH schlecht für den Mikrocontroller, es sei denn, es handelt sich um ein Artefakt der Messung mit meinem Oszilloskop und ist nicht wirklich so auf dem Chip vorhanden, wenn der Zener vorhanden ist.
2) Wird die Konfiguration des Watchdog-Timers mein Problem beheben und das automatische Zurücksetzen während des Absturzes konsequent erzwingen, oder ist es möglich, dass der Watchdog auch abstürzt? Ich werde es trotzdem versuchen, aber zusätzliche Informationen über meine Wissensdatenbank hinaus sind hilfreich.
Sie müssen die Elektronik mit einer Metallabschirmung versehen und abgeschirmte Kabel verwenden, die nur an einem Erdungspunkt geerdet sind. Fügen Sie außerdem 1uf- und .o1uf-Entkopplungskappen zu Arduino Vcc hinzu.
uint128_t
Wesley Lee
WasRoughBeast
Joel Wigton
Gabriel Staples
Joel Wigton