Standalone Gitterwarner ohne Handyempfang und Internet benötigt?
Dieser Beitrag wird nicht mehr gepflegt, seit es den Potzblitz R3 gibt 😉
Hier kommt Ihr zum neuen Potzblitz R3.
Blitz und Donner haben mich schon immer fasziniert.
Nächtelang könnte ich zusehen, wenn sich die statischen Ladungen der Wolken Ihren Weg zur gegenüberliegenden Kondensatorfläche (Erde) suchen.
Aber immer sind diese nicht erwünscht.
Zum Beispiel, wenn man gemütlich im Freibad sitzt und sich nicht sicher ist ob ein Gewitter auf der Anreise ist, oder nicht???
Klar doch. Am Handy gibt es diverse freie Seiten und auch bezahlte Dienste.
Und da ist schon der Haken -> Handy -> Internet !!!
Also muss etwas her, das vernünftig funktioniert und auch lange hält (Energiemäßig).
Wie immer versuche ich das Projekt so sauber wie möglich zu dokummentieren und fange wieder mit den Basics an, das dem Umfang und die Funktion des Gerätes wiederspiegelt.
Überlegungen zu diesem Vorhaben:
Physik: Wie kann ich einen Blitz / ein Gewitter detektieren?
Physik: Mit welchen Problemen / Einschränkungen ist zu rechnen?
Hardware: Welche Voraussetzungen sollen erfüllt werden?
Hardware: Welchen Mikrocontroller benutzen?
Software: Welche Sprache, Librarys vorhanden?
Software: Weitere Optimierungen / Änderungen
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 bandbreitige 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 mit einem BC550C NPN Transistor danach nochmals verstärkt.
Dies ergibt pro Blitzentladung eine Flanke, welche sich über einen µC auswerten lässt.
Umso mehr Flanken, umso mehr Entladungen, umso näher das Gewitter.
Die Amplitude des Signals ist mir in diesem Projekt egal!
Als Schaltung für den BC550C NPN Endverstärker wähle ich die Emitterschaltung mit Spannungsgegenkopplung, da diese eine hohe Verstärkung und mittleren Eingangwiderstand aufweist.
Die Spannungsgegenkopplung dient dabei den Temperatureinfluss und die Exemplarstreuung zu reduzieren.
Der Rückkoppelwiderstand sollte dabei etwa beta * Kollektorwiderstand betragen.
Die Verstärkung des TA7642 wird dabei mittels geglätteter Spannung eines PWM Signals geregelt.
Ja, richtig gelesen! Sie wird nicht gesteuert, sondern geregelt. Mehr dazu später.
Beim Blitzwarner des Elektroniklabors wurde der normale Logiklevel des Portpins gewählt, um einen Interrupt auszulösen.
Bei meinem Blitzdetektor wird der im PIC integrierte, einstellbare Comparator verwendet!
Dadurch kann die PWM Dynamisierung für den AGC besser angepasst werden!
Physik: Mit welchen Problemen / Einschränkungen ist zu rechnen?
Generell können einige Sachen / Quellen den Empfang stören / zunichte machen:
Problem: Menschenverursachte Signale, wie die schönen Schaltnetzteile in den LEDs vom Chinamann.
Lösung: Softwareseitig.
Problem: Starke Funksignale im AM Band (werden weniger).
Lösung: Es wird ein selteneres Band benutzt (500khz)
Problem: Das PWM Signal könnte auf das Signal aufmoduliert bzw. eingekoppelt werden.
Lösung: Ein doppeltes Siebglied und eine PWM Frequenz von 1964 Hz.
Problem: Woher soll die Energie bezogen werden. Batterien werden gerne mal leer.
Lösung: Der Mikrocontroller wird bei Inaktivität in den Schlafmodus gelegt und per Interrupt wieder aufgeweckt. In Verbindung mit Low Current LEDs wird so wenig Energie verbraucht wie nötig.
Hardware: Welche Voraussetzungen sollen erfüllt werden?
Aus den vorherigen Gedanken haben sich schon einige Voraussetzugnen ergeben:
- Mobil
- Kein teuerer Spezial IC, welcher kaum noch lötbar ist!
- Klein und handlich
- Energiesparend
- Platinenentwurf mit Eagle
- Geringer Bauteilaufwand
- Für leichten Nachbau sollen nur bedrahtete Bauteile Einsatz finden.
- Software leicht verständlich und open source
- WAF
- Es soll ein Bausatz werden
- Leichte Ankopplung an PC / Raspberry PI / Arduino möglich
- Versorgung über Ankopplung an PC / Raspberry PI / Arduino möglich
Hardware: Welchen Mikrocontroller benutzen?
Der Mikrocontroller sollte einige einfache Voraussetzungen erfüllen:
Kleiner Footprint
Händisch lötbar
Mindestens einen PWM Ausgang
Mindestens einen Comparator Eingang
Versorgungsspannung zwischen 2,5V bis 3,6V DC.
Dadurch, dass ich sehr viel mit den PIC Controllern der Firma Microchip arbeite, fiel meine Wahl auf den PIC12LF1572.
Der grösste Auswahlpunkt war, dass bereits die ganze Toolchain vorhanden ist und nicht neu erworben werden muss.
Ausserdem: Die Schaltschwelle des Comparators kann beim PIC12LF1572 eingestellt werden. Dies ermöglicht eine sehr feingranulare Anpassung an Batteriespannung und PWM Pegels für die Versorgung des TA7642.
Software: Welche Sprache, Librarys vorhanden?
Hier fiel meine Wahl auf Mikrobasic Pro von der Firma Mikroe.
Bis 2kB ist die Demoversion frei und dadurch für dieses Projekt mehr als ausreichend.
Basic ist auch für Anfänger meist selbsterklärend und leicht lernbar.
(Vielleicht übersetze ich die Software einmal bei Bedarf nach C.)
Software: Weitere Optimierungen / Änderungen
Da die Firmware Open Source ist, kann es natürlich jederzeit weiter entwickelt werden.
Mir würden folgende Änderungen einfallen (Mangels Zeit NICHT getestet!!):
- Werden im Interrupt mehr als 8 Pulse / Sekunden registriert, kann die PWM / AGC abgesenkt werden, da der TA7642 zu empfindlich ist.
- Das Eingangssignal in einem Buffer mitteln und danach mit z.Bsp. 110% vom Mittelwert vergleichen. Vorteil: Gleitenter Mittelwert. Daher Batterie und Umweltstörungs unempfindlicher?
- Arduino Shield entwickeln?
- Firmware in C konvertieren?
OK. Lets go …. Der frühe Wurm fängt den Vogel
Am Anfang wird einmal 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.
Wie immer bei der Bestückung:
Die niedrigsten Bauteile zuerst, danach erst dann die Hohen. Ansonsten ist immer etwas im Weg !
Zuerst verlöten wir die Widerstände:
Danach folgenden die Kondensatoren:
Und der eigentliche Schwingkreis, welcher die Entladungen empfängt:
Sockel und Diode stören nicht, darum drauf damit:
Nun kommt aber Trick 17: Biegt die LEDs VOR dem Einlöten ab, damit alle Anschlussdrähte gleich lang sind.
Ansonsten sieht das nachher im Gehäuse suboptimal aus.
Als nächstes kann der Transistor und der TA7642 drauf.
Na, merkt ihr was? Genau: Der Bestückungsdruck des TA7642 ist verkehrt.
Er gehört genau um 180° gedreht!!!
(Ab Platinenrevision 2 ist der Bestückungsdruck richtig!)
Noch den Schalter und den Rest……. fast fertig:
Wir ihr noch wisst, wollte ich eine mobile Version.
Daher wird die Platine gleich in ein Hammond Typ „001113“ Gehäuse verfrachtet:
Sodala. Hardware fertig.
Nächste Baustelle: Software….Die kommt morgen … 😉
Software / Firmware:
Generell habe ich mich bei der Software an den Gewitterwarner vom Elektronik Labor gehalten.
Ein paar Dinge wurden aber noch weiter verbessert bzw. angepasst:
- Es wurde ein PIC12LF1572 verwendet.
Der Vorteil: Der Speicher wird nur zu circa. ein Drittel verwendet.
Dadurch kann jeder seinem Geist freien lauf lassen 😉 - Es wurde Mikrobasic verwendet. Warum? Siehe oben.
- Die „Warnleds“ leuchten nicht immer, sondern blinken.
Dadurch kann der Stromverbrauch im Betrieb nochmals um 50% gedrückt werden. - Wird ein Blitz detektiert, so leuchtet die rote LED kurz auf.
- Alle vier Sekunden blinkt die grüne LED, um zu signalisieren, das der Gewitterwarner auch wirklich in Betrieb ist.
Die Firmware ist Open Source und in der Downloadabteilung verfügbar.
Erkennungsalgorithmus:
Bei jedem erkannten Blitz (max.8 pro Sekunde) wird ein Interrupt ausgelöst, und ein „Strikecount“ hochzählt.
Der „Strikecount“ wird jede Sekunde auf ein „Level“ aufsummiert.
Jede Sekunde wird von diesem „Level“ ein Anteil (Decay) abgezogen.
Umso höher das „Level“, umso mehr Blitze sind „in der Nähe“ -> Umso näher ist ein Gewitter.
Ab FW Revision 8: Werden mehr als 8 Blitze pro Sekunde detektiert, ist von (starken) Umgebungsstörungen auszugehen.
Darum wird der PWM Wert gesenkt.
Aufbau der Software:
- HardwareInit
- AGC /PWM Justierung für die Empfindlichkeit
- Interrupt mit Detektierung
- Mainloop mit Auswertung
Der Hardware Init werden alle Hardwarefunktionen zugewiesen und die Referenzspannungsquelle und die Comparatorschwelle gesetzt.
(Mehr dazu beim „Interrupt mit Detektierung“)
AGC /PWM Justierung für die Empfindlichkeit
Diese Funktion ist eine der wichtigsten Funktionen des Blitzwarners.
Mit der Funktion „AdjustAGC“ wird der PWM Wert (und somit die Spannungsversorgung des TA7642) solange erhöht, bis die Schaltschwelle des Comparators erreicht ist. Dadurch ist die maximale Verstärkung des Hintergrundrauschens gegeben.
Ab FW Revision 8:
Wird der erforderliche PWM Wert nicht erreicht, wird die Schwelle des Komparators gesenkt.
Wird der Komparator bei der PWM Ermittlung nicht (Nichmehr) erreicht, ist die Batterie leer ->
Die gelbe LED leuchtet durchgängig.
Natürlich ist der TA7642 bei dieser Spannung viel zu empfindlich.
Um die Verstärkung wieder ein wenig zu senken, wird einfach ein experimentell ermittelter Wert abgezogen.
Auf dem Oszilloskop sieht das wie folgt aus:
Die gelbe Linie ist dabei die geglättete Versorgungsspannung des TA7642 und die grüne Linie der Comparatoreingang des PICs.
Bei etwa 1.6V ist der beste Arbeitspunkt.
Dies führt uns schon zum nächsten Punkt:
Dieser ist einer der kleinsten aber wesentlichsten Programmteile der Firmware.
Jedes mal wenn der Comparator auslöst, wird der normale Programmablauf unterbrochen und hier her gesprungen.
Es also ein sogenanter Interrupt ausgelöst.
Aber warum wird der Comparator ausgelöst?
Der Comparator wird mittels des eingehenden Signals des TA7642 ausgelöst, wenn Dieses höher ist als die eingestellte Schaltschwelle ist.
Die Schaltschwelle wird mittels des DAC_out eingestellten Wertes gesetzt.
Als Referenzwert des DAC_out wird die interne Spannungsreferenz FVR_buffer2 verwendet, welche auf 2,048V eingestellt ist.
DAC_out kann von 0 bis 31 eingestellt werden, was also einen Einstellwert von 0V bis 2,048V entspricht.
Für die FW 0.7 wurde der Wert auf 1,048V festgelegt. (Siehe HardwareInit in den FW Sourcen)
„Elektrisch“ würde das wie folgt aussehen:
Hier ist also neben der PWM Regelung noch mal eine riesige Schraube, an der gedreht werden kann !!! (Ich sag nur Analogpin,…Mittelwert,…Digitaler Bandpass,…Zukunftsgespinste)
In der Mainloop wird die Auswertung für die LEDS ausgeführt.
Alle 32 Sekunden wird der aktuelle Warnlevel und der PWM Duty über die serielle Schnittstelle ausgegeben, damit Diese mit dem VB Programm schön am PC ausgewertet werden können.
(Siehe Downloadabteilung!!!)
Wenn Decay 0 ist, bedeutet das, dass schon längere Zeit keine Aktivität mehr vorgeherrscht hat -> Kein Gewitter weit und breit. -> Controller wird in den Sleep Mode versetzt um Energie zu sparen.
Sind 96 Sekunden vorbei, geht der Controller wieder in den Mainloop über.
Sind 9 Stunden vorbei, wird die PWM / AGC wieder neu angepasst um die bestmöglichste Einstellung unabhängig vom aktuellen Batteriezustand zu erzielen.
Die Versorgungsspannung des TA7642 sieht dann wie folgt aus:
Die Software inklusive Sourcecode könnt Ihr natürlich im Downloadbereich herunterladen.
Wenn Ihr die Software weiterverbreitet, bitte einen Link auf meine Seite setzen 😉
Ein Bausatz des Blitzdetektors kann in unserem Shop bezogen werden.
Bei Wünschen und Anregungen könnt Ihr eueren Kommentar absetzen
Hallo,
kommt denn noch die Software? 🙂
Super wäre natürlich wenn diese in C vorliegen würde.
Gruß
Bitteschön: https://www.ramser-elektro.at/potzblitz-der-gewitterwarner/#Software
Kauf von 2 – 4 Blitzdetektors.
wie kann ich die bekommen und was kostet das Stück, ist das ein vollständiger bausatz mit programierten Ic
Die Bausätze können im Shop erworben werden:
https://www.ramser-elektro.at/shop/bausaetze-und-platinen/blitzdetektor-gewitterwarner-blitzwarner-potzblitz/
Wo ist ein passendes Gehäuse erhältlich?
Das Gehäuse ist bei jedem bekannten Distributor erhältlich.
Hallo,
wie bekomme ich denn eigentlich die Software auf den PIC? Ist da ein spezieller Programmer nötig, oder kann/muss man das mit dem Arduino machen? In beiden Fällen würden mich die praktischen Schritte dazu interessieren. Kann mir da einer helfen?
Wird ein Bausatz im Shop bezogen, so ist die Software schon auf den PIC12F1572 gebrannt.
Für den Einstieg mit den PIC Controllern ist folgende Seite sehr empfehlenswert:
http://sprut.de/
Sehr interessanter Bausatz. Meine die Schaltung verstanden zu haben und wenn ich die Bauteile nachbestellt habe werde ichs auf einer größeren Lochrasterplatine bringen mit Präzisionswiderständen. Schade das die Platine im Bausatz schwer zu löten ist, kein Schaltplan mitgeliefert wird und das man die gebrannten MCs nicht separat kaufen kann. Habe eine ähnliche Schaltung mit einem Attiny13 20PU im Internet gesehen. Die Ansteuerung des MCs müsste dieselbe sein. Top Bausatz sonst. Werde berichten wenn mein Lochrasterplatinenprojekt von Erfolg gekrönt war.
Sehr geehrter Herr K.
Danke für Ihren Kommentar.
Der Schaltplan ist auf der Homepage sichtbar und wird für das Bestücken der Platine nicht benötigt.
Es wird eine Bestückungstabelle mitgeliefert, wo genau erläutert wird, welches Bauteil mit welcher Beschriftung/Farbkodierung an welchen Platz verlötet werden muss.
Das die Platine schwer zu löten ist, entzieht sich unserer Erkenntnis.
Der Restring der Pads ist dreimal so groß, als bei der Standard Industriegröße gewählt. Außerdem sind keine SMD Bauteile enthalten.
Der Mikrocontroller kann auf Anfrage jederzeit getrennt erworben werden.
Andere Schaltungen, wie die von Ihnen angesprochene mit dem Attiny, verwenden als „Spannungsreferenz“ die Treshold Spannung der Eingangspins, welche eine sehr hohe Produktionssteuerung aufweisen.
Daher wurde bei unserer Schaltung die integrierte Spannungsreferenz in Verbindung mit dem Comparator eingesetzt.
Durch die Implementierung der AGC wird dadurch eine sehr gute Bandbreite erreicht.
Sämtliche Widerstände in unseren Bausatz weisen eine Toleranz von 1% auf.
Uns entschließt sich nicht, warum Präzisionswiderstände an welcher Stelle, für welchen Sinn verwendet werden sollen.
Gerne könne Sie hier Ihre Erfahrungen diesbezüglich posten.
Den Schaltplan habe ich genommen von der Homepage und habe ihn in ein Lochrasterplatinenschaltplan umgesetzt. Das heißt, dass ich diesen nur noch auf die Lochrasterplatine 1 zu 1 löten muss. Werde nochmals versuchen die Original-Platine zu bestücken. Der MC kann bei nichtgelingen ja weiterhin verwendet werden da er schon in eine Ic Fassung gesetzt geliefert wird. Möchte Ihren Gewitterwarner ja als Home Gerät nutzen und es in eine Frischhaltedose verbauen (Heißkleber, Lüftungslöcher). Bei der Attiny13 Schaltung habe ich die Siebglieder auch schon gesehen. Nur weiß ich noch nicht genau ob ich die Schaltungsfragmente genau zusammen gedichtet habe. Probieren geht über studieren… Aber ein ganz großes Lob: Zusammenstellung der Bauteile top, Bestückungsliste top, Versand top und Lieferzeit top.
Übrigens: Wenn man einen Blitzzähler (aus Cmos CD4040 (Binärzähler), CD4026 (Dekadenzahler siebensegmentanzeige) oder CD4017 (Dekandenzähler LEDs)) nachschalten möchte muss man das Lvl Signal abgreifen bevor es in den MC geht. Weil ja die grüne LED alle 4 Sekunden blinkt kann man das Signal nicht an dem Pluspol der grünen LED abgreifen so wie ich es bei dem Franzis Gewitterwarner gemacht habe. Natürlich muss das Signal noch verstärkt werden, weil es für die Cmos Ics zu wenig Spannung haben dürfte. Über einen 10K Widerstand geht’s dann in den Takteingang des Ics ganz rechts. Ausser beim CD4040 da wird ein Ic zu zählen ausreichend sein. Nur so ein Gedankenspiel…
Präzionswiderstände deshalb, weil weniger Toleranz gleich besseres Ergebnis. Da die Schaltung dann halt besser in den für diesen Zweck definierten Parametern funktioniert.
Er scheint zu funktionieren. Aber in gewissen Abständen leuchtet die rote LED für gute 2 Sekunden auf geht aus, gelbe LED blinkt kurz auf und dann wird es wieder ganz normal wie beschrieben mit alle 4 sekündigem Aufblitzen der grünen LED ausgeführt. Ist das so richtig??
Empfehle, zum Zusammenlöten der Schaltung allen einen sehr feinen Lötkolben zu benutzen mit nur wenig Lötzinn.
Am besten lässt sich die Funktion mit einem Piezofeuerzeug testen.
Das Blinken dient der „Betriebsanzeige“.
Aufgrund des offenen Quellcodes kann sich jeder die Firmware nach belieben anpassen.
Hi, what is the L2 good for? And, what is the directivity of the L1? Thanks.
Hello,
The inductive path of the LC filter is splitted in two parts.
One part is turned by 90° to the second part, to detect 2 from 3
directions. The two detecting directions always depending on the position of the circuit.
And how good is the SMCC L2 sensitivity compared to radial choke L1? Is it as good as radial? Thank you.
A radial choke has a higher sensibility.
You also can use just the radial choke, but then you have to change the value of the choke, or the value of the capacitor