Gsm alarmă cu un control DTMF
descriere generală
Punerea în aplicare a dispozitivului, care permite un control la distanță și de a gestiona orice proces a ocupat mult timp mințile omenirii.
Inițial, GSM sistem de alarma cu un control DTMF proiectat pentru a fi utilizat într-un garaj auto, la distanță de locul de reședință (apartament). Prin urmare, descrierea va fi efectuată cu referire la condițiile de mai sus.
Acest proiect reprezintă un dispozitiv realizat bazat pe controler PIC16F628A. având următoarele caracteristici:
dispozitiv de conducere
Fig. Dispozitiv de conducere 1.
- prezența vibrator,
- Posibilitatea de a stabili două numere de comandă rapidă (în butoanele de presă lungi 4 și 6)
- încărcător de tensiune trebuie să fie de 5 volți,
- posibilitatea de a configura un apel prin apăsarea oricărei (pentru a fi în măsură să auto-răspuns).
1-2 releu de contact este comutat în cel pozitiv diferența de la încărcător, care, întâmplător, este permanent conectat. Prin conectarea continuă a încărcătorului, vom controla prezența puterii de alimentare, în caz de eșec de rețea pentru a face gazdă dial-up (alternativ pe cele două numere favorite). Circuitul de contact de releu este necesară în domeniu pentru un încărcător călătorie scurtă (efectuate periodic, la intervale de câteva ore) pentru a reseta controlerul celulei bateriei și poate cauza pentru a încărca din nou bateria.
În plus față de cele de mai sus, tensiunea bateriei (care trebuie să fie de 5 volți) necesare pentru DTMF aprovizionare detector cip ca celula de alimentare a bateriei nu este suficient. Din care rezultă că, controlul DTMF devine imposibilă atunci când opriți alimentarea de la rețea.
Semnalul „sol“ este alimentat prin contactele normal închise „uscate“ cu privire la intrările 1 și 2 placi. intrări de stat Sondaj 1 și 2 are loc numai atunci când armat.
Butonul SB1 pentru a porni - dezarma sistemul și instalat la ieșirea din garaj pentru a avea timp să părăsească sala și închide ușa pentru un timp de aproximativ 10 secunde.
HL1 LED-ul este utilizat pentru a indica modul de funcționare al dispozitivului. Când este dezactivat protecție rambursat. După apăsarea butonului lumina intermitent SB1 timp de aproximativ 10 secunde informați cu privire la necesitatea de senzori (usi, mișcare) la starea inițială. La sfârșitul timpului de menținere cu LED-uri de lumină constantă indică faptul că protecția este activată. Apăsând butonul SB1 în timp ce clipește sau chiar modul de protecție indicația este oprit fără întârziere. Trebuie remarcat faptul că armarea prin DTMF comenzi se efectuează fără întârziere.
Pentru a transmite semnalul de stare a dispozitivului sub formă de parcele de impulsuri ton de frecvențe diferite, durata și ieșirea controlerului interval de 15 este conectat (din nou, două fire) la microfonul celulei.
MOSFET pe BT138 decuplat prin optocuplor configurat circuitul de sarcină de conducere. capacitatea de încărcare este limitată de o sută de wați, deoarece triac nu este setat de căldură. Dacă este necesar, crește radiatorul curent poate fi instalat sau selectați triac puternic.
Controlul reglării tensiunii de încărcare și de încărcare releul de întrerupere a alimentării, de asemenea, adaptată la izolarea optică.
Montarea dispozitivului de încărcare în format Sprint-Layout 5.0 poate fi descărcat de aici.
Doar specifică faptul că placa încerca să facă o singură față, ca imprimantă - metoda călcarea de a transfera modelul impune propriile sale limite. Da, și în dezvoltarea de dispozitive „pe genunchi“ nu este nevoie de miniaturizare.
Dispozitivele sunt plasate, în general, în carcasă de plastic adecvat, bine, lipsa industriei moderne acest lucru nu contează.
Scrisori următoarea notație în Schema de rafale de ton (A, B, C și așa mai departe. D.) sunt utilizate pentru comoditatea de identificare a mesajului de tip EEPROM în codul de compilare.
fișiere de proiect în mediul MPLAB IDE poate fi descărcat de aici.
Codul sursă pentru descrierea algoritmilor este prezentată mai jos.
PIC16F628A microcontroler utilizează un oscilator de 4 MHz intern. Cronometrul watchdog este inclus în prescaler maximă. Pentru a determina dacă DTMF colete sosite utilizate INT de intrare întrerupere (RB0). exploziile de ton de lucru organizate pe cronometrul întrerupe 2.
Bucla principală de program este construit pe timer-ul 1, cu o perioadă de circa 0,1 secunde (TIME_UP subrutină).
Apare apel alternativ aceste rutine: verificarea stării senzorilor - CHECK_INPUTS, verificați sursa de alimentare - CHECK_POWER, test de presare - BUTTON_CHECK, starea modulului de afișare - INDICA, transmite alarma - TRANS_ALARM, selecție ton - CASE_TONE_SIG, test de activitate DTMF - DTMF_ACTIVITY, întrerupe baterie - CHARGE_INT, salvați în memoria non-volatilă - SAVE_TO_EEPROM.
CHECK_INPUTS subrutină, în cazul în care modulul este dezarmat, resetează steagurile de alarmă. Atunci când modulul este în protecția rezhyme în intrările de verificare rotație PORTA, 4 și PORTA, 3. Dacă una dintre intrări (sau ambele) este unitate detectată (obry în circuitul senzorului), setați indicatorii de alarmă corespunzătoare și steagurile de conservare în EEPROM.
CHECK_POWER subrutină verifică starea de intrare PORTB, 4, și seturi sau elimină pavilionul unei pene de curent.
Subrutină determină răspuns al dispozitivului BUTTON_CHECK la presare. Contoare ON_BUT_COUNT OFF_BUT_COUNT și servesc pentru a proteja împotriva contactului de respingere. Proceduri de armare și dezarmare ieșire într-un subprogram separat respectiv SET_GUARD_ON și SET_GUARD_OFF, deoarece acestea sunt folosite în timpul procesării semnalelor DTMF. Algoritmul de subrutină prezentat în Fig. 3.
INDICAT subrutină determină ca modul de LED-uri HL1: rambursat la protecția deconectat se aprinde și rămâne aprins atunci când protecția flash-uri rare, în timpul interval de timp după apăsarea butonului înainte de armare, de multe ori clipește atunci când senzorul este declanșat în modul de protecție.
CASE_TONE_SIG subrutină selectează un ton pentru transmiterea la microfon celular în funcție de steagurile de stare ai dispozitivului. Trebuie remarcat faptul că transmisia semnalului microcontroler se realizează în mod continuu (folosind cronometrul de întrerupere 2), cu toate acestea, microfonul mobil este pornit numai în timpul unui apel. Controlul de reglare a frecvenței ton este realizată de prescaler și timer-ul de ieșire separator 2 pentru fiecare impuls în starea curentă a dispozitivului. Având interval determinat sau bit FLAG_TONE puls, 0. Durata fiecărui impuls și unitatea SOUND_COUNT contor interval determinat, care este egală cu perioada de bucla principală de program (circa 0,1 secunde). Selectarea una din cele trei frecvențe se realizează prin SOUND_FLAGS steaguri (1, 2 și s biți). Semnal Nume (A, B, C și așa mai departe. D.) Și subrutină operație logică corespunde algoritmului prezentat în Fig. 2.
Sub CHARGE_INT produce COUNT ore, minute și secunde în contoarele respective 24 și atunci când ceasul este pornit de PORTB baterie releu de deconectare 6. După 25 de secunde (CLOCK_COUNT contor) comutator este oprit și contoarele de timp sunt resetate. Contor de ore pentru fiecare schimbare este stocat în memoria nevolatilă.
Partea de sus (în apropierea mânerului) îndepărtat orice conexiuni externe: setarea butonului este armat, LED modul de control, circuitele de intrare (lichidată pe o răsucire).
Side retras comutator de încălzire și LED-ul de control la stat.