Inkrementalgeber mit Kupplung


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Alarmgeber mit PIC12F509

Schon ein einfacher Alarmgeber kann äußerst nützlich sein und bei Überwachung von kritischen Zuständen oder Gefahrensituationen gute Dienste leisten. Je nachdem, welcher Sensor verwendet wird, können diverse unerwünschte Zustände erkannt und gemeldet werden. In der folgenden Schaltung kommt ein einfacher Öffner-Kontakt zum Einsatz. Im Ruhezustand bleibt der Kontakt, da er betätigt ist, geöffnet. Beim Schließen versorgt der Kontakt unsere kleine Alarmanlage mit Spannung und initiiert so die Ausgabe von Warnsignalen.

Alarmschaltung



In der Anfangsphase wird zunächst eine Wartezeit gestartet. Erst nach Ablauf dieser Zeit werden die Alarmsignale generiert. So kann unserer Alarmgeber z.B. für Tür- oder Fensterüberwachung verwendet werden. Das könnte ein Kühlschrank, eine Kühltruhe, Dachluke, Garagentor oder Tür eines Tresors mit wertvollem Inhalt sein.
Die Aufgabe wird mit dem Mikrocontroller PIC12F509 realisiert. Eine rote Leuchtdiode übernimmt die Aufgabe der optischen Alarmsignale, für die akustischen Signale ist ein Buzzer (aktiver Summer) zuständig.
Die zweite Leuchtdiode, die während der Wartezeit blinkt, hat eine Prüffunktion. Sie signalisiert, dass die Schaltung funktionstüchtig ist. So kann die Schaltung geprüft werden, noch bevor die Alarmphase gestartet wird.

PIC12F509

PIC12F509

Der Mikrocontroller PIC12F509 ist ein 8-Bit-Mikrocontroller. Ähnlich wie bei PIC12F200 stehen 33 Assembler-Anweisungen zur Verfügung. Er verfügt über einen Flashspeicher, der 100000 Mal beschrieben werden kann. Seine Größe beträgt 1024 Words. Der RAM-Speicher ist 41 Bytes groß. Der Mikrocontroller hat acht Pins und stellt fünf Ein-/Ausgänge zur Verfügung. Zusätzlich steht noch ein Eingang zur Verfügung.
Die Spannungsversorgung liegt im Bereich 2 bis 5,5 VDC. Der interne Oszillator arbeitet mit einer Frequenz von 4 MHz. Es kann ein externer Taktgeber angeschlossen werden. Dank einer Strombegrenzung können an die Ausgänge des Bausteins LEDs direkt ohne Vorwiderstand angeschlossen werden.
Zur weiteren Funktionen des Mikrocontrollers gehören Einschalt-Rückstellung (POR), Geräte-Rückstellzeitgeber (DRT), Watchdog-Timer (WDT) und Energiesparender Ruhemodus.
Pinbelegung:

Pinbelegung

Pinbelegung


Aktiver Summer

Aktiver Summer

Die charakteristische Eigenschaft eines aktiven Summers ist die Tatsache, dass er über eine eigene Elektronik verfügt. Sie selbst sorgt dafür, das akustische Signal zu generieren. Damit beschränkt sich die Ansteuerung eines aktiven Summers auf die Spannungsversorgung. Der hier abgebildete aktiver Summer arbeitet mit 5 VDC.

Aktiver Summer 5V

Transistor BC547

Transistor BC547

Bei dem Transistor BC547 handelt es sich um einen bipolaren Transistor vom Typ NPN.
Technische Daten:

Spannung Vceo (Kollektor-Emitter): 45 V
Strom Ic: 100 mA
Ptot: 0,5 W
ft: 300 MHz

NPN Symbolbild

NPN Symbol

Pinbelegung

Pinbelegung


Der Schaltplan

Der Schaltplan

Der Schaltplan

Das Programm

// ***************************************************************************
// Opto-Akustischer Warngeber mit PIC12F509
// MPLAB X IDE v6.00
// XC8-Compiler 2.4
// ***************************************************************************
             
// CONFIG 
#pragma config OSC = IntRC      // Internal RC oscillator 
#pragma config WDT = OFF        // Watchdog Timer Enable bit (disabled) 
#pragma config CP = OFF         // Code Protection bit  
#pragma config MCLRE = OFF      // GP3/MCLR Pin Function Select bit  

#include <xc.h>

#define _XTAL_FREQ 4000000                      // Taktfrequenz  
#define Ausgang_Info_LED  GPIObits.GP0          // GP0 ist Info-LED-Ausgang  
#define Ausgang_Alarm_LED  GPIObits.GP1         // GP1 ist Alarm-LED-Ausgang 
#define Ausgang_Buzzer  GPIObits.GP4            // GP2 ist Buzzer-Ausgang 

