Multifuncțională încheietura ceas a condus
După cum sugerează și numele, scopul principal al acestui dispozitiv - să recunoască ora și data curente. Dar încă mai are multe alte caracteristici utile. Crearea sa a venit dupa ce am dat peste ceas poluslomannye cu o carcasă metalică relativ mare (pentru ceasuri). M-am gândit că este posibil să se introducă un ceas de casă ale cărui capacități sunt limitate doar de imaginația și priceperea ta. Rezultatul este un dispozitiv cu următoarele caracteristici:
1. Ceas - calendar:
Numărarea și de ieșire pentru afișarea de ore, minute, secunde, ziua, data, luna, anul.
Disponibilitatea reglarea automată a orei curente, care se face la fiecare oră (valorile maxime +/- 9999 u 1 u = 3.90625 ms).
Calcularea zi a săptămânii pentru data (pentru acest secol)
vară automată și timpul de iarnă (oprit)
Poate că această funcționalitate și redundantă, dar îmi place versatilitatea de lucruri bine, plus satisfacția morală din faptul că aceste ceasuri vor fi făcute cu propriile mâini.
ore diagramă schematică
Dispozitivul este construit pe microcontroler ATmega168PA-AU. Ticăitul ceasului timer T2 funcționează în modul asincron de la ceas de cuarț, la 32,768 Hz. Cea mai mare parte a timpului microcontrolerul este în modul sleep (LED-ul este oprit), trezesc în fiecare secundă pentru a putea adăuga acest moment la ora actuală și se duce înapoi la culcare. În modul activ, MC este cronometrat de oscilatorul RC intern este de 8 MHz, dar prescaler intern se divide cu 2, rezultând în miezul este cronometrat de 4MHz. Este folosit pentru a indica patru singură cifră cu șapte segmente LED afișaj digital anod comun c și punctul zecimal. Deoarece există un LED de stare 7, scopul care urmează:
Simptom valoare negativă D1 (minus)
D2- Simptom de funcționare cronometru (intermitent)
D3- Simptom inclus prima alarmă
Simptom a inclus doua alarmă D4-
D5- sunet semnal de alimentare Simptom la începutul fiecărei ore
D6- Simptom de funcționare temporizator (intermitent)
Simptom D7- baterie joasă tensiune
R1-R8 - rezistențe de limitare a curentului HG1-HG4 și D1-D7 cu LED-uri segmente de display-uri digitale. R12, R13 - un separator pentru a monitoriza tensiunea bateriei. Deoarece tensiunea de ceas 3V, și emițătoare de lumină albă D9 diodă durează aproximativ 3,4-3,8V la un consum de curent nominal, nu strălucește la putere maximă (dar este suficient pentru a face să nu se poticnească în întuneric) și, prin urmare, conectat fără un rezistor de limitare a curentului. Elementele R14, Q1, R10 sunt concepute pentru a controla în infraroșu diode emițătoare de lumină D8 (implementarea control la distanță pentru camerele digitale). R19, R20, R21 servesc la interfață atunci când comunicarea cu dispozitive cu interfață 1-Wire. Controlată de trei butoane, pe care am numit convențional: mod (mod), UP (sus), DOWN (jos). Primul dintre acestea sunt destinate, de asemenea, MK-up pe întrerupere externă (indicația este inclus), astfel încât acesta este conectat separat la intrarea PD3. Apăsarea alte butoane este determinată prin utilizarea ADC și R16 rezistențe, R18. Dacă butonul nu este apăsat timp de 16 secunde, apoi MC adoarme și se stinge. Când vă aflați în „telecomanda pentru aparatul de fotografiat“, acest interval este de 32 de secunde. și când lanterna - 1 minut. MK, de asemenea, pot fi puse în jos manual, folosind butoanele de comandă. Când cronometrul se execută în trepte de 0,01 conturi secunde. dispozitivul nu intră în modul inactiv.
PCB
Dispozitivul este asamblat placă de circuit cu două fețe imprimate pe o formă rotundă cu diametru interior de dimensiuni ale corpului de wristwatches. Dar când am folosit fabricarea plăcilor grosime două fețe de 0,35 mm. Din nou, o astfel de grosime este primit exfoliat din fibra de sticla duble de 1,5 mm grosime. Apoi, placi de lipici. Toate acestea a fost făcut pentru că nu am avut un strat subțire din fibră de sticlă cu două fețe, și fiecare grosime milimetru salvate într-un spațiu limitat intern al cazului de ceas este foarte valoroasă, și a eliminat necesitatea alinierii la fabricarea conductorilor imprimate de UTT. Desen de PCB și localizare sunt detalii în fișierul atașat. Pe de o parte a indicatorilor și rezistențe de limitare a curentului R1-R8 sunt aranjate. Pe revers - toate celelalte detalii. Există două găuri de trecere pentru LED-uri albe și infraroșu.
Butoanele de contact și suportul pentru baterii sunt realizate din tablă de oțel pentru arcuri grosime flexibila de 0,2 ... 0,3 mm. și conserve. Mai jos sunt fotografii de pe cartela de pe ambele părți:
Proiectare, detalii și pentru o eventuală înlocuire
ATmega168PA-AU microcontroler poate fi înlocuit cu ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Indicatorii digitale - 4 buc KPSA02-105 Superbright strălucire roșie, cu o înălțime de 5,08mm cifre. aprovizionare poate rezerva din aceeași serie KPSA02-xxx sau KCSA02-xxx. (Nu verde - vor leșina de lumină) Alte omologii de dimensiuni similare cu necunoscut luminozitate decente pentru mine. In HG1, HG3 catozi compuse segmente diferă de HG2, HG4, pentru că am fost atât de convenabil pentru PCB layout. Prin urmare, pentru ei în program se aplică diferit de masă generator de caractere. Ca rezistoare SMD utilizate și condensatori pentru SMD dimensiuni 0805 și 1206 de LED-uri de dimensiune D1-D7 0805. Alb și LED-uri în infraroșu de 3 mm. Placa are 13 prin găuri în care aveți nevoie pentru a seta jumperi. Deoarece senzorul de temperatură DS18B20 aplicat c interfață 1-Wire. LS1 - tweeter piezoelectric convențional este introdus în capacul. Un terminal este conectat la placa cu ajutorul unor arcuri, montate pe acesta, celălalt conectat la capacul carcasei în sine ore. Cristalul de un ceas de mână.
Software-ul, firmware, Fyuz
Pentru programarea în circuit pe bord există doar 6 rotunde de contact bot (J1), ca și conectorul de înaltă calitate nu se încadrează în înălțime. Pentru programator le conecta folosind dispozitivul de contact este realizat dintr-un PLD2x3 pini și lipire pentru a le arcuri, care le deține cu o singură mână pentru purcel. Mai jos este o fotografie în formă.
L-am folosit, la fel ca în procesul de depanare a avut de multe ori pentru a reflash MC. Atunci când un singur firmware-ul mai ușor de lipire la purcel fire subțiri conectate la programator, și apoi din nou la unsolder. MK mai ușor de a coase fără baterie, dar puterea este furnizată sau de la o sursă externă + 3V, sau prin programare c aceeași tensiune. Programul este scris în limbaj de asamblare în VMLAB 3.15 mediu. Codul sursă, firmware-ul pentru a FLASH și EEPROM în aplicație.
DD1 microcontroler fuse-biți trebuie să fie programată după cum urmează:
• CKSEL3. 0 = 0,010 - sincronizare de la un oscilator RC intern este de 8 MHz;
• SUT1. 0 = 10 - Timp de pornire: 6 CK + 64 ms;
• CKDIV8 = 1 - un divizor de frecvență 8 să fie dezactivat;
• CKOUT = 1 - Ceas de ieșire pe CKOUT interzise;
• BODLEVEL2 ... 0 = 111 - tensiunea de alimentare de control este dezactivată;
• EESAVE = 0 - EEPROM radierii atunci când programează un cristal este interzisă;
• WDTON = 1 - Nu includerea permanentă Watchdog timer;
Restul FUSE - biți mai bine să nu se atingă. biți FUSE-programate, în cazul în care este setat la „0“.
Este nevoie de EEPROM firmware-ului inclus în groapa de gunoi arhivă.
Primele celule situate EEPROM parametrii inițiali ai dispozitivului. Tabelul de mai jos descrie funcțiile unora dintre ele, care pot fi modificate în limite rezonabile.
Punct explicație mici cu punct:
2 alin. Din moment ce nu am instalat la bord un rezistor variabil pentru reglarea preciziei de măsurare a tensiunii bateriei din cauza lipsei de spațiu, am introdus software-ul de calibrare. Pentru a calibra pentru măsurarea precisă a următoarele: coeficientul inițial în celula EEPROM 1024 este scris (400 $), este necesar pentru a pune aparatul în modul activ și uita-te la tensiunea de afișare, și imediat voltmetru pentru a măsura tensiunea reală a bateriei. Factorul de corecție (K) trebuie setat se calculează conform formulei: K = UP / Ui * 1024 unde UP - real tensiunea măsurată prin Ui voltmetru - tensiune, care măsoară dispozitivul însuși. După calculul coeficientului „K“, se va purta în dispozitiv (așa cum este precizat în manualul de instrucțiuni). După calibrarea eroarea mea nu depășește 3%.
3 alin. Aici, având în vedere parametrul de timp în care dispozitivul intră în modul de repaus atunci când este apăsat butonul. Eu ar trebui 16 secunde. Dacă este necesar să spunem că a fost acoperit în 30 de secunde, trebuie să scrie în jos 30 (26 $).
La punctele 4 și 5 în mod similar.
Personalizați caracteristicile
Dispozitiv de reglare se reduce la o măsurare a tensiunii bateriei etalonat așa cum este descris mai sus. Este de asemenea necesar pentru a detecta o abatere de ceasuri timp de 1 oră și pentru a calcula valoarea de corecție corespunzătoare (o procedură descrisă în manualul de instrucțiuni).
Aparatul este alimentat de o baterie cu litiu CR2032 (3V) și în modul de repaus consumă aproximativ 4 mA, în timp ce în modul activ de 5 ... 20 mA în funcție de luminozitatea indicatorului. Cu utilizarea de zi cu zi cinci minute de modul activ bateria ar trebui să dureze aproximativ 2 ... 0.8 luni, în funcție de luminozitatea. Cazul ceas este conectat la minus a bateriei.
Telecomanda pentru camere testate in modele de Pentax Optio L20, Nikon D3000. Canon nu a putut obține pentru a testa.
ghidul de folosire acoperă 13 pagini, așa că nu am făcut-o să includă în articol, și livrate într-o aplicație PDF.
Arhiva conține:
În Schema Proteus 7.7SP2 și GIF;
desen PCB și layout în format SprintLayout 5;
Firmware și codul sursă în limbaj de asamblare;