erstellt  08.08.2020
PIR-Funk Sender
Ein mit einem PIR Modul  erfasste Bewegung soll mit Hilfe eines Funk-Senders zu einem Funk-Empfänger verschickt werden,
um dort dann ein Akustisches Signal aus zu lösen.
Die Schaltung besteht in der Hauptsache aus einen Atmega 8 Mikroprozessor,
ein Funkmodul HC12 ,
ein PIR Sensor, und ein DC >>DC Wandler.
Der Atmega , der PIR Sensor und das Funkmodul benötigen eine Spannung von 5 Volt, um die Schaltung möglichst klein zu halten
benutze ich hier als Betriebsspannung eine einzelne Zelle Mit 3,7Volt /2600mA ( Typ 18650 )
Der DC --> DC Wandler erhöht die Spannung dann auf die gewünschten 5 Volt.
Die Schaltung beinhaltet noch einige Bauteile die eigentlich nicht benötigt werden, aber in Hinsicht auf eventuelle Erweiterungen  gegebenenfalls
dann schon vorhanden sind.
Dau gehören der LDR und der 10 K Widerstand, Das Relais und die Diode.
Mit dem LDR bietet es sich beispielsweise an an die Schaltung so zu erweitern das sie nur bei einer bestimmten
Umgebungshelligkeit ihre Funktion ausübt.

DC---> DC Wandler
Der Wandler Baustein hat die Bezeichnung MT3608 und wandelt jeder Spannung ab 2 Volt in eine einstellbare Ausgangsspannung hier 5 Volt um.
Der Wandler verträgt einen Strom von ca 1 Ampere.
Der Stromverbrauch im Standby beträgt ca. 0,130 mA




PIR Sensor
Der PIR Sensor hat die Bezeichnung A8 , arbeitet intern mit einen Spannungsregler was bedeutet das die Eingangsspannung größer als 5 Volt sein muss.
Laut Datenblatt sollte sie auch 6 bis 12 Volt betragen.
In dieser Schaltung funktioniert das PIR Modul  aber auch mit 5 Volt.
Der Stromverbrauch liegt im Standby Betrieb bei 0,1 mA, bei Aktivierung bei ca. 1 mA




 

Funk Modul HC-12
Das Funk Modul trägt die Bezeichnung HC 12,  und arbeitet im Bereich 434 MHz,
es gibt auch  Module mit der Bezeichnung HC 11
die Baugleich und Pin Kompatible sind, allerdings nicht die gleichen Protokolle benutzen.
Laut Datenblatt soll es möglich sein, einige Parameter des Modul HC 12 anzupassen, was mir trotz Intensiver
Versuche aber nicht gelungen ist.
Auch beim test weise Aufbau mit den Modul HC 11 ließen sich die Parameter nicht ändern.


Programm / Sender
$regfile "m8def.dat" Definiert den Atmega als Atmega8
$crystal = 3686400 Gibt die Quarzfrequenz an in Herz
$hwstack = 32    Default use 32 Hardware reservierte Speicher
$swstack = 10   Default Software resvierung Speicher
$baud = 9600 Geschwindigkeit der UART Schnittstelle setzen
Ddrd.5 = 1 Ausgang für Rote Betriebs Led setzen
Ddrd.7 = 1                    Ausgang für Blau Sende-Led setzen
Ddrc.2 = 1 Ausgang für Grüne Empfang-Led setzen
Ddrd.3 = 1 Freigabeausgang für Radarmodul
Portc.2 = 1                   ' Voreinstellung Led Grün ist aus
Dim X as Byte Variable in der Empfangene Bytes abgespeichert werden
On Urxc Datenempfang Bezeichnung für die Interrupt Routine die angesprungen wird wenn ein Byte empfangen wurde
Enable Urxc Interrupt freigeben
Ddrd.7 = 1 Interrupt Pin D7 als Ausgang für Blau Led setzen
Sreg.7 = 1 Interrupt Gloabal einschalten
Gicr = &B01000000  Interrupt 0 einschalten, Bit 6 setzt Interrupt 0- Bit 7 setzt Interrupt 1
Mcucr = &B00000011 Interrupt reagiert  bei steigender Flanke
On Int0 Senden Namen der Interrupt Routine die angesprungen wird wenn an Pind.2 ein Signal erfasst wird
Do Schleifen Anfang
Waitms 300 Pause
Portd.5=1 Rote Led an
Waitms 15 Pause
Portd.5=0 Rote Led aus
Loop Ende der Programmschleife
  Senden: Routine die beim ausgelösten Interrupt an Pind.2 angesprungen wird
Portd.7 = 1 Led Blau einschalten
Print "A" Das ASKII Zeiche "A" per Funk senden
Waitms 400 Pause
Return Rücksprung zum Punkt an dem das Programm wegen des Interrupt unterbrochen wurde
Datenempfang: Routine wird angesprungen sobald der Empfangspuffer 1 Byte empfangen hat
Portc.2=0 Grüne Led einschalten
Waitms 100 Pause
Portc.2=1 Grüne Led ausschalten
X=Udr Das Empfangene Byte in die Variable X übernehmen, ist notwendig weil sonst kein neues Byte empfangen werden kann
if X="B" then Portd.7=1 Wenn ein B empfangen wird Blaue Led einschalten
waitms 50 Pause
if X="B" then Print "B" Wenn ein B empfangen wurde, dann ein "B" zurück senden
waitms 10 Pause
Portd.7=0 Blaue Led auschalten
Return Rücksprung






Aktualisiert 20.09.2020
Copyright by Ms2009