- Komponenter, der kræves
- Kredsløbsdiagram og forklaring
- PCB Design og fabrikation til det digitale ur
- Bestilling af printkort ved hjælp af PCBGoGo
- Montering af printkortet
- Test af det digitale ur
Hvert digitalt ur har en krystal indeni for at holde styr på tiden. Denne krystal er ikke kun til stede i uret, men også til stede i alle computere i realtidssystemer. Denne krystal genererer urimpulser, hvilket er nødvendigt til timingberegninger. Selvom der er nogle andre måder at få urimpulser til højere nøjagtighed og frekvens, men den mest foretrukne måde er at bruge krystal til at holde styr på tiden. Her vil vi DS3231 RTC IC til at bygge et Atmega16-baseret digitalt vægur. DS3231 RTC har en meget nøjagtig krystal inde, så der er ikke behov for en ekstern krystaloscillator.
I dette digitale urprojekt bruges ti almindelige 7-segment anoder på 0,8 tommer til at vise tid og dato. Her bruges syv segmentskærme til at vise time, minut, dato, måned og år. Vores printkortdesign har også muligheder for at vise sekunder og temperatur, som kan vises ved at tilføje flere displayenheder.
Komponenter, der kræves
- ATmega16 AVR Microcontroller
- DS3231 RTC IC
- Fælles anode 0,8 tommer syv segment display (dens større end almindelig størrelse skærm (0,56 tommer))
- Trykknap
- Knapcelle 3v
- 7805 spændingsregulator
- 1000uf kondensator
- Summer (valgfri)
- Transistorer BC547 og BC557
- 10uf kondensator
- 100 Ohm modstand
- 1k modstand
- 10k modstand
- Printkort
- Jumper ledninger
- Burgstips
- Strømforsyningsadapter
Brugeren kan også bruge Atmega32, det skal konfigureres i kompilatoren, før de genererer hex.
Kredsløbsdiagram og forklaring
Der er to dele af dette Digital Wall Clock Circuit, den ene er displaydel, der har 5 par 7-segmenter på fem forskellige PCB-kort, og en anden styres enhedsdel, der er ansvarlig for at hente tid fra RTC-chip og sende disse data og tid til 7-segment display. Da vi har brugt 10 syv segmentskærme, kan vi ikke forbinde hver skærm med en separat IO-port. Så her anvendes multipleksningsteknik til at forbinde flere syv segmenter ved hjælp af færre mikrofonstifter.
LED-ben a, b, c, d, e, f, g, h på syv segment display er forbundet til PORTB på atmega16 parallel. Her har vi brugt 10 syv segmentskærme, så vi har brug for 10 kontrolpinde, der er forbundet med PORTD, PORTA og PORTC.
RTC DS3231 med en intern krystal er forbundet til PORTCs SDA- og SCL-pin, fordi denne chip fungerer på I2C-kommunikation. Grænseflademetode for denne chip er den samme som DS1307. Vi har brugt DS1307 med Arduino, Raspberry Pi og 8051 MCU. Samme kode kan bruges til både DS3231 og DS1307.
To 10k pull-up modstande er tilsluttet på SDA og SCL line. En 3v-møntcelle bruges til at drive RTC-chippen for at holde styr på tiden, selv når hovedstrømforsyningen er slukket. Når strømmen kommer tilbage igen, begynder tiden at blive vist på syv segmentvisninger. Nu har vi nogle trykknapper til indstilling af tid ved PORT A, komplet proces forklares i videoen, der er vist i slutningen. En 5v spændingsregulator bruges til at konvertere indgangsspænding til 5v. Alle forbindelser er vist i nedenstående kredsløbsdiagram:
Til et skærmkort bruges to syv segmentskærme og 2 LED. Så her har vi fem forskellige skærmkort, der viser tid i timer og minut (HH-MM) og dato i DD-MM-YY.
PCB Design og fabrikation til det digitale ur
Til dette Atmega16-baserede vægursprojekt har vi designet to printkort. Den ene er til kontrolenhed, der bruges til at styre alle operationer i projektet, og anden del er til visning af tid og dato på syv segmentdisplays. Displaydel indeholder fem par med syv segment display på 0,8 inches. Så ved at samle 5 stykker har vi det komplette digitale ur. For at multiplexere 7-segmentdisplays, forbindes datalinjen til de 5 printkort til den samme port på styreenheden, og kontrolledningen er forbundet med forskellige ben på styreenheden.
Nedenfor vises top- og bundvisningerne af printkortlayouter på et skærmkort, der består af to syv segmentskærme:
Nedenfor vises top- og bundvisningerne af kontrolenhedens printkort
Her er vi vedhæftet Gerber-fil til begge tavler:
- Gerber-fil til Atmega16-baseret kontrolenhed
- Gerber-fil til Seven Segment Display-kort
Bestilling af printkort ved hjælp af PCBGoGo
Der er mange PCB-fabrikationstjenester, der er tilgængelige online, men da jeg tidligere brugte PCBGoGo i et af mine andre projekter, fandt jeg det billigt og problemfrit sammenlignet med andre leverandører.
Her er trinene til bestilling af PCB fra PCBGoGo:
Trin 1: Gå ind på www.pcbgogo.com, tilmeld dig, hvis det er første gang. Indtast derefter dimensionerne på din PCB, antallet af lag og antallet af PCB, du har brug for, på fanen PCB Prototype.
Trin 2: Fortsæt ved at klikke på knappen Citér nu . Du vil blive ført til en side, hvor du kan indstille få yderligere parametre, hvis det kræves, som det anvendte materiale sporafstand osv. Men for det meste fungerer standardværdierne fint. Det eneste, vi skal overveje her, er pris og tid. Som du kan se, er byggetiden kun 2-3 dage, og det koster kun $ 5 for vores PSB. Du kan derefter vælge en foretrukken forsendelsesmetode baseret på dit krav.
Trin 3: Det sidste trin er at uploade Gerber-filen og fortsætte med betalingen. For at sikre, at processen er glat, verificerer PCBGOGO, om din Gerber-fil er gyldig, inden du fortsætter med betalingen. På denne måde kan du være sikker på, at dit print er fabrikationsvenligt og når dig som engageret.
Nu tager PCBGoGo noget tid omkring 10 minutter til 1 time at gennemgå din Gerber-fil. Når gennemgangen er gennemført, kan du fortsætte med betalingen.
Montering af printkortet
Efter at bestyrelsen blev bestilt, nåede den mig efter nogle dage, selvom kurér i en pænt mærket, godt pakket kasse, og som altid var printkvaliteten fantastisk. Jeg deler nogle få billeder af tavlerne nedenfor, som du kan bedømme.
Jeg tændte min loddestang og begyndte at samle tavlen. Da fodspor, pads, vias og silketryk er perfekt i den rigtige form og størrelse, havde jeg ikke noget problem at samle tavlen. Brættet var klar på kun 10 minutter fra udpakningskassen.
Få billeder af tavlen efter lodning er vist nedenfor.
Test af det digitale ur
Komplet kode gives i slutningen af denne vejledning, tilslut bare printkortene som vist i kredsløbsdiagrammet, og upload koden til Atmega16. Og du vil se tid og dato vises på de ti syv segmentskærme.
Tid og dato kan indstilles ved hjælp af de fire trykknapper på kontrolenheden som vist i videoen nedenfor.