Blocare cu combinație pe un microcontroler. Lacăt electronic cu combinație bazat pe microcontrolerul PIC12F675. Sistem. Schema schematică a dispozitivului

Alan Parekh

Acest design se caracterizează prin simplitatea designului circuitului; pentru a introduce codul, se folosește un singur buton, care trebuie apăsat de un anumit număr de ori, în conformitate cu cifra codului, observând o pauză la introducerea următoarei cifre. Numărul de cifre din cod este de 4. Pentru a crește secretul, puteți plasa o tastatură în care va fi activ un singur buton pentru introducerea codului. Dacă este introdus codul corect, sistemul va activa releul, dar este posibilă configurarea altor funcții atunci când sistemul este activat; pentru aceasta va trebui să treceți în modul de programare a dispozitivului.

Dispozitivul poate fi utilizat în sistemele de control al ușilor de garaj, sistemele de control al iluminatului și sistemele de securitate.

Schema schematică a dispozitivului

Elementul principal al circuitului este microcontrolerul PIC16F628A, care monitorizează apăsarea butonului, anunță vizual utilizatorul când comanda a fost primită și controlează starea releului. Pentru vizualizare, se folosește un LED, care este conectat în paralel cu butonul de introducere a codului, care vă permite să utilizați doar două fire pentru a instala și conecta butonul în locația dorită.

Pentru a alimenta dispozitivul, veți avea nevoie de o sursă de alimentare de 12 V; circuitul conține un regulator de tensiune LM7805. LED-ul D3 indică alimentarea cu energie.

Sistemul are două moduri de funcționare: modul normal și modul de programare. În modul normal, dispozitivul își îndeplinește sarcina principală - monitorizează apăsările butoanelor și reacționează atunci când codul este introdus corect. În modul de programare sunt configurați parametrii de bază ai sistemului: cod, timp de activare, mod de funcționare.

Pentru a schimba modul de funcționare (normal/programare), se folosește comutatorul JP1. Când întrerupătorul este oprit - modul de funcționare normal, când este pornit - modul de programare (setări). Trebuie remarcat că într-un mod sau altul este intrat atunci când este aplicată alimentarea (starea comutatorului este verificată de microcontroler când este aplicată alimentarea). Prin urmare, pentru a intra în modul de configurare, trebuie să setați comutatorul și să aplicați puterea; pentru a ieși din modul, trebuie să opriți comutatorul, să opriți și apoi să porniți alimentarea.

Pentru a introduce un cod de forma 1234, secvența de acțiuni este următoarea:

  • apăsați butonul 1 dată;
  • așteptați confirmarea vizuală de către LED-ul de pe buton (LED-ul va clipi o dată);
  • apăsați butonul de două ori;
  • apăsați butonul de trei ori;
  • așteptați confirmarea vizuală de către LED-ul de pe buton;
  • apăsați butonul de 4 ori.

După introducerea celei de-a patra cifre, sistemul va funcționa în conformitate cu modul de funcționare setat. Dacă a fost introdus un cod incorect, utilizatorul va vedea o alertă vizuală (LED intermitent).

Pentru a seta parametrii de blocare, se folosește modul de programare. În acest mod, pentru a vă deplasa între opțiuni, butonul este apăsat și menținut timp de 3 secunde. După eliberarea butonului, veți trece la următorul element de meniu, iar LED-ul va indica prin numărul de clipiri în ce element de meniu vă aflați (de exemplu, flash, flash, pauză, flash, flash, pauză,... - înseamnă că al doilea element de meniu este selectat).

Opțiuni de meniu:

  1. Schimbarea codului- folosit pentru a schimba codul utilizatorului. Pentru modificare, codul este introdus în același mod ca în funcționarea normală. Când noul cod este salvat, LED-ul va indica acest lucru cu clipiri frecvente;
  2. Modificarea timpului de activare- folosit pentru a schimba ora stării active. Apăsarea butonului o dată în acest meniu se schimbă de această dată la 1 s. De exemplu, dacă timpul necesar este de 10 secunde, atunci trebuie să apăsați butonul de 10 ori. Când parametrii sunt salvați, LED-ul va indica acest lucru cu clipiri frecvente.
  3. Selectarea modului de operare- folosit pentru a schimba modul de control al releului. Există două moduri de funcționare: activarea releului când este introdus codul corect și schimbarea stării releului (activare/dezactivare) când este introdus codul corect. La selectarea celui de-al doilea mod, dispozitivul va acționa după cum urmează: dacă releul este activat și este introdus codul corect, releul este dezactivat; data viitoare când este introdus codul corect, releul este activat. Pentru a schimba modul de operare: apăsați butonul o dată pentru a selecta primul mod și de două ori pentru a selecta al doilea mod.

Toți parametrii sunt stocați în memoria nevolatilă a microcontrolerului.

Circuitul este asamblat pe o placă de circuit imprimat cu două fețe.






Click pe imagine pentru marire

Descărcări