int i;                                          // Laufvariable für For-Schleifen 

void main(void) {
    
    Ausgang_Info_LED = 0;                       // Info LRD aus 
    Ausgang_Alarm_LED = 0;                      // Alarm LED Aus 
    Ausgang_Buzzer = 0;                         // Buzzer Aus 
    TRIS = 0b00000000;                          // GPIO 0,1,4 als Ausgänge 
              
                                      // Phase 1: Leerlauf, Info LED (Gelb)) 
    for (i=0; i<10; i++) {                      // For Schleife 
        __delay_ms(3000);                       // Wartezeit 
        Ausgang_Info_LED = 1;                   // Ausgang Info-LED Ein 
        __delay_ms(100);                        // Wartezeit 
        Ausgang_Info_LED = 0;                   // Ausgang Info-LED Aus 
    }
        
                                      // Phase 2: Alarm LED (Rot)) 
    for (i=0; i<11; i++) {                      // For Schleife         
        Ausgang_Alarm_LED = ~Ausgang_Alarm_LED; // Ausgang toggeln 
        __delay_ms(1000);                       // Wartezeit 
    }    
    
                                      // Phase 3: Buzzer (Voralarm)) 
    for (i=0; i<10; i++) {                      // For Schleife 
        __delay_ms(3000);                       // Wartezeit 
        Ausgang_Buzzer = 1;                     // Ausgang Buzzer Ein 
        __delay_ms(100);                        // Wartezeit 
        Ausgang_Buzzer = 0;
    }    
    
                                      // Phase 3: Buzzer (Alarm)) 
    for (i=0; i<10; i++) {                      // For Schleife 
        __delay_ms(2000);                       // Wartezeit 
        Ausgang_Buzzer = 1;                     // Ausgang Buzzer Ein 
        __delay_ms(500);                        // Wartezeit 
        Ausgang_Buzzer = 0;                     // Ausgang Buzzer Aus 
    }     

                                      // Phase 4: Buzzer (Alarm intensiv)) 
    for (i=0; i<10; i++) {                      // For Schleife 
        __delay_ms(1000);                       // Wartezeit 
        Ausgang_Buzzer = 1;                     // Ausgang Buzzer Ein 
        __delay_ms(300);                        // Wartezeit 
        Ausgang_Buzzer = 0;                     // Ausgang Buzzer Aus 
        __delay_ms(50);                         // Wartezeit 
        Ausgang_Buzzer = 1;                     // Ausgang Buzzer Ein 
        __delay_ms(300);                        // Wartezeit 
        Ausgang_Buzzer = 0;                     // Ausgang Buzzer Aus 
    }     
    
                                       // Phase 5: Buzze (konstant An)) 
    while (1)                                   // While Schleife 
        Ausgang_Buzzer = 1;                     // Ausgang Buzzer Ein 
}
         

Die Testschaltung

Testschaltung

Testschaltung

Im Ruhezustand, wenn die untersuchte Tür, Deckel oder Klappe geschlossen ist, ist der Öffner-Kontakt des Endschalters S1 geöffnet. Die Stromzufuhr ist unterbrochen und die Schaltung deaktiviert. In dem Zustand wird kein Strom aufgenommen.
Sobald die Tür geöffnet wird, schließt der Öffner von S1, die Schaltung wird mit Spannung versorgt und das Programm gestartet.
Der Programmablauf ist auf fünf Phasen unterteilt. Jede Phase wird mit einer FOR-Schleife realisiert. Die Dauer jeder Phase kann beliebig durch Veränderung des Wertes der Laufvariable i eingestellt werden.
In der ersten Phase, die als Leerlauf bezeichnet werden kann, werden keine Warnsignale ausgegeben. In der Phase blinkt in größeren zeitlichen Abständen die gelbe Leuchtdiode. So kann die Schaltung auf Funktionstüchtigkeit geprüft werden, bevor die eigentlichen Alarmsignale ausgegeben werden.
In der zweiten Phase wird mit der roten Leuchtdiode das erste Alarmsignal ausgegeben. Die LED blinkt in 1-sek-Takt. Auch diese Zeit kann im Programm frei eingestellt werden. Der Wert der Variable i ist hier so eingestellt (eine ungerade Zahl), dass die Leuchtdiode nach Verlassen der Schleife im eingeschalteten Zustand bleibt.
Die dritte, vierte und fünfte Phase befassen sich mit dem akustischen Signal. Das Signal wird nach und nach immer aufdringlicher ausgegeben. In der fünften Phase werden die Pieptöne in einen konstanten Dauerton umgewandelt.

Kurzvideo zur Schaltung

Kurzvideo


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz