- Componente necesare
- Diagrama și explicația circuitului
- Proiectare și fabricare PCB pentru ceasul digital
- Comanda PCB folosind PCBGoGo
- Asamblarea PCB-ului
- Testarea ceasului digital
Fiecare ceas digital are în el un cristal pentru a ține evidența timpului. Acest cristal nu este prezent doar în ceas, ci și în toate sistemele de calcul în timp real. Acest cristal generează impulsuri de ceas, care sunt necesare pentru calculele de sincronizare. Deși există și alte modalități de a obține impulsuri de ceas pentru o precizie și o frecvență mai mari, dar cea mai preferată modalitate este de a utiliza cristalul pentru a ține evidența timpului. Aici vom face DS3231 RTC IC pentru a construi un ceas de perete digital bazat pe Atmega16. DS3231 RTC are un cristal extrem de precis în interior, deci nu este nevoie de niciun oscilator de cristal extern.
În acest proiect de ceas digital, sunt utilizate zece afișaje comune cu 7 segmente anodice de 0,8 inci pentru a afișa ora și data. Aici sunt afișate șapte segmente pentru a afișa ora, minutul, data, luna și anul. Designul nostru PCB are, de asemenea, opțiuni pentru afișarea de secunde și temperatură, care pot fi afișate adăugând mai multe unități de afișare.
Componente necesare
- Microcontroler AVmega16 AVR
- DS3231 RTC IC
- Afișaj cu un anod comun de 0,8 inci cu șapte segmente (afișajul său de dimensiuni mai mari decât cele comune (0,56 inci)
- Apasa butonul
- Buton celulă 3v
- 7805 regulator de tensiune
- Condensator 1000uf
- Buzzer (opțional)
- Tranzistoarele BC547 și BC557
- 10uf condensator
- Rezistor de 100 Ohm
- 1k rezistor
- Rezistor de 10k
- Placă PCB
- Sârme de jumper
- Burstips
- Adaptor de alimentare
Utilizatorul poate folosi Atmega32 și trebuie configurat în compilator înainte de a genera hex.
Diagrama și explicația circuitului
Există două părți ale acestui circuit digital de ceas de perete, una este o parte a afișajului care are 5 perechi de 7 segmente pe cinci plăci PCB diferite și alta este o parte controlată a unității, care este responsabilă pentru preluarea timpului de pe cipul RTC și trimite datele și timpul către Afișaj pe 7 segmente. Deoarece am folosit 10 afișaje cu șapte segmente, nu putem conecta fiecare afișaj cu un port IO separat. Așadar, aici tehnica de multiplexare este utilizată pentru a conecta mai multe șapte segmente folosind mai puțini pini de microcontroler.
Pinii LED a, b, c, d, e, f, g, h ai unui afișaj cu șapte segmente sunt conectați la PORTB paralel cu atmega16. Aici am folosit 10 afișaje cu șapte segmente, deci avem nevoie de 10 pini de control conectați la PORTD, PORTA și PORTC.
RTC DS3231 având un cristal intern este conectat la pinul SDA și SCL al PORTC deoarece acest cip funcționează pe comunicația I2C. Metoda de interfață a acestui cip este aceeași cu DS1307. Am folosit DS1307 cu Arduino, Raspberry Pi și 8051 MCU. Același cod poate fi utilizat atât pentru DS3231, cât și pentru DS1307.
Două rezistențe de tracțiune de 10k sunt conectate pe linia SDA și SCL. O celulă monedă de 3v este utilizată pentru alimentarea cipului RTC pentru a ține evidența timpului chiar și atunci când sursa principală de alimentare este oprită. De fiecare dată când alimentarea revine, timpul va începe să se afișeze pe afișajul cu șapte segmente. Acum avem câteva butoane pentru setarea timpului la PORT A, procesul complet este explicat în videoclipul dat la final. Un regulator de tensiune de 5v este utilizat pentru a converti tensiunea de intrare în 5v. Toate conexiunile sunt prezentate în schema de circuit de mai jos:
Pentru o placă de afișare, sunt utilizate două afișaje cu șapte segmente și 2 LED-uri. Deci, aici avem cinci panouri de afișare diferite pentru a afișa Ora în ore și minute (HH-MM) și data în ZZ-MM-AA.
Proiectare și fabricare PCB pentru ceasul digital
Pentru acest proiect de ceas de perete bazat pe Atmega16, am proiectat două PCB-uri. Una este pentru unitatea de control, care este utilizată pentru a controla toate operațiunile proiectului, iar a doua parte este pentru afișarea orei și datei pe afișajele de șapte segmente. Partea de afișare conține cinci perechi de afișaj de șapte segmente de 0,8 inci. Deci, prin asamblarea a 5 piese avem ceasul digital complet. Pentru multiplexarea afișajelor pe 7 segmente, linia de date a celor 5 PCB-uri va fi conectată la același port al unității de control, iar linia de control este conectată la pinul diferit al unității de control.
Mai jos sunt vizualizările de sus și de jos ale aspectelor PCB ale unei plăci de afișare care constă din două afișaje de șapte segmente:
Mai jos sunt vizualizările de sus și de jos ale PCB-urilor de control
Aici suntem atașate fișierul Gerber pentru ambele plăci:
- Fișier Gerber pentru unitatea de control bazată pe Atmega16
- Fișier Gerber pentru placa de afișare cu șapte segmente
Comanda PCB folosind PCBGoGo
Există multe servicii de fabricare a PCB-urilor disponibile online, dar, deoarece am folosit PCBGoGo anterior într-unul din celelalte proiecte ale mele, mi s-a părut ieftin și fără probleme în comparație cu alți furnizori.
Iată pașii pentru comanda PCB de la PCBGoGo:
Pasul 1: intrați pe www.pcbgogo.com, înscrieți-vă dacă este prima dată. Apoi, în fila Prototip PCB introduceți dimensiunile PCB-ului, numărul de straturi și numărul de PCB de care aveți nevoie.
Pasul 2: Continuați făcând clic pe butonul Cotați acum . Veți fi direcționat către o pagină în care să setați câțiva parametri suplimentari, dacă este necesar, cum ar fi materialul utilizat pentru spațierea pistelor etc. Dar, în general, valorile implicite vor funcționa bine. Singurul lucru pe care trebuie să-l luăm în considerare aici este prețul și timpul. După cum puteți vedea, timpul de construire este de numai 2-3 zile și costă doar 5 USD pentru PSB-ul nostru. Apoi puteți selecta o metodă de expediere preferată în funcție de cerința dvs.
Pasul 3: ultimul pas este să încărcați fișierul Gerber și să continuați plata. Pentru a vă asigura că procesul este ușor, PCBGOGO verifică dacă fișierul dvs. Gerber este valid înainte de a continua plata. În acest fel, vă puteți asigura că PCB-ul dvs. este prietenos cu fabricarea și vă va ajunge la fel de angajat.
Acum, PCBGoGo va dura aproximativ 10 minute până la 1 oră pentru a vă examina fișierul Gerber. După finalizarea revizuirii, puteți continua plata.
Asamblarea PCB-ului
După ce placa a fost comandată, a ajuns la mine după câteva zile, deși curierul într-o cutie bine ambalată bine etichetat și ca întotdeauna calitatea PCB-ului a fost minunată. Îți împărtășesc câteva fotografii cu tablele de mai jos pentru ca tu să le judeci.
Mi-am pornit tija de lipit și am început să asamblez placa. Deoarece amprentele, tampoanele, via-urile și serigrafia sunt perfect de forma și dimensiunea potrivită, nu am avut probleme la asamblarea plăcii. Placa era gata în doar 10 minute de la momentul despachetării cutiei.
Puține imagini ale plăcii după lipire sunt prezentate mai jos.
Testarea ceasului digital
Codul complet este dat la sfârșitul acestui tutorial, trebuie doar să conectați PCB-urile așa cum se arată în schema circuitului și să încărcați codul în Atmega16. Și veți vedea ora și data care apar pe afișajele celor zece segmente.
Ora și data pot fi setate folosind butonul cu patru butoane de pe unitatea de control, după cum se arată în videoclipul de mai jos.