Fișier hexadecimal pentru programarea microcontrolerului -

  • Asamblat, fulgerat, funcționează! Placa a fost așezată ca una cu un singur strat.
  • cum l-am cusut (MULTUMESC anticipat)
  • Am flashat programul icprog105D, dar am făcut programatorul cu mult timp în urmă și nu-mi amintesc cum se numește. Dar nu au fost probleme cu firmware-ul. Am asamblat acest circuit în Proteus și a funcționat acolo.
  • Încărcați modelul pe Proteus.
  • Arhiva conține o diagramă, o animație și un sigiliu în Proteus 7.7 SP2 (Build9151) Nivelul 3. Pe placa de circuit imprimat, releul a fost luat dintr-un fel de alarmă de mașină, iar modelul pentru Proteus a fost făcut de mine, iar circuitul anime este ceva pe care îl puteți rula și verifica funcționarea circuitului în ansamblu. Am instalat un LED în loc de un releu pentru claritate.
  • Ideea de a face o blocare pe MK nu este rea, dar introducerea codului este incomod. Imaginați-vă că trebuie să formați 9, de câte ori trebuie să apăsați. Aveți nevoie de un indicator cu o cifră, țineți apăsat butonul până când apare numărul dorit, eliberați-l, iar numărul este memorat sau recunoscut în funcție de mod. Păcat că nu pot programa, altfel aș face asta. Toate încercările de a studia independent nu au fost încă încununate cu succes. Modelul a fost descărcat.
  • Cum îți place asta, un cod simplu și fără butoane pe ușă http://shema.org.ua/forum/index.php?...&st=0#entry781
  • Broasca este originala, dar poti pierde cheia si sa nu treci prin usa protejata de incuietoare. Dar cu un singur buton! Este greu de pierdut, dar și mai greu de găsit! Este nevoie de mult timp pentru a introduce codul, dar dacă vii cu el, folosește-l ca o secundă, de rezervă, ca să spunem așa! Într-un caz banal de simplu, ușile au fost trântite, dar cheile au fost lăsate în spatele ușilor. Și acest design, cu un singur buton, va ajuta! Dar este posibil să nu existe un buton; rolul butonului va fi jucat de mânerul aceleiași uși care s-a închis trântit. Nu voi explica mai departe și este clar.
  • Desigur, îl poți pierde sau îl poți lăsa vecinilor tăi, ca pe vremurile bune :) pur și simplu nu spune codul.

Dispozitivul este conceput pentru a proteja spațiile, dulapurile și seifurile împotriva deschiderii neautorizate. Toate setările și codul sunt stocate în memoria nevolatilă a microcontrolerului. Dispozitivul se bazează pe un microcontroler PIC16F628A(DD1 în diagrama din Fig. 1). După ce este aplicată alimentarea, programul de microcontroler își configurează porturile și, de asemenea, oprește sursa de tensiune de referință, modulul PWM de captură de comparație, temporizatoarele, comparatoarele și hardware-ul USART - aceste module nu sunt necesare pentru ca blocarea să funcționeze. Apoi începe sondajul de la tastatură.

Este format din două părți. Primul - butoanele SB3-SB 14 - este situat în afara obiectului protejat. Al doilea - butoanele SB1, SB2 și comutatorul SA1 - este situat în interior. Butoanele SB3-SB 13 din prima parte a tastaturii sunt combinate într-o matrice. Butonul SB 14 nu este inclus în matrice; este destinat să repornească microcontrolerul în cazul oricărei defecțiuni în program, precum și într-o serie de alte cazuri, care vor fi discutate mai jos.

Butonul SB1 „Deschis” este instalat în interior, lângă ușă. Apăsând-o, puteți deschide ușa din interior fără a introduce un cod. SB2 - buton de repornire a programului; butoanele SB2 și SB 14 sunt conectate în paralel. Butoanelor matricei li se atribuie următoarele denumiri: SB3 - "1", SB4 - "4", SB5 - "7", SB6 - "Open", SB7 - "2", SB8 - "5", SB9 - "8" , SB 10 - „0”, SB11 - „3”, SB 12 - „6”, SB 13 - „9”. Comutatorul SA1 selectează modul de închidere a blocării. Codul se introduce prin apăsarea scurtă alternativă a butoanelor numerice. Pentru a confirma apăsarea, se va auzi un scurt ton de la emițătorul piezo HA1, controlat de tranzistorul VT2.

Înainte de a deschide ușa, introduceți un cod din patru cifre cu pauze între apăsările alăturate de cel mult 3 s, apoi în 3 s trebuie să apăsați scurt butonul SB6. După 2 s, ieșirea RA0 a microcontrolerului DD1 se va seta la un nivel ridicat, tranzistorul VT1 se va deschide și electromagnetul va funcționa, care va muta șurubul de blocare, comprimându-și arcul, iar ușa se va deschide. Dacă pauza dintre apăsările adiacente depășește 3 s, se va auzi un semnal cu frecvență descrescătoare. Aceasta înseamnă că programul a început să ruleze din nou și codul trebuie introdus din nou. Dioda VD1 este proiectată pentru a proteja tranzistorul VT1 de o creștere a tensiunii de auto-inducție a înfășurării electromagnetului Y1. Inainte de declansarea electromagnetului, va suna un semnal de aceeasi frecventa ca la apasarea tastelor numerice, dar de durata mai mare, care semnaleaza ca usa se deschide.

Când contactele comutatorului SA1 sunt deschise, electromagnetul va închide încuietoarea după un anumit timp (implicit - 12 s). Acest timp este setat la programarea microcontrolerului. În programul care va trebui să fie încărcat în controler, în câmpul pentru lucrul cu EEPROM, în celula cu adresa 0x06 (a șaptea la rând), trebuie să introduceți un număr de la 0x01 la OxFF, la rata de 1 unitate = 2,5 s. Pauza minimă posibilă este de 2,5 s, maxim 10 minute.

Dacă contactele comutatorului SA1 sunt închise, adică intrarea RA4 a microcontrolerului DD1 este setată la un nivel scăzut, atunci blocarea este închisă după apăsarea butonului SB 14 sau SB2. După ce tranzistorul VT1 se închide, electromagnetul va fi dezactivat și arcul de blocare va împinge șurubul înapoi - ușa va fi blocată din nou.

Pentru a deschide ușa din interiorul camerei, apăsați butonul SB1 și țineți-l apăsat până când electromagnetul este activat, ceea ce este indicat printr-un semnal sonor care durează 2 secunde. Poți deschide oricând ușa din interior. Dacă ușa nu se deschide, trebuie să apăsați butonul SB2 (reporniți programul) și să apăsați din nou butonul SB1.

Când este necesar să schimbați codul, introduceți mai întâi pe cel vechi în același mod ca la deschiderea ușii, dar apoi apăsați butonul SB6 nu scurt, ci țineți-l apăsat până se aud trei tonuri. Apoi trebuie să eliberați imediat butonul SB6, să introduceți un nou cod din patru cifre și să apăsați imediat butonul SB6 din nou pentru a confirma introducerea. În continuare, un semnal va suna cu o frecvență crescândă, care va anunța că noul cod a fost acceptat. Este stocat în primele patru celule din memoria nevolatilă a microcontrolerului DD1.

Aparatul este echipat cu sistem de blocare. De fiecare dată când este introdus un cod incorect, încuietoarea va emite două bipuri la 1000 Hz și unul la 500 Hz. Controlerul consideră că este o eroare să apăsați butonul SB6 în timp ce există un cod incorect în registrele de lucru și să introduceți cinci cifre ale codului. După trei erori la rând, microcontrolerul DD1 va seta ieșirea RA2 la un nivel ridicat. Aceasta va deschide tranzistorul VT3, care va porni dispozitivul de alarmă. Acest dispozitiv poate fi o sirenă sau un apelator telefonic.

În același timp, LED-ul HL1 instalat pe panoul tastaturii se va aprinde, ceea ce va arăta că interogarea tastaturii (cu excepția comutatorului comutator SA1 și a butoanelor SB1, SB2, SB 14) este dezactivată. Aceasta este urmată de o pauză de zece minute, timp în care dispozitivul de alarmă funcționează și LED-ul HL1 este aprins. În acest timp, încuietoarea poate fi deschisă numai din interior. Dacă apăsați butoanele SB 14 și SB2 (butoanele de repornire a programului microcontrolerului), numărătoarea inversă de zece minute va începe din nou. După pauză, controlerul va oferi o singură oportunitate de a introduce codul, iar dacă acesta este incorect, pauza de zece minute cu activarea dispozitivului de alarmă se va repeta din nou. Și acest lucru va continua până când este introdus codul corect. De fiecare dată când codul este introdus corect, contorul de erori este resetat la zero.

class="eliadunit">

Dispozitivul este alimentat de o sursă de curent continuu cu o tensiune de 10... 15 V. Când alimentarea este întreruptă în rețeaua de 220 V, încuietoarea continuă să funcționeze din baterie. Diagrama celei mai simple versiuni a unei astfel de surse de alimentare este prezentată în Fig. 2. Transformatorul T1 reduce tensiunea rețelei 220 V la 15...20 V. Curentul maxim al înfășurării secundare a transformatorului nu trebuie să fie mai mic de 1,5 A DA1 - stabilizator de tensiune reglabil. Prin schimbarea rezistenței rezistorului de construcție R2, la ieșirea stabilizatorului DA1 se setează o tensiune la care curentul de încărcare al bateriei încărcate GB1 nu depășește 100...200 μA. Mai mult, în perioadele de consum mare de curent, când electromagnetul Y1 este declanșat, cea mai mare parte a curentului este furnizată de baterie, ceea ce permite stabilizatorului DA1 să nu fie supraîncărcat. Dioda VD5 este concepută pentru a proteja stabilizatorul DA1 în cazul lipsei tensiunii la intrarea acestuia.

Bateria trebuie să furnizeze un curent de 300...600 mA (capacitate - 7 Ah). Stabilizatorul DA1 trebuie instalat pe un radiator cu o suprafață de 30...40 cm 2. Tastatura poate fi realizată din butoane individuale. Potrivit, de exemplu, DIPTRONICS DTSMW-66N. Dar puteți folosi și o tastatură gata făcută de la un telefon cu buton sau un calculator. De regulă, puteți conecta cu ușurință o astfel de tastatură la un dispozitiv prin asamblarea butoanelor într-o matrice adecvată. De asemenea, este necesar să plasați LED-ul HL1 pe panoul tastaturii.

Emițătorul piezo este potrivit pentru oricare dintre seria ZP. Electromagnetul Y1 este utilizat de la mecanismul de acționare a casetei al magnetofonului, dar oricare altul este potrivit, potrivit ca dimensiune și cu un curent maxim de înfășurare de cel mult 1,3 A. Dacă curentul consumat de electromagnet este mai mare de 1 A, atunci tranzistorul VT1 trebuie instalat pe un radiator cu o suprafață de 30.. .40 cm 2 .

Diagrama schematică a unui sistem de securitate cu două niveluri, care este construit folosind microcontrolere AVR din seria ATMega. Nivelul 1 de securitate - lacăt cu combinație. Nivelul 2 de securitate - dispozitiv de securitate. Două plăci funcționale incluse în sistem sunt bazate pe microcontrolere ATmega 8535.

Schema structurala

Microcontrolerele (familii AVR, MCS-51 etc.) cu arhitectura lor, resursele software și hardware, precum cuburile digitale, sunt ideale pentru dezvoltarea diferitelor dispozitive de securitate, alarme, încuietori cu combinație etc.

Orez. 1. Schema bloc a sistemului de securitate.

Sistemul (Fig. 1) are două componente principale: încuietoare cu combinație A2 și dispozitiv de securitate A1. Dispozitivul de securitate A1 are 24 de linii de intrare independente la care sunt conectate întrerupătoarele de limită S1...S24. Aceste comutatoare controlează starea ferestrelor 01...05, ușilor D1, trapelor L1, L2.

Numărul obiectelor de control de mai sus poate varia și este legat de fiecare local specific sau perimetru protejat.

Numărul de dispozitive de securitate A1 și încuietori cu combinație A2 utilizate, de asemenea, nu este limitat în niciun fel și este determinat de condițiile de securitate, de gradul de protecție, de caracteristicile clădirilor, spațiilor etc. Este clar că întrerupătoarele de cursă S1... S24 poate controla acele uși, la care accesul la trape este limitat de încuietoare cu cod (sau încuietori cu combinație) A2. Schema schematică a lacătului cu combinație este prezentată în Fig. 2.

Diagramă schematică

Să luăm în considerare funcționarea dispozitivului de securitate. Elementele externe (la distanță) în raport cu dispozitivul sunt 24 de întrerupătoare de limită (S1...S24), care vă permit să controlați starea a 24 de obiecte (de exemplu, o ușă). Un comutator limită controlează starea unei uși. Dacă ușa este închisă, întrerupătorul de limită este deschis.

Utilizatorul (operator, dispecer) poate verifica vizual starea ușii pe baza stării indicatorului.

Dacă ușa este deschisă, întrerupătorul de limită este închis. Indicatorul clipește periodic. Dacă ușa este închisă, întrerupătorul de limită este deschis. Indicatorul nu este aprins (stins). Lăsați comutatorul de limită S1 să fie instalat în ușa nr. 1. Lăsați comutatorul de limită S2 să fie instalat în ușa nr. 2 etc.

Dacă ușa nr. 1 este deschisă, indicatorul HL2 clipește periodic (dacă ușa nr. 1 este închisă, indicatorul HL2 este stins). Dacă ușa nr. 2 este deschisă, atunci indicatorul HL3 clipește periodic (dacă ușa nr. 1 este închisă, indicatorul HL3 este stins), etc.

Autorul nu se va opri asupra niciunui design specific al instalării comutatorului de limită, precum și asupra designului dispozitivului în sine. Interfața de monitorizare și control a dispozitivului include: întrerupătoare basculante SA1, SA2, indicatoare HL1...HL25. Din punct de vedere structural, este recomandabil să plasați toate elementele de mai sus pe un panou de control separat.

Orez. 2. Schema schematică a unui lacăt cu combinație pentru un sistem de securitate.

Elementele de interfață de control al dispozitivului au următoarele scopuri:

  • SA1 (SECURITY) - comutator de alarmă. Când acest comutator este setat în poziția „ON”, dispozitivul este armat. Dispozitivul este armat după ~ 10 secunde. din momentul în care comutatorul basculant SA1 este instalat în poziția „ON” din poziția „OFF”. După armare, alarma este declanșată ~ 10 secunde din momentul în care orice comutator de limită S1...SA24 este închis.
  • SA2 - comutator de sunet. Acest comutator basculant funcționează numai în modul de monitorizare a stării ușii. Comutatorul SA1 trebuie setat în poziția „OPRIT”. Când setați comutatorul SA2 în poziția „ON”, când deschideți orice ușă cu un emițător piezoelectric BA1, veți emite imediat un semnal sonor care durează ~ 2 secunde. Dacă acest comutator este în poziția „OPRIT”, atunci când orice ușă este deschisă, numai indicatorul corespunzător va clipi periodic, emițătorul piezoelectric BA1 va fi oprit.
  • HL1 - indicator de activare a modului de securitate. Dacă dispozitivul este în modul „securitate”, acest indicator este aprins; dacă se află în modul „control stare uși”, acest indicator este stins.

Alarma este declanșată - aceasta înseamnă: releul K1 este pornit permanent. Pinii 5 și 6, precum și 2 și 3 ai acestui releu sunt închise. Emițător piezoelectric BA1 - se pornește și se oprește cu o perioadă de ~ 1 secundă. Pentru a opri alarma, comutatorul SA1 trebuie să fie setat în poziția „OPRIT”.

Să luăm în considerare principalele componente funcționale ale schemei de circuit a dispozitivului. Baza dispozitivului este microcontrolerul DD1, a cărui frecvență de funcționare este setată de un generator cu un rezonator extern ZQ1 la 10 MHz.

Orez. 3. Schema schematică a unui dispozitiv de securitate pe un microcontroler.

La portul PD al microcontrolerului DD1 sunt conectate comutatoarele SA1, SA2 cu un emițător piezoelectric BA1, indicator HL1 și o cheie pe tranzistoarele VT1, VT2 pentru controlul releului K1. Limitatoarele S1...S24 si indicatoarele HL2...HL25 sunt conectate la porturile PB, RA, PC ale microcontrolerului DD1.

Alimentarea acestor indicatori este furnizată printr-un comutator de pe tranzistorul VT3, care este controlat de la pinul 21 al microcontrolerului DD1. Rezistoarele R10...R17, R20...R27, R28...R35 sunt limitatoare de curent pentru indicatorii HL2...HL25. Rezistorul R8 limitează curentul pentru indicatorul HL1.

