Blitz-T13(A)-TA7642 (beta)         

von Heinz D.                 
Elektronik-Labor  AVR  HF  Projekte 


 
Manchmal ist eine frühe Idee eine gute Idee ...

Zu allem, was letztes Jahr geschrieben wurde, ist nicht viel hinzuzufügen. Zusammenfassung: Blitze entstehen entweder durch schnell ziehende Wetterfronten, bei denen sich warme unter kalte Luftschichten schieben. Oder durch Wärmegewitter (nachmittags), wobei sich in Ambosswolken vertikal durch Temperaturunterschiede Ladungsunterschiede aufbauen. Eine Warnung sollte demnach beim ersten eindeutig erkannten Blitz erfolgen und etwa 15-30min gespeichert/angezeigt bleiben. Die Entfernung wird durch den Empfänger automatisch auf 50-100km beschränkt.



Die Schaltung ist aus 2013 schon weitestgehend bekannt. Die Bauteile wurden noch einmal optimiert. Sie sollten nur mit trifftigem Grund davon abweichen!
Der TA7642 wird mit quasi konstantem Strom von ~200uA betrieben (U_TA ~1000mV).
Der BC547C wird direkt vom Ausgang des TA gesteuert, um ihn sicher in Sättigung zu steuern (Uc_BC ~100mV).
Die Stabantenne sorgt für 360° Rundempfang und sollte nicht länger als 5cm (<30cm) sein!
Man weiss nicht vorher, aus welcher Richtung ein Gewitter aufzieht.
Das Ferritstäbchen sollte deshalb aufrecht stehen.
Die Led's werden durch Spannungsverdopplung betrieben.
Mit Schottky-Dioden können auch grüne Led's leuchten.



Der Tiefpass R2+RTA/C2 (~10kHz) bestimmt die obere Frequenzgrenze.
Der Hochpass R3+Q1/C3 (~15Hz) bestimmt die untere Frequenz.
Impulslängen von 50us bis 30ms sollten erkennbar sein.
Kürzere Störungen (Gasanzünder) werden (durch AM-Demodulation) leider auf 50us verlängert!?!



Die Aufgabe der Software ist es, die richtige Impuls-/Pausen-Dauer zu finden. Eine Entladung dauert etwa 30-60us, die Pause etwa 30-60ms. Dann folgen im Mittel null bis drei Folgeblitze. Längere Störteppiche (Nebel durch Schaltnetzteile) sollten signalisiert werden, um die Aufstellung zu optimieren.

Das .bas-File ist absolut unfertig! Insbesondere werden lange Pausen (in I_impuls:) zu einem Registerüberlauf führen. Mir fehlt da eine zündende Idee. (Verbesserungsvorschläge?)

Download: BlitzBeta1.zip

' 1404-Blitz-beta (T13(A) und TA7642 an 1,5V; beta, nicht real getestet)
'
' Die Hardware ist weitestgehend aus 2013 bekannt.
' Der TA7642 wird quasi konstant mit 200uA gespeist.
' Ein 5cm <30cm-Stab verbessert die Rundempfangseigenschaften auf 360°.
' Der BC547 wird direkt vom TA möglichst weit in Sättigung gesteuert.
'
' Die Anzeige erfolgt durch Piezo und 3 Led's.
' Die Led's werden mit Spannungsverdoppler betrieben.
'-------------------------------------------------------------------------------
' /T13a|
' Res | | +Vcc
' Ad3/B3 | | B2/sck/Ad1
' Ad2/B4 | | B1/miso
' Gnd | | B0/mosi
' ----
'-------------------------------------------------------------------------------
$regfile = "attiny13.dat"
'$regfile = "attiny13a.dat"

'$prog &HFF , &H69 , &HFF , &H00 '4,8MHz/8 = 600kHz
'$prog &HFF , &H6A , &HFF , &H00 '9,6MHz/8 =1200kHz
'$prog &HFF , &H79 , &HFF , &H00 '4,8MHz/1
'$prog &HFF , &H7A , &HFF , &H00 '9,6MHz/1
$crystal = 600000
$hwstack = 20 '40
$swstack = 8 '16
$framesize = 16 '32

On Int0 I_impuls Nosave
Enable Int0 : Config Int0 = Change : Enable Interrupts

Ddrb = &B011110
B0 Alias Pinb.0 'Int0
B1 Alias Portb.1 : B2 Alias Portb.2 : B3 Alias Portb.3 : B4 Alias Portb.4

Dim Impulsdauer As Word , Pausendauer As Word
Dim Zeit As Word , Zeit2 As Word
Dim Impuls As Bit , Pause0 As Bit
Dim Piezo As Bit , Blitz As Bit , Stoer As Bit , Nebel As Bit 'Flags
'-------------------------------------------------
Do

If Impulsdauer > 0 Then
If Impulsdauer < 30 Then 'zu kurz
Stoer = 1
Else
If Impulsdauer < 100 Then 'richtig
Impuls = 1
Else 'zu lang
Nebel = 1
End If
End If
Impulsdauer = 0
Zeit = 0
End If

If Pausendauer > 0 Then
If Pausendauer < 30 Then 'zu kurz
Stoer = 1
Else
If Pausendauer < 100 Then 'richtig
Pause0 = 1
End If
End If
Pausendauer = 0
End If

If Pause0 = 1 And Impuls = 1 Then 'richtig
Blitz = 1
Zeit2 = 0
Pause0 = 0
Impuls = 0
End If

Incr Zeit '1s
If Zeit = 7000 Then
Piezo = 0
Stoer = 0
Nebel = 0
Incr Zeit2
Zeit = 0
End If

If Zeit2 = 900 Then '900s
Blitz = 0
Zeit2 = 0
End If

If Stoer = 1 Then Toggle B1 Else B1 = 0
If Nebel = 1 Then Toggle B2 Else B2 = 0
If Piezo = 1 Then Toggle B3 Else B3 = 0
If Blitz = 1 Then Toggle B4 Else B4 = 0

Loop
'-------------------------------------------------------------------------------
I_impuls:
Disable Interrupts
While B0 = 1 : Incr Impulsdauer : Wend
While B0 = 0 : Incr Pausendauer : Waitms 1 : Wend
Enable Interrupts
Return
'Ende




Elektronik-Labor  AVR  HF  Projekte