- Komponenter kreves
- Kretsdiagram og forklaring
- PCB-design og fabrikasjon for den digitale klokken
- Bestille PCB med PCBGoGo
- Montering av PCB
- Testing av den digitale klokken
Hver digitale klokke har en krystall inni seg for å holde oversikt over tiden. Denne krystallen er ikke bare til stede i klokken, men også i alle databehandling sanntidssystemer. Denne krystallen genererer klokkepulser, noe som er nødvendig for tidsberegninger. Selv om det er noen andre måter å få klokkepulser for høyere nøyaktighet og frekvens, men den mest foretrukne måten er å bruke krystall for å holde styr på tiden. Her vil vi DS3231 RTC IC for å bygge en Atmega16-basert digital veggklokke. DS3231 RTC har en svært nøyaktig krystall inni seg, så det er ikke behov for en ekstern Crystal-oscillator.
I dette Digital Clock Project brukes ti vanlige 7-segment-anoder på 0,8 tommer til å vise tid og dato. Her brukes syv segmentdisplayer til å vise time, minutt, dato, måned og år. Vår PCB-design har også muligheter for å vise sekunder og temperatur, som kan vises ved å legge til flere skjermenheter.
Komponenter kreves
- ATmega16 AVR mikrokontroller
- DS3231 RTC IC
- Felles anode 0,8 tommers syv segment skjerm (det er større enn vanlig skjerm (0,56 tommer)
- Trykknapp
- Knappecelle 3v
- 7805 spenningsregulator
- 1000uf kondensator
- Summer (valgfritt)
- Transistorer BC547 og BC557
- 10uf kondensator
- 100 Ohm motstand
- 1k motstand
- 10k motstand
- PCB-brett
- Jumper ledninger
- Burgstips
- Strømforsyningsadapter
Brukeren kan også bruke Atmega32, den må konfigureres i kompilatoren før de genererer hex.
Kretsdiagram og forklaring
Det er to deler av denne Digital Wall Clock Circuit, den ene er en skjermdel som har 5 par 7-segmenter på fem forskjellige PCB-kort, og en annen er kontrollert Enhetsdel som er ansvarlig for å hente tid fra RTC-brikken og sende data og tid til 7-segment display. Siden vi har brukt 10 syv segmentdisplayer, kan vi ikke koble hver skjerm til en separat IO-port. Så her brukes multipleksingsteknikk for å koble til flere syv segmenter ved hjelp av færre pinner med mikrokontroller.
LED-pinner a, b, c, d, e, f, g, h på syv segmentskjerm er koblet til PORTB på atmega16 parallell. Her har vi brukt 10 syv segmentdisplayer, så vi trenger 10 kontrollpinner som er koblet til PORTD, PORTA og PORTC.
RTC DS3231 med en intern krystall er koblet til PORTCs SDA- og SCL-pinne fordi denne brikken fungerer på I2C-kommunikasjon. Grensesnittmetoden til denne brikken er den samme som DS1307. Vi har brukt DS1307 med Arduino, Raspberry Pi og 8051 MCU. Samme kode kan brukes for både DS3231 og DS1307.
To 10k opptrekksmotstander er koblet til på SDA og SCL-linjen. En 3v myntcelle brukes til å drive RTC-brikken for å holde oversikt over tiden selv når hovedstrømforsyningen er av. Når strømmen kommer tilbake igjen, vil tiden begynne å vises på syv segmentvisninger. Nå har vi noen trykknapper for å stille inn tid på PORT A, fullstendig prosess er forklart i videoen gitt til slutt. En 5v spenningsregulator brukes til å konvertere inngangsspenning til 5v. Alle tilkoblingene er vist i kretsskjemaet nedenfor:
For ett skjermkort brukes to syv segmentdisplayer og 2 LED. Så her har vi fem forskjellige skjermkort for å vise Tid i timer og minutt (HH-MM), og dato i DD-MM-Å.
PCB-design og fabrikasjon for den digitale klokken
For dette Atmega16-baserte veggklokke-prosjektet har vi designet to PCB. Den ene er for kontrollenhet som brukes til å kontrollere alle operasjonene i prosjektet, og den andre delen er for å vise tid og dato på syv segmentdisplayer. Skjermdelen inneholder fem par med syv segment display. Så ved å montere 5 stykker har vi den komplette Digital Clock. For å multiplexere 7-segmentdisplayer, vil datalinjen til de 5 PCB-ene kobles til samme port på kontrollenheten, og kontrollinjen er koblet til en annen pin på kontrollenheten.
Nedenfor er topp- og bunnvisning av PCB-oppsett på ett skjermkort som består av to syv segmentdisplayer:
Nedenfor er topp- og bunnvisning av PCB-er for kontrollenheter
Her er vi vedlagt Gerber-fil for begge brett:
- Gerber-fil for Atmega16-basert kontrollenhet
- Gerber-fil for Seven Segment Display-tavle
Bestille PCB med PCBGoGo
Det er mange PCB-fabrikasjonstjenester som er tilgjengelige online, men da jeg tidligere brukte PCBGoGo i et av mine andre prosjekter, fant jeg det billig og problemfritt sammenlignet med andre leverandører.
Her er trinnene for å bestille PCB fra PCBGoGo:
Trinn 1: Gå inn på www.pcbgogo.com, registrer deg hvis dette er første gang. Deretter skriver du inn dimensjonene på PCB, antall lag og antall PCB du trenger i kategorien PCB Prototype.
Trinn 2: Fortsett ved å klikke på Sitat nå- knappen. Du vil bli ført til en side der du kan angi noen ekstra parametere hvis nødvendig, som materialet som brukes sporavstand osv. Men for det meste vil standardverdiene fungere bra. Det eneste vi må vurdere her er pris og tid. Som du kan se, er byggetiden bare 2-3 dager, og det koster bare $ 5 for PSB. Du kan deretter velge en foretrukket fraktmetode basert på dine krav.
Trinn 3: Det siste trinnet er å laste opp Gerber-filen og fortsette med betalingen. For å sikre at prosessen er jevn, verifiserer PCBGOGO om Gerber-filen din er gyldig før du fortsetter med betalingen. På denne måten kan du være sikker på at PCB-en din er fabrikasjonsvennlig og vil nå deg som engasjert.
Nå vil PCBGoGo ta litt tid rundt 10 minutter til 1 time å gjennomgå Gerber-filen din. Etter at gjennomgangen er gjennomført, kan du fortsette med betalingen.
Montering av PCB
Etter at brettet var bestilt, nådde det meg etter noen dager, selv om bud i en pent merket, godt pakket eske, og som alltid var kvaliteten på PCB fantastisk. Jeg deler noen bilder av tavlene nedenfor slik at du kan dømme.
Jeg skrudde på loddestangen og begynte å montere brettet. Siden Footprints, pads, vias og silkscreen har perfekt form og størrelse, hadde jeg ikke noe problem å montere brettet. Brettet var klart på bare 10 minutter fra pakken ble pakket ut.
Få bilder av brettet etter lodding er vist nedenfor.
Testing av den digitale klokken
Komplett kode er gitt på slutten av denne opplæringen, bare koble PCB-ene som vist i kretsskjemaet og last opp koden til Atmega16. Og du vil se tid og dato som vises på de ti syv segmentene.
Tid og dato kan stilles inn ved hjelp av de fire trykknappene på kontrollenheten som vist i videoen gitt nedenfor.