Releul K1 este controlat corespunzător de la pinul 14 al microcontrolerului DD1. Tensiunea de alimentare +12 V și +5 V este furnizată dispozitivului de la conectorul XI. Condensatorul C5 filtrează ondulațiile în circuitul de alimentare de +5 V. Condensatoarele de blocare C4 sunt amplasate de-a lungul circuitului de alimentare al microcontrolerului DD1.

În algoritmul de funcționare al dispozitivului se pot distinge două moduri de funcționare: modul de monitorizare a stării ușii și modul de securitate. Să luăm în considerare algoritmul de funcționare a dispozitivului în modul de monitorizare a stării ușii. Țineți toate ușile unității protejate închise. Comutatorul SA1 este în poziția „OPRIT”.

Comutatorul SA2 este în poziția „ON”. După ce dispozitivul este alimentat, în timpul inițializării, jurnalele sunt scrise pe toți biții porturile PB, RA și PC ale microcontrolerului DD1. 1. Comutatoarele de pe tranzistoarele VT1...VT2 sunt închise, indicatorul -HL1 este stins.

Indicatoarele HL2...HL25 sunt stinse. Întrerupătoarele de limită S1...S24 sunt deschise. Un semnal periodic (undă pătrată) cu o perioadă de aproximativ 1 s este generat de la pinul 21 al microcontrolerului DD1. Dacă deschideți ușa nr. 1, întrerupătorul de limită S5 se va porni.

Indicatorul HL2 va clipi periodic cu o perioadă de ~ 1 secundă. Emițătorul piezoelectric BA1 va produce un semnal sonor cu o durată de ~ 3 secunde.

Dacă deschideți ușa nr. 2, comutatorul de limită S6 se pornește. Indicatorul HL2 va clipi periodic cu o perioadă de ~ 1 secundă. Emițătorul piezoelectric BA1 va produce un semnal sonor care durează ~ 2 secunde etc. Dacă setați comutatorul SA2 în poziția „ON”, atunci când orice întrerupător de limită este închis (când se deschide orice ușă), indicatorul corespunzător va clipi.

Să luăm în considerare funcționarea dispozitivului în modul de securitate. Țineți toate ușile unității protejate închise. Comutatorul SA1 este setat pe „OFF”.

Dispozitivul intră în modul de securitate la ~10 secunde după setarea comutatorului SA1 în poziția „ON”. În acest timp, este necesar să închideți toate ușile și să părăsiți unitatea protejată. Este clar dacă perimetrul obiectului protejat este suficient de mare și în 10 secunde. Este imposibil să închideți toate ușile, atunci toate ușile trebuie închise înainte de a arma obiectul.

Dacă în modul de securitate oricare dintre întrerupătoarele de limită S1...S24 este pornit (orice ușă este deschisă), atunci un semnal de nivel logic de 0 va fi prezent la ieșirea corespunzătoare a porturilor PB, PA, PC ale microcontrolerului DD1. apoi după ~ 10 sec. Alarma sonoră se va porni (emițător piezoelectric BA1). În acest caz, la pinul 14, microcontrolerul DD1 va seta nivelul la log.0 (releul K1 se va porni).

Dacă un „prieten” pătrunde în obiectul protejat, atunci trebuie să seteze comutatorul SA1 în poziția „OPRIT” în aproximativ 10 secunde, altfel alarma se va declanșa. Este clar că accesul la comutatorul SA1 ar trebui limitat.

Dacă un „străin” intră într-un obiect protejat (printr-o ușă deschisă), atunci are nevoie de ~10 secunde. Găsiți comutatorul SA1 și setați-l în poziția „OPRIT”. Alarma se va porni și dacă oricare dintre întrerupătoarele de limită S1...S24 se aprinde pentru o perioadă scurtă de timp (de exemplu, închideți și închideți imediat ușa). Contactele releului K1 pot fi folosite pentru a închide circuitele de comandă sau pentru a alimenta diferite dispozitive de acţionare, de exemplu, pentru un mecanism de blocare a uşii sau pentru a porni o sirenă (urlă).

Programul dezvoltat în asamblare ocupă doar aproximativ 0,4 KB de memorie de program a microcontrolerului DD1. Resurse hardware neutilizate (liniile PD6, PD7) și software (aproximativ 7,6 KB) ale microcontrolerului DD1 pot fi utilizate pentru opțiuni suplimentare.

De exemplu, puteți instala câteva butoane și adăugați funcția de armare și dezarmare a dispozitivului printr-un cod de acces sau controlați alte dispozitive de acționare. După ce ați înțeles programul, puteți înlocui parametrii dispozitivului setați de software:

  • perioada de clipire a indicatorului HL1;
  • durata semnalului sonor de la emițătorul piezoelectric BA1 în modul de monitorizare a stării ușii;
  • timpul de armare a dispozitivului, precum și timpul de întârziere pentru pornirea alarmei.

Dispozitivul folosește rezistențe S2-ZZN-0.125; orice altele cu aceeași putere de disipare și o eroare de 5% vor face. Condensator C5 tip K50-35. Condensator C1...C4 tip K10-17a. Condensatorul C4 este instalat între circuitul +5V și conductorul comun al microcontrolerului DD1. Comutatoare comutatoare SA1...SA2 tip MTD1.

Releu K1, tip RES48B, versiunea RS4.590.202-01. Aceste relee, cu o tensiune de funcționare de 12 V (sau cu o altă tensiune de funcționare), pot fi selectate pentru fiecare caz specific, ținând cont de curentul și tensiunea comutată a actuatorului conectat.

Puteți alege absolut orice întrerupătoare de limită pentru fiecare caz specific. Acesta ar putea fi un buton de tip PKN124 sau, de exemplu, un comutator de cale impermeabilă de tip VPK2111. Emițător piezoelectric BA1-НРМ14АХ.

Tranzistor VT1 - KT829A. Tranzistoare VT2, VT3 -KT3107E. Indicator HL1 - AL307AM, roșu. Indicatorul HL1 poate fi înlocuit cu oricare altul, de preferință cu un curent direct maxim de până la 20 mA.

Să luăm în considerare funcționarea unei încuietori cu combinație (denumită în continuare lacăt) conform figurii 3. Algoritmul funcționării acesteia este destul de simplu: în modul de scriere, un cod este introdus în EEPROM-ul microcontrolerului, care constă din 4 zecimale. cifre și se tastează pe o tastatură cu 7 butoane. În continuare, pentru verificare, codul înregistrat este citit în modul citire. În modul de funcționare, încuietoarea așteaptă introducerea unui cod.

Microcontrolerul scrie codul introdus în RAM și îl compară octet cu octet cu codul scris în EEPROM. Dacă codurile se potrivesc, microcontrolerul trimite un semnal timp de cinci secunde pentru a porni mecanismul de deschidere a blocării.

În plus, procedura de formare a unui cod poate fi deschisă (codul format este afișat pe afișaj, fiecărui buton apăsat i se atribuie un număr pe afișaj) și închisă (la formarea unui cod, pe afișaj sunt afișate simboluri identice, predeterminate). , fiecărui buton apăsat i se atribuie un simbol specific, de exemplu).

Există un comutator separat în blocare în acest scop. Pentru a activa codul din 4 cifre afișat pe afișaj în modul înregistrare și în modul de operare, trebuie doar să apăsați orice buton de pe tastatură.

Interfața dispozitivului include o scară, indicator de sinteză a caracterelor HG1, o unitate de indicare (afișaj) de indicatoare digitale cu șapte segmente HG2...HG4, comutator SA1 și o tastatură (butoane S1...S8).

Butoanele S1...S7 sunt desemnate prin numere de la „1” la „7”. Aceste butoane setează codul de introducere Butonul S8 (P) setează, într-un ciclu, unul dintre cele trei moduri de funcționare: „modul nr. 1”, „modul nr. 2”, „modul nr. 3”. După modul nr. 3, modul nr. 1 este activat.

Elementul nr. 1 al indicatorului HG1 este pornit când se lucrează în modul nr. 1”, elementul nr. 2 al indicatorului HG1 este pornit când se lucrează în modul nr. 2, iar elementul nr. 3 este pornit, respectiv, când se lucrează în modul nr. 3. Pe un afișaj cu 5 cifre (indicatorul cu indicatoare digitale duale HG2, HG3 afișează codul introdus. Indicatorul HG4 afișează simbolurile „3” (când încuietoarea este închisă) și „0” (când încuietoarea este închisă) este deschis).

Comutatorul SA1 setează modul de afișare a codului pe afișajul dispozitivului. Dacă acest comutator este în poziția „1”, atunci codul specificat de la tastatură este afișat pe afișajul dispozitivului. Dacă se află în poziția „2” (mod ascuns), atunci când tastați un cod, simbolurile sunt afișate în fiecare cifră pe afișajul dispozitivului

În modul nr. 1 (modul de funcționare), lacătul este gata să introducă un cod pentru a deschide încuietoarea (dacă, desigur, codul a fost scris anterior în EEPROM). Înainte de a forma codul, pe afișaj este afișat codul 0000. Elementul nr.1 al indicatorului HG1 este pornit (celelalte elemente ale indicatorului HG1 sunt oprite).

Indicatorul HG4 afișează simbolul „3” (închis). Folosind butoanele S1...S7, se formează un cod din 4 cifre. Codul format este indicat pe display. După apăsarea oricăruia dintre butoanele S1...S7, microcontrolerul scrie codul primit pe 4 biți în RAM și începe să verifice codul scris în RAM și codul scris în EEPROM. Codurile sunt comparate octet cu octet.

Dacă comparația a avut succes, microcontrolerul trimite un semnal la actuatorul de deschidere a broaștei. Elementul nr. 4 al indicatorului HG1 se aprinde timp de cinci secunde, indicatorul HG4 afișează simbolul „O” (deschis) și jurnalul este setat. 0 pe pinul 21.

După cinci secunde, elementul nr. 4 al indicatorului HG1 se stinge și un jurnal este setat la pinul 21. 1. Afișajul arată din nou codul 0000. Indicatorul HG4 afișează din nou simbolul „3” (închis).

În modul nr. 2 (modul de înregistrare), codul secret este scris în EEPROM. Afișajul arată codul 0000. Elementul nr. 2 al indicatorului HG1 este pornit. Indicatorul HG4 afișează simbolul „3” (închis). Utilizați butoanele SI...S7 pentru a forma codul. Codul format este indicat pe display.

Microcontrolerul scrie codul din 4 cifre afișat pe afișaj pe EEPROM după apăsarea oricăruia dintre butoanele 51...57. După scrierea codului, afișajul arată din nou codul 0000.

În modul nr. 3 (modul de verificare a codului înregistrat), se verifică codul secret înregistrat în EEPROM. Elementul nr. 3 al indicatorului HG1 este pornit. Indicatorul HG4 afișează simbolul „3” (închis). Codul înregistrat în EEPROM este indicat pe afișaj.

Este clar că accesul la butonul S8 și comutatorul SA1 ar trebui limitat. Din punct de vedere structural, acest lucru nu este atât de greu de făcut.

Să luăm în considerare principalele componente funcționale ale dispozitivului (Fig. 3). Baza dispozitivului este microcontrolerul DD1, a cărui frecvență de funcționare este setată de un generator cu un rezonator extern ZQ1 la 11,0592 MHz. Portul PD al microcontrolerului DD1 controlează indicația dinamică.

Indicatorul dinamic este asamblat pe tranzistoarele VT1...VT5, indicatoare duale, digitale, cu șapte segmente HG2, HG3 și un singur indicator digital HG4. Rezistoarele R7...R14 sunt limitatoare de curent pentru segmentele indicatoare HG2...HG4. Codurile pentru pornirea indicatorilor de mai sus atunci când indicația dinamică funcționează sunt trimise la portul PC al microcontrolerului DD1.

Pentru ca tastatura să funcționeze, se folosește pinul 19 (PD5) al microcontrolerului DD1. Elementele indicatorului de scară HG1 sunt conectate la pinii portului PB al microcontrolerului DD1. Rezistoarele R2...R5 sunt limitatoare de curent pentru elementele indicator HG1.

Imediat după ce este aplicată alimentarea, un semnal de resetare hardware a sistemului pentru microcontrolerul DD1 este generat la pinul 9 al microcontrolerului DD1 printr-un circuit RC (rezistor R1, condensator C3). Afișajul arată codul 0000. Elementul nr. 1 al indicatorului HG1 este pornit. Indicatorul HG4 afișează simbolul „3” (închis).

Tensiunea de alimentare +5V este furnizată dispozitivului de la conectorul XI. Condensatorul C5 filtrează ondulațiile din circuitul de alimentare de +5 V. Condensatorul de blocare C4 este situat de-a lungul circuitului de alimentare DD1.

Foarte pe scurt despre program. Programul folosește două întreruperi: Resetare și întreruperea temporizatorului TO, al căror handler începe cu eticheta TIM0. Când treceți la eticheta Reset, stiva, temporizatorul, porturile, precum și steagurile și variabilele utilizate în program sunt inițializate.

Temporizatorul TO generează întreruperi de depășire (bitul TOIE0 este setat în registrul TIMSK). Factorul de pre-diviziune a ceasului cronometrului este setat la 64 (numărul 3 este scris în registrul TCCR0).

În programul principal sunt incluse elemente ale indicatorului HG1. Elementele incluse ale acestui indicator, așa cum s-a menționat mai sus, determină modul de funcționare curent al blocării. În gestionarea întreruperii temporizatorului TO se efectuează următoarele: procedura de interogare a butoanelor S1...S8, funcționarea indicației dinamice, scrierea unui cod secret în EEPROM, citirea unui cod secret din EEPROM, conversia unui număr binar într-un cod pentru afișarea informațiilor despre indicatoarele dispozitivului cu șapte segmente, precum și durata intervalului de timp de cinci secunde necesară pentru a porni actuatorul solenoid.

Un buffer de afișare pentru afișarea dinamică este organizat în memoria RAM al microcontrolerului de la adresa $61 la adresa $70. Mai jos este distribuția detaliată a spațiului de adrese din RAM-ul microcontrolerului.

  • $60 este adresa de pornire a RAM-ului microcontrolerului.
  • $61...$64 - adrese unde sunt stocate codul specificat pentru deschiderea încuietorului și simbolul „3”. Aceste adrese sunt afișate în modul nr. 1 (buffer nr. 1).
  • $66...$69 - adrese unde sunt stocate codul citit din EEPROM și simbolul „3”. Aceste adrese sunt afișate în modul nr. 3 (buffer nr. 2).
  • $6С...$70 - adrese unde sunt stocate simbolurile de tastare ascunse și simbolul „3”. Aceste adrese sunt afișate în modul nr. 1 (buffer nr. 3).

Drapelele implicate în program sunt localizate în registrele R19 (flo) și R25 (flo1).

Programul de asamblare dezvoltat ocupă aproximativ 1,2 KB de memorie de program. După ce ați înțeles programul, cu modificări minore ale schemei de circuit, folosind resursele hardware și software gratuite ale microcontrolerului DD1, puteți, de exemplu, să creșteți numărul de cifre de pe afișaj și numărul de butoane sau să adăugați o alarmă sonoră.

Sunt utilizate rezistențe de tip C2-ZZN; sunt potrivite orice altele cu aceeași putere de disipare și o eroare de 5%. Condensatoare C1...C4, tip - K10-17a, C5 - K50-35a. conector XI tip WF-4. Condensatorul C4 este instalat între circuitul +5V și conductorul comun al microcontrolerului DD2. Pentru a testa prototipul, a fost folosit un comutator SA1 de tip VDMZ-8.

Pentru instalarea într-o carcasă bloc, puteți utiliza, de exemplu, un comutator de tip MTZ. Afișajul are o cifră evidențiată care indică simbolurile „3” și „O” (indicatorul HG4) pe fundalul celorlalte cifre ale interfeței. Prin urmare, pentru această categorie, au fost selectați un indicator verde HDSP-F501 cu șapte segmente și indicatorii verzi DA56-11GWA HG2, HG3.

Blocarea și dispozitivul de securitate nu necesită nicio configurație sau reglare. Când sunt instalate corect, acestea încep să funcționeze imediat.

Codul sursă și firmware-ul programelor - Descărcare (8 KB).

