Blitze mit einem Arduino UNO detektieren?
Leichte Anbindung an einen PC / Raspberry PI?
Dieser Artikel ist nicht mehr aktuell!
HIER geht es zur Revision 2 des Blitz-O-shields đ
Schon vor einiger Zeit habe ich euch den Potzblitz Gewitterdetektor vorgestellt.
Nach zig Nachfragen habe ich beschlossen, den PotzBlitz Gewitterdetektor auf die Arduino Uno (oder kompatibel ) Plattform zu portieren.
Wie immer Schritt fĂŒr Schritt erklĂ€rt .
Ăberlegungen zu diesem Vorhaben:
- Physik: Wie kann ich einen Blitz / ein Gewitter detektieren?
- Hardware: Welche Voraussetzungen sollen erfĂŒllt werden?
- Designen des Shields
- Zusammenbau des Shields
Physik: Wie kann ich einen Blitz / ein Gewitter detektieren?
ZunÀchst sollte man sich im klaren sein was ein Blitz ist, wie er entsteht und welche verschiedenen Arten es gibt.
Hierzu möchte ich nicht nur auf Wikipedia verweisen sondern auch auf Seiten, welche mir verschiedene Möglichkeiten aufzeigten, wie man das Problem mit der Detektierung angehen kann:
http://www.elektronik-labor.de/Projekte/Blitzwarner10.html
Wie sollte der Blitzdetektor arbeiten?
EntlÀdt sich ein Blitz, sendet dieser breitbandige Radiowellen aus, welche sich hauptsÀchlich im AM Band befinden.
AM lÀsst sich leicht verarbeiten. Im Grunde reicht eine Diode aus, um ein Audion zu bauen.
Ich bin immer ein Freund von bereits vorhandenen Schaltkreisen, da Diese auch nicht einfach mal so an einem Tag erfunden wurden und Ihre Berechtigung haben.
In diesem Projekt werden wir den AM EmpfÀnger IC TA7642 benutzen, um die NÀhe eines Gewitter zu ermitteln.
Dies erfolgt auf folgende Weise:
Die Funkwellen der Blitze werden vom TA7642 empfangen, vorverstÀrkt, demoduliert und verstÀrkt.
Danach wird der Ausgang auf den Analogeingang A0 des Arduino gefĂŒhrt.
Dies ergibt pro Blitzentladung einen „Spannungeinbruch“ der Spannung am A0 Arduino Eingang, welche sich auswerten lĂ€sst.
Umso mehr „SpannungeinbrĂŒche“ am Analogeingang, umso mehr Entladungen, umso nĂ€her das Gewitter.
Die Amplitude des Signals ist in diesem Projekt egal!
Beim Blitzwarner des Elektroniklabors wurde der normale Logiklevel des Portpins gewÀhlt, um einen Interrupt auszulösen.
Bei meinem Blitzdetektor wird der ADC des Arduino verwendet.
Dadurch kann die PWM Dynamisierung fĂŒr den AGC besser angepasst werden!
Die VerstÀrkung des TA7642 wird mittels geglÀtteter Spannung eines PWM Signals geregelt. Ja, richtig gelesen! Sie wird nicht gesteuert, sondern geregelt. Mehr dazu spÀter.
Hardware: Welche Voraussetzungen sollen erfĂŒllt werden?
Bei diesem Projekt soll ein standardmÀssiges Arduino Uno kompatibles Board benutzt werden, das mittels Shield erweitert wird.
Dieses Blitz-O-Shield besitzt die ganze Hardware, um die Blitze bzw. Gewitter zu detektieren.
Die Arduino IDE ist Freeware und das Sketch kann auch frei heruntergeladen werden.
Designen des Shields
Am Anfang wird wieder ein Schaltplan gezeichnet und eine Platine designt.
Dann heisst es warten bis die Platinen aus einem regionalen Betrieb eintreffen. Sind die Platinen eingetroffen, kann mit der BestĂŒckung begonnen werden.
Zusammenbau des Shields
Zuerst sollten alle Bauteile positioniert werden, um den Zusammenbau zuerleichtern. Bei dem im Shop erhĂ€ltlichen Bausatz ist eine BestĂŒckungsanleitung mit von der Partie, um den Zusammenbau zu erleichtern.
Zuerst bestĂŒcke ich den 100k Widerstand R1.
Danach folgen die ganzen 1k WiderstÀnde R2 R5 und R6.
Gefolgt von den ganzen 160R LED VorwiderstÀnden R3 R7 R8 R9 und R10 sowie die 1N4148 Diode D1.
Danach können die LEDs und die Drossel L2 bestĂŒckt werden.
(Zur Vereinfachung der Auschnitt der Board File. Hier ist die abgeflachte Stelle an der LED zu sehen )
Nach den LEDs kann der 270pF Kondensator, der TA7642, sowie die Elektrolytkondensatoren fĂŒr die geglĂ€ttete PWM Spannung bestĂŒckt werden.
Jetzt folgt nur noch die zweite Drossel und die 100nF Kondensatoren.
Auch der Optokoppler fĂŒr die Fernauslösung kann gleich mitbestĂŒckt werden.
Zum Schluss noch die Pinheader und alles ist gut đ
Euer Blitzoshield kann nun auf dem Arduino Uno montiert und softwaremÀssig in Betrieb genommen werden.
Die Software:
Sie kann natĂŒrlich wieder vollkommen frei downgeloaded werden und kann in der Arduino IDE geöffnet werden.
Die Funktionsweise der Software
Bei Start wird die Spannung des TA7642 so lange erhöht, bis eine gewisse Grundspannung am TA7642 anliegt.
Dies dient dazu, die Exemplarstreuung auszugleichen.
Anschliessend wird zyklisch ein laufender Mittelwert gebildet, um StöreinflĂŒssen entgegenzuwirken.
Trifft ein Blitzevent auf (Spannung bricht am A0 ein), so wird einer Countervariable erhöht.
Nach einer gewissen Zeit wird der Wert natĂŒrlich wieder dekrementriert.
AbhÀngig vom Wert, werden die LEDs angesteuert.
Ihr seht, wie simple die Welt sein kann.
Viel Spass beim Löten und Blitz detektieren đ
PS: Aufbau/Test von unabhÀngigen Personen:
https://draeger-it.blog/blitz-o-shield-von-ramser-elektronik/
https://www.aeq-web.com/ramser-blitz-o-shield-arduino-blitzdetektor/
Dieser Artikel ist nicht mehr aktuell!
HIER geht es zur Revision 2 des Blitz-O-shields đ
Nettes Projekt…. werde ich auch mal versuchen.
Hier im Pflegeheim habe ich Zeit dafĂŒr.
Es ist schön wenn die Software frei downgeloaded werden kann. Nur, wo?
Hallo Heiko,
Klicke auf unserer navigationsleiste auf „Support“ und danach auf „Downloads“.
In der Ruprik „BausĂ€tze“ ist das Sketch fĂŒr den Blitzoshield gelistet.
Hallo, schönes Projekt. Ich werde mich mal am Blitz-Schield versuchen. Gibt es fĂŒr die Kombi mit Arduino auch einen GehĂ€usevorschlag, sowie fĂŒr den PotzBlitz?
Hallo,
Hammond Typ â001113â ist fĂŒr den Potzblitz sehr gut geeignet.
Bilder, siehe Potzblitz ĂŒber „software“.
FĂŒr den Blitz-O-shield ist mir leider kein komplett geschlossenes GehĂ€use bekannt.
Falls Jemand aber eines in die finger bekommt, bitte gleich hier posten đ
Hallo sehr schönes Projekt,
ich habe alles wie beschrieben zusammen gebaut und hatte das GlĂŒck, dass auch gleich ein Gewitter ĂŒber uns war. Leider muss ich sagen hat das Teil komplett versagt.
Da hat auĂer beim selbsttest nicht geleuchtet.
Schade
Sehr geehrte/er JoRa,
Der Blitzoshield ist eher als empfindlich bekannt, als unempfindlich.
Was wurde im Terminal als Debugtext ausgegeben?
(PWM,ActValue,AverangeValue,Difference,Warnlevel,Decay,Strikecount?)
Reagiert der Blitzdetektor Shield, wenn Sie mit dem Finger die Drossel L1 am Kern berĂŒhren?
Reagiert der Blitzdetektor Shield auf ein Piezo Feuerzeug?
Wie sieht das Signal am Analogeingang A0 aus?
Hallo fritz,
danke fĂŒr die Antwort
am Terminal wird folgendes ausgegeben:
19:36:02.919 -> PWM:14 Actual:932 Averange:932.83 Difference:0 Warnlevel:1079 Decay:4 Strikecount:0
19:36:03.937 -> PWM:14 Actual:934 Averange:933.01 Difference:0 Warnlevel:1075 Decay:4 Strikecount:0
19:36:04.955 -> PWM:14 Actual:933 Averange:932.89 Difference:0 Warnlevel:1071 Decay:4 Strikecount:0
19:36:06.010 -> PWM:14 Actual:933 Averange:932.94 Difference:0 Warnlevel:1067 Decay:4 Strikecount:0
19:36:07.009 -> PWM:14 Actual:933 Averange:933.00 Difference:0 Warnlevel:1063 Decay:4 Strikecount:0
19:36:08.037 -> PWM:14 Actual:933 Averange:933.12 Difference:0 Warnlevel:1059 Decay:4 Strikecount:0
19:36:09.061 -> PWM:14 Actual:933 Averange:932.95 Difference:0 Warnlevel:1055 Decay:4 Strikecount:0
19:36:10.108 -> PWM:14 Actual:932 Averange:932.62 Difference:0 Warnlevel:1051 Decay:4 Strikecount:0
Wenn ich an die Drossel fasse wird strike ausgelöst.
Wenn ich das Piezo zĂŒnde wird auch strike ausgelöst.
Ich weiĂ nicht an was es liegt.
Hallo JoRa,
Bei mir sieht es so aus:
PWM duty cycle tuning started
PWM duty cycle tune successfull
PWM:18 Actual:944 Averange:1018.06 Difference:7 Warnlevel:255 Decay:0 Strikecount:32
PWM:18 Actual:951 Averange:949.91 Difference:-1 Warnlevel:509 Decay:1 Strikecount:255
PWM:18 Actual:951 Averange:950.81 Difference:0 Warnlevel:508 Decay:1 Strikecount:0
Wird ein „Blitz“ detektiert, ist die Ausgabe wie folgt:
PWM:18 Actual:951 Averange:950.19 Difference:0 Warnlevel:1495 Decay:5 Strikecount:0
PWM:18 Actual:951 Averange:950.22 Difference:0 Warnlevel:1490 Decay:5 Strikecount:0
PWM:18 Actual:949 Averange:939.57 Difference:-9 Warnlevel:1739 Decay:6 Strikecount:255
PWM:18 Actual:939 Averange:936.79 Difference:-2 Warnlevel:1987 Decay:7 Strikecount:255
PWM:18 Actual:945 Averange:943.30 Difference:-1 Warnlevel:2234 Decay:8 Strikecount:255
PWM:18 Actual:950 Averange:950.02 Difference:0 Warnlevel:2226 Decay:8 Strikecount:0
PWM:18 Actual:945 Averange:945.69 Difference:0 Warnlevel:2218 Decay:8 Strikecount:0
Man kann nun an zwei Schrauben drehen:
1.Man erhöht die Empfindlichkeit der Schaltung.
Dazu wird in der TunePWM() folgende Zeile modifiziert:
PWM_DutyCycle = (PWM_DutyCycle /3 ) * 2;
Original wird der PWM Wert auf 2/3 des Maximums gesetzt.
Man kann den PWM Wert ja mal auf 5/6 setzen.
2.Man veringert die Tolleranz gegenĂŒber Störungen.
Dazu gehört in der loop() folgende Zeile modifiziert:
if (Difference >= 15){
WĂŒrde da mal 12 testen.
Danke fĂŒr die Hilfe nach einer feinjustierung wie beschrieben funktioniert es Prima.
Jetzt habe ich allerdings noch ein Problem.
Da ich die Daten auf nen Server laden will benötige Wlan.
Weshalb ich den D1 oder ein Esp8266 einsetzen möchte.
Gibt es den sketch auch fĂŒr den Ardunino D1?
Ist ja im Prinzip kompatibel, jedoch funktioniert der Sketch vom UNO dort nicht.
analogReferenz Fehler!
Die funktion habe ich bei beiden nicht hinbekommen.
Bitte um kurze Antwort.
Recht herzlichen Dank und mit freundlichen GrĂŒĂen
JoRa
Waere es nicht einfacher (auch sicherer) den Blitz ueber seinen sicher vorhandenen UV Lichtanteil zu detektieren?
Diese UV Dioden liefern eine Spannung als Teil eines Spannungsteilers.
Abtastraten von etwa 4-5 mal /pro Sekunde sollte kein Problem darstellen, weder fuer den ADC1115 noch fuer den uCtrl
Das in ein Array rollierend speichern fuer etwa 5 Sekunden und ueber die rate of change durch vergleich der aktuellen mit den Vorgroessen auf einen deutlichen Peak pruefen.
Ich bin gerade daran fuer meine Wetterstation
Lieben GruĂ aus Thailand,
Michael
Hallo Michael,
Ăber UV Licht ist unserer Meinung nach suboptimal.
Elektromagnetische Wellen durchdringen WĂ€nde.
UV Licht leider nicht.
Ăber Radiowellen ist eine Detektion ĂŒber 50km kein Problem.
Ăber UV Licht, wird der analoge Schaltungsteil sehr anspruchsvoll.
Physikalische Grenzen auszuloten ist aber unser KerngeschĂ€ft đ
Hallo Fritz,
Mein UV Sensor ist draussen an meiner Wetterstation wasserdicht montiert.
Erste Versuche mit einem ADC1115 (4 AI) ueber I2C an meinem ESP8266 angeschlossen zeigen gute Resultate.
Da ist nur ein weiterer Widerstand noetig um einen Spannungsteiler zu bilden. Diese UV Photodiode aendert intern seinen Spannungsabfall in Abhaengigkeit der einfallenden UV Lichtstaerke. Das ist kein lahmer LDR.
Ich habe zur Zeit taeglich Gewitter hier und optimiere nur noch die Peakerkennung per Software.
Mich interessiert obendrein auch nur Gewitter in meiner Umgebung.
Aber es fuehren bekanntlich viele Wege nach Rom
LG, Michael
Hej Fritz
Eine Frage ….
Kann man die Ausgabe auf irgendeine Weise auch in Daten fassen, die ich in einer Datenbank speichern kann und dann auf meiner Wetterseite darstelle?
Vielleicht zusÀtzlich zu den Leuchtdioden. Das Ganze befindet sich nÀmlich nach Montage ausserahlb des Hauses in einer Box.
Herzlichen Gruss aus Schweden
Jörg
Hallo Jörg,
Da gibt es einige Möglichkeiten.
Am einfachsten die UART Ausgabe nutzen und den Arduino an einen Raspberry PI anbinden.
Dann hast du genĂŒgend Rechen Power fĂŒr eine Datenbankanbindung und bist zugleich vernetzt.
Danke ! Das ging ja fix.
Nun warte ich erstmal bis der Bausatz da ist đ
Gruss aus Schweden
Jörg
Richtig guter Bausatz und Sketch.
Ich habe noch ein 128×32 OLED ĂŒber I2C angeschlossen und den Sketch entsprechend erweitert. Die lange Zeile fĂŒr den seriellen Monitor wird jetzt 4-zeilig auf dem OLED ausgegeben. Mit aufgesetztem Shield blieb das OLED allerdings zunĂ€chst dunkel. Egal ob an A5/A4 oder SDA/SCL angeschlossen, obwohl die Pins am Shield laut Schaltplan nicht benutzt werden. Seltsam. Hab mir dann so beholfen, dass ich das Shield ĂŒber SDA/SCL am Rand ausgesĂ€gt habe und das OLED direkt in die Pins des darunterliegenden Arduinos stecke. Und siehe da, es funktioniert. Nur manchmal wird beim Schreiben aufs OLED ein Störimpuls (Blitz) erzeugt. HĂ€ngt irgendwie davon ab, wie das Kabel liegt. Vielleicht hat jemand eine Idee, wie man das noch robuster bekommt. (5V und GND sind ohne Probleme direkt am Shield angeschlossen)
Ansonsten einwandfreier Betrieb auch am alten Labornetzteil. USB-Steckernetzteile allerdings gehen wegen Störungen gar nicht.
Sehr geehrter Herr Golla,
Einfach die I2C Frequenz absenken, bis die Störung nicht mehr auftritt.
Hallo Herr Ramser,
danke fĂŒr den Tip. Absenken der I2C Frequenz bis runter auf ca. 1kHz hat jedoch nichts gebracht. Die Lösung war dann ein zusĂ€tzliches ‚delay(50)‘ nach dem Schreiben der 4. und letzten Zeile aufs OLED mit ‚display.display()‘. Der Störimpuls ist jetzt weg. Ein ‚delay(10)‘ war ĂŒbrigens zu klein.
Sehr geehrter Herr Golla,
Leider können wir einen Befehl, in einem unbekannten Programm, auf einer unbekannten Hardware, ohne Schaltplan nicht nachvollziehen und damit verbunden auch leider keinen Support anbieten.
ich kann leider nicht erkennen wo Anode und Katode fĂŒr die LED auf der Leiterplatte ist –
Genauso, wie oben im Bild beschrieben đ
https://www.ramser-elektro.at/wp-content/uploads/2019/06/Arduino-Blitzdetektor-Shield-LED-Ausrichtung-Ramser-Elektrotechnik-Webshop.jpg
Hallo
bausatz zusammengebaut und funktioniertprima. werd den mal ein paar tage laufen lassen. bis dahin alles prima. Ich möchte damt eine kamera ansteuern und Blitzfotografie machen. Kann mir bitte jemand helfen ? Wie muss ich den optokoppler betreiben ? Welcher pin ist was ? Ich habe einen potentialfreien kontakt an der kamera und einen kabelgebundenen fernauslöser.
Danke fĂŒr jede Hilfe!!
Hallo Lutz,
Die Ansteuerung ist hier recht gut erklÀrt:
https://technik.elbebilder.de/2012/12/03/kamera-mit-arduino-fernsteuern/
hallo Fritz
danke fĂŒr den Link. Aber der OK auf dem Bausatz ist ein Transistor.. brauch ich eine Beschaltung fĂŒr den Pin 6 ?
Hallo Lutz,
Leider verstehe ich deine Frage nicht.
Welchen PIN6 meinst du? Den des 4N35?
Da liefert mir Google gleich mehrere Treffer:
https://www.instructables.com/Optical-Camera-Trigger-Isolator/
http://www.vela.io/posts/building-a-laser-camera-trigger-for-2-dollars
ok danke. das war die spur.. passt…
Gibt es die möglichkeit den Sketch auf einem D1 WEMOS mini laufen zu lassen?
Beim Kompilieren bricht der Kompiler bei „analogReference(INTERNAL);“ ab. DER D! hat anscheined keine Interne Spannung.
Kommentiert man diese Zeile aus, dann erscheint untenstehnde meldung. Ohne Abbruch?!
. Variables and constants in RAM (global, static), used 28440 / 80192 bytes (35%)
â SEGMENT BYTES DESCRIPTION
â ââ DATA 1536 initialized variables
â ââ RODATA 1120 constants
âââ BSS 25784 zeroed variables
. Instruction RAM (IRAM_ATTR, ICACHE_RAM_ATTR), used 61247 / 65536 bytes (93%)
â SEGMENT BYTES DESCRIPTION
â ââ ICACHE 32768 reserved space for flash instruction cache
âââ IRAM 28479 code in IRAM
. Code in flash (default, ICACHE_FLASH_ATTR), used 240260 / 1048576 bytes (22%)
â SEGMENT BYTES DESCRIPTION
âââ IROM 240260 code in flash
Gibt es hier eine Lösung? oder muss es ein Arduino UNO sein?
Die Wemos D1 mini nutzen einen ESP8266, welcher nur einen (ungenauen) ADC hat.
Dieser hat 10 Bit und hat einen maximalen Eingangsspannungsbereich von 1V.
https://arduino-esp8266.readthedocs.io/en/latest/reference.html
Es muss daher auf den richtigen Spannungsteiler vor dem ADC geachtet werden (Achtung bei China Clones!) damit der ADC keine zu hohe Spannung erhÀlt.
Hallo dazu nocheinmal:
Der Sketch lies sich dennoch hochladen und ist angelaufen.
GrĂŒne LED kam, gelbe LED kam, dann Abbruch mit blinken.
Habe darauf den Sketch modifiziert mit Debug Meldungen:
Kondensator wird entladen.
Kondensator wird auf 1/3 geladen.
Der Analogwert (digits) starten dann bei ca 285. ZĂ€hlen hoch bis ca. 450 und schwanken dann um 380 bis 410 solange bis der Timeout kommt (Blinken von allen LEDS).
Anscheinend wird der Kondensator nicht vollstÀndig geladen. Woran kann das liegen?
Danke fĂŒr eine kurze Idee.
GruĂ
Christoph
Es sollte die Versorgungsspannung des TA7642 gemessen werden.
Es sieht so aus, dass diese zu klein ist und daher der AGC Schwellwert nicht erreicht wird.
Hallo Fritz,
Danke fĂŒr den Hinweis.
Ich habe in der Software den Analog Read mit dem Faktor 100/33 multipliziert, dann funktioniert das PWM Tunig. Die Spannung beim Analogin liegt dann nach erfolgreichem PWM Tunig bei ca. 0,9 V. Dann funktioniert auch die Anzeige des Warnlevel. (ersteinmal. Ich habe zur Zeit kein Gewitter hier). Der Test mit dem Piezofeuerzeug funktioniert einwandfrei! Das angeschlossene OLED Display SD1306 lĂ€uft auch noch obwohl anscheinend auch der Speicher des D1 WEMOS an der Grenze arbeitet. Zur Zeit ist hier Gewitterzeit und ich lasse es jetzt ersteinmal auf dem Steckbrett durchlaufen befor ich ein 3D Druck GehĂ€use konstruiere. Das stelle ich dann gerne hier ein. Ziel ist hier das es die Blitz Daten ĂŒber WIFI an meine Hausautomation ĂŒbertrĂ€gt und dann an meiner Wetterstation zusĂ€tzlich anzeigt. (Node Red machts möglich.).
Bisher kann ich nur sagen: Ein Klasse Bausatz und eine sehr fitte Software.
.
Hallo Fritz,
vielen Dank fĂŒr dieses tolle Projekt.
Ich habe das zusammengelötete Shield auf meinen Arduino Mega2560 gesteckt. Ich musste in Zeile 48 „INTERNAL“ durch „INTERNAL1V1“ ersetzen (Mega spezifisch). Dann lieĂ sich alles kompilieren und hochladen.
Leider ist der „StrikeCount“ permanent auf 255 obwohl kein Gewitter herrscht, sodass der maximale Warnlevel bereits nach 30 Sek. erreicht wird:
PWM duty cycle tuning started
20:18:36.668 -> PWM duty cycle tune successfull
20:18:36.705 -> PWM:48 Actual:1023 Averange:1023.00 Difference:0 Warnlevel:255 Decay:0 Strikecount:0
20:18:37.731 -> PWM:48 Actual:999 Averange:994.44 Difference:-4 Warnlevel:509 Decay:1 Strikecount:255
20:18:38.756 -> PWM:48 Actual:1002 Averange:999.12 Difference:-2 Warnlevel:762 Decay:2 Strikecount:255
20:18:39.784 -> PWM:48 Actual:1011 Averange:989.22 Difference:-21 Warnlevel:1014 Decay:3 Strikecount:255
20:18:40.810 -> PWM:48 Actual:1016 Averange:998.34 Difference:-17 Warnlevel:1265 Decay:4 Strikecount:255
20:18:41.848 -> PWM:48 Actual:927 Averange:980.49 Difference:53 Warnlevel:1515 Decay:5 Strikecount:255
20:18:42.883 -> PWM:48 Actual:999 Averange:1006.53 Difference:7 Warnlevel:1764 Decay:6 Strikecount:255
20:18:43.914 -> PWM:48 Actual:993 Averange:970.94 Difference:-22 Warnlevel:2012 Decay:7 Strikecount:255
20:18:44.946 -> PWM:48 Actual:988 Averange:1006.39 Difference:18 Warnlevel:2259 Decay:8 Strikecount:255
20:18:45.963 -> PWM:48 Actual:930 Averange:967.28 Difference:37 Warnlevel:2505 Decay:9 Strikecount:255
20:18:47.014 -> PWM:48 Actual:993 Averange:975.76 Difference:-17 Warnlevel:2750 Decay:10 Strikecount:255
20:18:48.039 -> PWM:48 Actual:986 Averange:972.91 Difference:-13 Warnlevel:2994 Decay:11 Strikecount:255
20:18:49.080 -> PWM:48 Actual:930 Averange:956.77 Difference:26 Warnlevel:3237 Decay:12 Strikecount:255
20:18:50.109 -> PWM:48 Actual:933 Averange:971.34 Difference:38 Warnlevel:3479 Decay:13 Strikecount:255
20:18:51.109 -> PWM:48 Actual:932 Averange:959.78 Difference:27 Warnlevel:3720 Decay:14 Strikecount:255
20:18:52.172 -> PWM:48 Actual:937 Averange:947.82 Difference:10 Warnlevel:3960 Decay:15 Strikecount:255
20:18:53.180 -> PWM:48 Actual:993 Averange:996.39 Difference:3 Warnlevel:4199 Decay:16 Strikecount:255
20:18:54.203 -> PWM:48 Actual:927 Averange:956.12 Difference:29 Warnlevel:4437 Decay:17 Strikecount:255
20:18:55.269 -> PWM:48 Actual:931 Averange:950.04 Difference:19 Warnlevel:4674 Decay:18 Strikecount:255
20:18:56.265 -> PWM:48 Actual:1015 Averange:995.17 Difference:-19 Warnlevel:4910 Decay:19 Strikecount:255
20:18:57.329 -> PWM:48 Actual:930 Averange:952.12 Difference:22 Warnlevel:5145 Decay:20 Strikecount:255
20:18:58.343 -> PWM:48 Actual:1004 Averange:1003.75 Difference:0 Warnlevel:5379 Decay:21 Strikecount:255
20:18:59.385 -> PWM:48 Actual:1012 Averange:991.55 Difference:-20 Warnlevel:5612 Decay:22 Strikecount:255
20:19:00.407 -> PWM:48 Actual:1011 Averange:997.46 Difference:-13 Warnlevel:5845 Decay:22 Strikecount:255
20:19:01.462 -> PWM:48 Actual:1003 Averange:992.30 Difference:-10 Warnlevel:6077 Decay:23 Strikecount:255
20:19:02.469 -> PWM:48 Actual:989 Averange:1004.06 Difference:15 Warnlevel:6308 Decay:24 Strikecount:255
20:19:03.508 -> PWM:48 Actual:927 Averange:948.42 Difference:21 Warnlevel:6538 Decay:25 Strikecount:255
20:19:04.539 -> PWM:48 Actual:1010 Averange:1005.88 Difference:-4 Warnlevel:6767 Decay:26 Strikecount:255
20:19:05.576 -> PWM:48 Actual:1019 Averange:1001.58 Difference:-17 Warnlevel:6995 Decay:27 Strikecount:255
20:19:06.617 -> PWM:48 Actual:994 Averange:998.72 Difference:4 Warnlevel:7000 Decay:28 Strikecount:255
Woran kann das liegen (die LED „Strike“ flackert in sehr hoher Frequenz)?
Ich kann mir nicht vorstellen, dass es hier starke Störfelder gibt …
Hallo Markus,
Hier ist der PWM zu hoch!
Nachtrag:
Ich habe die Empfindlichkeit in der Zeile „PWM_DutyCycle = (PWM_DutyCycle /3 ) * 2“ auf 2/11 verringert (PWM=12). Damit „funkt“ die Strike-LED nicht mehr von alleine. Der Test mit dem Piezofeuerzeug funktioniert auch.
Wenn ich allerdings mit dem Finger in die NĂ€he von L1 komme (5mm), feuert „Strike“ wie verrĂŒckt.
Hallo Markus,
Wie schon in der vorigen Antwort geschrieben, hast du das verÀndert, was der Auslöser des Fehlverhaltens war:
Die PWM ist(war) zu hoch!
Man darf nicht vergessen, dass der Arduino Mega auch eine Störabstrahlung hat, welcher eingekoppelt werden kann.
Gerade eine Kommunikation mit I2c (400kHz) kann hier ein Problem darstellen.
Das man die Spule nicht anfassen sollte, hast du ja selbst rausgefunden đ
Das ist normal.
Es werden ĂŒber den menschlichen Körper Störfelder eingekoppelt.
PS:
Vielleicht hilft es auch, wenn man die PWM dynamisch verminderst. (if (StrikeCount >= 255){)
Wenn z.Bsp. in der Auswertung des Strikes, bei einem Strikecount grösser 255 die PWM reduziert wird.
Hallo Fritz,
danke fĂŒr Deine rasche RĂŒckmeldung. Ich weiss jetzt auch warum die PWM so hoch ist: Die â while (ActValue PWM duty cycle tuning started
07:14:34.910 -> PWM:1 Actual:468
07:14:35.149 -> PWM:2 Actual:503
[âŠ
âŠ
âŠ]
07:14:42.155 -> PWM:30 Actual:981
07:14:42.403 -> PWM:31 Actual:992
07:14:42.653 -> PWM:32 Actual:999
07:14:42.935 -> PWM:33 Actual:1003
07:14:43.180 -> PWM:34 Actual:1012
07:14:43.428 -> PWM:35 Actual:1020
07:14:43.678 -> PWM:36 Actual:1023
07:14:43.920 -> PWM:37 Actual:1023
07:14:44.169 -> PWM:38 Actual:1023
07:14:44.419 -> PWM:39 Actual:1023
07:14:44.674 -> PWM:40 Actual:1023
07:14:44.920 -> PWM:41 Actual:1023
07:14:45.173 -> PWM:42 Actual:1023
07:14:45.425 -> PWM:43 Actual:1023
07:14:45.665 -> PWM:44 Actual:1023
07:14:45.914 -> PWM:45 Actual:1023
07:14:46.162 -> PWM:46 Actual:1023
07:14:46.412 -> PWM:47 Actual:1023
07:14:46.673 -> PWM:48 Actual:1023
07:14:46.924 -> PWM:49 Actual:1023
07:14:47.173 -> PWM:50 Actual:1023
07:14:47.429 -> PWM:51 Actual:1023
07:14:47.685 -> PWM:52 Actual:1023
07:14:47.937 -> PWM:53 Actual:1023
07:14:48.190 -> PWM:54 Actual:1023
07:14:48.436 -> PWM:55 Actual:1023
07:14:48.684 -> PWM:56 Actual:1023
07:14:48.938 -> PWM:57 Actual:1023
07:14:49.194 -> PWM:58 Actual:1023
07:14:49.444 -> PWM:59 Actual:1023
07:14:49.694 -> PWM:60 Actual:1023
07:14:49.939 -> PWM:61 Actual:1023
07:14:50.953 -> PWM duty cycle tune successfull
Nachtrag: Hab den Fehler gefunden: „ActValue“ muss als „FLOAT“ deklariert werden, dann klappts!
Hallo Fritz,
Ich habe eine generelle Frage ĂŒber Gewitter Detektor.
Kann ich mit diesem Gewitter Detektor auch Kurzschlussfunken detektieren.
Zum Beispiel, Hochspannungsmast 35.000V Spannung (AC, 50Hz) 2000A Strom. Eine Phase schlÀgt gegen Hochspannungsmastkonstruktion. Es entsteht ein Funken. Kurzschluss dauert z.B. 0.1 bis 1 Sekunde dann trennt sich diese Phase wieder vom Mast. Entfernung zum Detektor zum Funken ca. 3-20 Meter.
Bei wie viel kHz sendet so eine Kurzschlussfunke hast Du darĂŒber Erfahrung. ?
Es geht hier darum, ob man vom Kurzschlussfunken ein Signal empfĂ€ngt oder nicht also es geht um ja oder nein, es können manchmal auch Falschsignale sein, das ist nicht schlimm . Kannst Du darĂŒber was sagen ?
Leider können wir keine Aussage ĂŒber Funken, welche bei KurzschlĂŒssen an Hochspannungsmasten entstehen, machen.
Hallo fritz,
ich habe eure Schaltung nachgebaut und sie funktioniert auf Anhieb!!
Gebe es auch die Möglichkeit an einem freien Port einen passiven
Piezosummer anzuschliessen, und mit diesem den
„Strike“ hören zu lassen? Was mĂŒsste im Code dazu hinzugefĂŒgt/verĂ€ndert werden?
Vielen Dank im vorraus fĂŒr die Hilfe!
GruĂ O.
Ein Piezo mĂŒsste mit einigen kHz angesteuert werden.
WĂŒrde da eher einen Summer verwenden und danach mit einem normalen Vergleicher des Wertes „StrikeCount“ auf 0 lösen.