- Potrebne komponente
- Shema vezja in razlaga
- Načrtovanje in izdelava PCB za digitalno uro
- Naročanje tiskanega vezja s pomočjo PCBGoGo
- Sestavljanje PCB
- Testiranje digitalne ure
Vsaka digitalna ura ima v sebi kristal za sledenje času. Ta kristal ni prisoten samo v uri, ampak je prisoten tudi v vseh računalniških sistemih v realnem času. Ta kristal generira urne impulze, ki so potrebni za časovne izračune. Čeprav obstajajo nekateri drugi načini za pridobivanje urnih impulzov za večjo natančnost in frekvenco, je pa najbolj zaželena uporaba kristala za beleženje časa. Tu bomo DS3231 RTC IC izdelali digitalno stensko uro na osnovi Atmega16. DS3231 RTC ima v sebi zelo natančen kristal, zato zunanji kristalni oscilator ni potreben.
V tem projektu Digital Clock se za prikaz ure in datuma uporablja deset običajnih anodnih 7-segmentnih zaslonov z 0,8-palčnim zaslonom. Tu se za prikaz ure, minut, datuma, meseca in leta uporablja sedemsegmentni zaslon. Naša zasnova PCB ima tudi možnosti za prikaz sekund in temperature, ki jih lahko prikažemo z dodajanjem več prikaznih enot.
Potrebne komponente
- Mikrokrmilnik ATmega16 AVR
- DS3231 RTC IC
- Skupna anoda 0,8-palčni zaslon sedmih segmentov (večji od običajne velikosti zaslona (0,56-palčni)
- Pritisni gumb
- Gumijasta celica 3v
- 7805 regulator napetosti
- 1000uf kondenzator
- Zvočni signal (neobvezno)
- Tranzistorji BC547 in BC557
- 10uf kondenzator
- 100 Ohm upor
- 1k upor
- 10k upor
- PCB plošča
- Jumper žice
- Burgstips
- Napajalnik
Uporabnik lahko uporablja tudi Atmega32, ki ga je treba konfigurirati v prevajalniku, preden ustvari hex.
Shema vezja in razlaga
Obstajata dva dela tega vezja digitalne stenske ure, eden je prikazovalni del, ki ima 5 parov 7-segmentov na petih različnih ploščah PCB, drugi pa je nadzorovan del enote, ki je odgovoren za pridobivanje časa iz čipa RTC in pošiljanje teh podatkov in časa na 7-segmentni zaslon. Ker smo uporabili 10 sedemsegmentnih zaslonov, tako ne moremo povezati vsakega zaslona z ločenimi IO vrati. Tu se torej tehnika multipleksiranja uporablja za povezovanje več sedmih segmentov z uporabo manj zatičev mikrokrmilnika.
LED zatiči a, b, c, d, e, f, g, h sedemsegmentnega zaslona so povezani na PORTB vzporednika atmega16. Tu smo uporabili 10 sedemsegmentnih zaslonov, zato potrebujemo 10 nadzornih zatičev, ki so povezani na PORTD, PORTA in PORTC.
RTC DS3231 z notranjim kristalom je povezan s PORTC-jevim SDA in SCL-pinom, ker ta čip deluje na komunikaciji I2C. Način povezovanja tega čipa je enak kot pri DS1307. Uporabili smo DS1307 z Arduino, Raspberry Pi in 8051 MCU. Za DS3231 in DS1307 je mogoče uporabiti isto kodo.
Dva vlečna upora 10k sta priključena na SDA in SCL linijo. 3v kovanska celica se uporablja za napajanje čipa RTC za beleženje časa, tudi ko je glavno napajanje izklopljeno. Ko se moč spet vrne, se bo čas začel prikazovati na sedemsegmentnem zaslonu. Zdaj imamo nekaj tipk za nastavitev časa na PORT A, popoln postopek je razložen v videoposnetku, ki je na koncu. Za pretvorbo vhodne napetosti v 5v se uporablja 5v regulator napetosti. Vse povezave so prikazane v spodnjem vezju:
Za eno prikazovalno ploščo se uporabljata dva sedemsegmentna zaslona in 2 LED. Tu imamo torej pet različnih prikazovalnih plošč, ki prikazujejo čas v urah in minuti (HH-MM) in datum v DD-MM-YY.
Načrtovanje in izdelava PCB za digitalno uro
Za ta projekt stenske ure, ki temelji na Atmega16, smo zasnovali dve PCB. Ena je za krmilno enoto, ki se uporablja za nadzor vseh operacij projekta, drugi del pa za prikaz ure in datuma na sedmih segmentnih zaslonih. Zaslonski del vsebuje pet parov 0,8-palčnega sedemsegmentnega zaslona. S sestavljanjem 5 kosov imamo torej popolno digitalno uro. Za multipleksirane 7-segmentne prikazovalnike bo podatkovna linija 5 PCB-jev priključena na ista vrata krmilne enote, krmilna linija pa je priključena na drug zatič krmilne enote.
Spodaj sta zgornji in spodnji pogled na postavitve PCB ene zaslon, ki je sestavljen iz dveh sedem segmentnih zaslonov:
Spodaj sta zgornji in spodnji pogled PCB-jev krmilne enote
Tukaj smo priložili Gerberjevo datoteko za obe plošči:
- Datoteka Gerber za krmilno enoto na osnovi Atmega16
- Datoteka Gerber za prikazovalno ploščo sedem segmentov
Naročanje tiskanega vezja s pomočjo PCBGoGo
V spletu je na voljo veliko storitev za izdelavo PCB-jev, toda ker sem PCBGoGo že uporabljal v enem od svojih drugih projektov, se mi je zdel poceni in brez težav v primerjavi z drugimi prodajalci.
Tu so koraki za naročanje PCB pri PCBGoGo:
1. korak: Pojdite na www.pcbgogo.com in se prijavite, če ste prvič. Nato na zavihku Prototip PCB vnesite dimenzije PCB, število slojev in število PCB, ki ga potrebujete.
2. korak: Nadaljujte s klikom na gumb Citiraj zdaj . Preusmerjeni boste na stran, kjer boste po potrebi nastavili nekaj dodatnih parametrov, kot je uporabljeni razmik skladbe itd. Toda večinoma bodo privzete vrednosti dobro delovale. Edino, kar moramo tu upoštevati, sta cena in čas. Kot lahko vidite, je čas izdelave le 2-3 dni in za naš PSB stane le 5 USD. Nato lahko izberete želeni način pošiljanja glede na vaše potrebe.
3. korak: Zadnji korak je nalaganje datoteke Gerber in nadaljevanje plačila. Preden nadaljuje s plačilom, PCBGOGO preveri, ali je vaša datoteka Gerber veljavna, da se prepriča, da je postopek nemoten. Tako se lahko prepričate, da je vaš PCB prijazen do izdelave in vas bo sprejel kot predan.
Zdaj bo PCBGoGo trajal približno 10 minut do 1 ure za pregled vaše datoteke Gerber. Po zaključku pregleda lahko nadaljujete s plačilom.
Sestavljanje PCB
Po naročilu plošče je čez nekaj dni prišel do mene, čeprav je kurir v lepo označeni dobro zapakirani škatli in kot vedno bila kakovost PCB-ja izjemna. Delim nekaj slik spodnjih desk, da boste lahko presodili.
Vklopil sem spajkalno palico in začel sestavljati ploščo. Ker so Footprints, blazinice, steklenice in sitotisk popolnoma pravilne oblike in velikosti, nisem imel težav pri sestavljanju deske. Plošča je bila pripravljena v samo 10 minutah od razpakiranja škatle.
Spodaj je prikazanih nekaj slik plošče po spajkanju.
Testiranje digitalne ure
Popolna koda je podana na koncu te vadnice, samo priključite tiskane vezje, kot je prikazano na vezju, in naložite kodo v Atmega16. In na desetih zaslonih sedmih segmentov boste videli čas in datum.
Čas in datum lahko nastavite s pomočjo štirih gumbov na krmilni enoti, kot je prikazano v spodnjem videu.