Shishkin S.V. RK-07-16.

Literatură:

  1. A. V. Belov Creăm dispozitive pe microcontrolere.
  2. S. V. Şişkin. Blocare cu combinație bazată pe un microcontroler. R-10-2011.
Răspuns

Lorem Ipsum este pur și simplu un text fals al industriei de tipărire și de tipărire. Lorem Ipsum a fost textul fals standard al industriei încă din anii 1500, când o imprimantă necunoscută a luat o bucătărie de tipărire și a amestecat-o pentru a face o carte cu specimene de tipar. A supraviețuit nu numai cinci http://jquery2dotnet.com/ secole. , dar și saltul în compunerea electronică, rămânând în esență neschimbat.A fost popularizat în anii 1960 odată cu lansarea foilor Letraset care conțineau pasaje Lorem Ipsum, iar mai recent cu software-ul de publicare desktop precum Aldus PageMaker care include versiuni de Lorem Ipsum.

Acest design se caracterizează prin simplitatea designului circuitului; pentru a introduce codul, se folosește un singur buton, care trebuie apăsat de un anumit număr de ori, în conformitate cu cifra codului, observând o pauză la introducerea următoarei cifre. Numărul de cifre din cod este de 4. Pentru a crește secretul, puteți plasa o tastatură în care va fi activ un singur buton pentru introducerea codului. Dacă este introdus codul corect, sistemul va activa releul, dar este posibilă configurarea altor funcții atunci când sistemul este activat; pentru aceasta va trebui să treceți în modul de programare a dispozitivului.

Dispozitivul poate fi utilizat în sistemele de control al ușilor de garaj, sistemele de control al iluminatului și sistemele de securitate.

Elementul principal al circuitului este microcontrolerul PIC16F628A, care monitorizează apăsarea butonului, anunță vizual utilizatorul când comanda a fost primită și controlează starea releului. Pentru vizualizare, se folosește un LED, care este conectat în paralel cu butonul de introducere a codului, care vă permite să utilizați doar două fire pentru a instala și conecta butonul în locația dorită.
Pentru alimentarea dispozitivului, este necesară o sursă de alimentare de 12 V; circuitul conține un regulator de tensiune LM7805. LED-ul D3 indică alimentarea cu energie.
Sistemul are două moduri de funcționare: modul normal și modul de programare. În modul normal, dispozitivul își îndeplinește sarcina principală - monitorizează apăsările butoanelor și reacționează atunci când codul este introdus corect. În modul de programare sunt configurați parametrii de bază ai sistemului: cod, timp de activare, mod de funcționare.
Pentru a schimba modul de funcționare (normal/programare), se folosește comutatorul JP1. Când întrerupătorul este oprit - modul de funcționare normal, când este pornit - modul de programare (setări). Trebuie remarcat că într-un mod sau altul este intrat atunci când este aplicată alimentarea (starea comutatorului este verificată de microcontroler când este aplicată alimentarea). Prin urmare, pentru a intra în modul de configurare, trebuie să setați comutatorul și să aplicați puterea; pentru a ieși din modul, trebuie să opriți comutatorul, să opriți și apoi să porniți alimentarea.

Pentru a introduce un cod de forma 1234, secvența de acțiuni este următoarea:
apăsați butonul 1 dată;
așteptați confirmarea vizuală de către LED-ul de pe buton (LED-ul va clipi o dată);
apăsați butonul de două ori;

apăsați butonul de trei ori;
așteptați confirmarea vizuală de către LED-ul de pe buton;
apăsați butonul de 4 ori.
După introducerea celei de-a patra cifre, sistemul va funcționa în conformitate cu modul de funcționare setat. Dacă a fost introdus un cod incorect, utilizatorul va vedea o alertă vizuală (LED intermitent).
Pentru a seta parametrii de blocare, se folosește modul de programare. În acest mod, pentru a vă deplasa între opțiuni, butonul este apăsat și menținut timp de 3 secunde. După eliberarea butonului, veți trece la următorul element de meniu, iar LED-ul va indica prin numărul de clipiri în ce element de meniu vă aflați (de exemplu, flash, flash, pauză, flash, flash, pauză,... - înseamnă că al doilea element de meniu este selectat).

Opțiuni de meniu:

Schimbarea codului– folosit pentru a schimba codul utilizatorului. Pentru modificare, codul este introdus în același mod ca în funcționarea normală. Când noul cod este salvat, LED-ul va indica acest lucru cu clipiri frecvente;
Modificarea timpului de activare– folosit pentru a schimba ora stării active. Apăsarea butonului o dată în acest meniu se schimbă de această dată la 1 s. De exemplu, dacă timpul necesar este de 10 secunde, atunci trebuie să apăsați butonul de 10 ori. Când parametrii sunt salvați, LED-ul va indica acest lucru cu clipiri frecvente.
Selectarea modului de operare– folosit pentru a schimba modul de control al releului. Există două moduri de funcționare: activarea releului când este introdus codul corect și schimbarea stării releului (activare/dezactivare) când este introdus codul corect. La selectarea celui de-al doilea mod, dispozitivul va acționa după cum urmează: dacă releul este activat și este introdus codul corect, releul este dezactivat; data viitoare când este introdus codul corect, releul este activat. Pentru a schimba modul de operare: apăsați butonul o dată pentru a selecta primul mod și de două ori pentru a selecta al doilea mod.

Toți parametrii sunt stocați în memoria nevolatilă a microcontrolerului.

Circuitul este asamblat pe o placă de circuit imprimat cu două fețe.

Acțiune