- Componenten vereist
- Schakelschema en uitleg
- PCB-ontwerp en fabricage voor de digitale klok
- Bestellen van de print met PCBGoGo
- De printplaat in elkaar zetten
- Testen van de digitale klok
Elke digitale klok heeft een kristal erin om de tijd bij te houden. Dit kristal is niet alleen aanwezig in de klok maar ook in alle real-time computersystemen. Dit kristal genereert klokpulsen die nodig zijn voor timingberekeningen. Hoewel er een aantal andere manieren zijn om klokpulsen te krijgen voor een hogere nauwkeurigheid en frequentie, maar de meest geprefereerde manier is om kristal te gebruiken om de tijd bij te houden. Hier zullen we DS3231 RTC IC gebruiken om een op Atmega16 gebaseerde digitale wandklok te bouwen. DS3231 RTC heeft een zeer nauwkeurig kristal erin, dus er is geen externe kristaloscillator nodig.
In dit Digital Clock Project worden tien gewone 7-segment-anode-displays van 0,8 inch gebruikt om tijd en datum weer te geven. Hier worden zeven segmentdisplays gebruikt om uur, minuut, datum, maand en jaar weer te geven. Ons PCB-ontwerp heeft ook opties om seconden en temperatuur weer te geven, die kunnen worden weergegeven door meer weergave-eenheden toe te voegen.
Componenten vereist
- ATmega16 AVR-microcontroller
- DS3231 RTC IC
- Gemeenschappelijke anode 0,8 inch zeven segmenten display (het is groter dan het gewone formaat display (0,56 inch)
- Druk op de knop
- Knoopcel 3v
- 7805 spanningsregelaar
- 1000uf condensator
- Zoemer (optioneel)
- Transistors BC547 en BC557
- 10uf condensator
- 100 Ohm weerstand
- 1k weerstand
- 10k weerstand
- Printplaat
- Doorverbindingsdraden
- Burgstips
- Voedingsadapter
De gebruiker kan ook Atmega32 gebruiken, het moet in de compiler worden geconfigureerd voordat hex wordt gegenereerd.
Schakelschema en uitleg
Er zijn twee delen van dit digitale wandklokcircuit, een is een displaygedeelte met 5 paar 7-segmenten op vijf verschillende printplaten en een ander is een gecontroleerd unit-gedeelte dat verantwoordelijk is voor het ophalen van tijd van de RTC-chip en die gegevens en tijd naar 7-segment-display. Omdat we 10 displays met zeven segmenten hebben gebruikt, kunnen we niet elk display met een aparte IO-poort verbinden. Dus hier wordt de multiplextechniek gebruikt om meerdere zeven segmenten met elkaar te verbinden met minder pinnen van de microcontroller.
LED-pinnen a, b, c, d, e, f, g, h van zeven segmenten display is parallel verbonden met PORTB van atmega16. Hier hebben we 10 displays met zeven segmenten gebruikt, dus we hebben 10 controlepennen nodig die zijn aangesloten op PORTD, PORTA en PORTC.
RTC DS3231 met een intern kristal is verbonden met PORTC's SDA- en SCL-pin omdat deze chip werkt op I2C-communicatie. De interface-methode van deze chip is hetzelfde als DS1307. We hebben DS1307 gebruikt met Arduino, Raspberry Pi en 8051 MCU. Dezelfde code kan worden gebruikt voor zowel DS3231 als DS1307.
Twee 10k pull-up weerstanden zijn aangesloten op de SDA- en SCL-lijn. Een 3v-knoopcel wordt gebruikt om de RTC-chip van stroom te voorzien om de tijd bij te houden, zelfs wanneer de hoofdvoeding is uitgeschakeld. Telkens wanneer de stroom weer terugkeert, wordt de tijd weergegeven op een display met zeven segmenten. Nu hebben we enkele drukknoppen voor het instellen van de tijd op POORT A, het volledige proces wordt uitgelegd in de video aan het einde. Een 5v spanningsregelaar wordt gebruikt om de ingangsspanning om te zetten naar 5v. Alle aansluitingen zijn weergegeven in het onderstaande schakelschema:
Voor één displaybord worden twee zeven segmentdisplays en 2 LED's gebruikt. Hier hebben we dus vijf verschillende displayborden om de tijd in uren en minuten (UU-MM) weer te geven, en de datum in DD-MM-JJ.
PCB-ontwerp en fabricage voor de digitale klok
Voor dit op Atmega16 gebaseerde wandklokproject hebben we twee printplaten ontworpen. Een daarvan is voor de besturingseenheid die wordt gebruikt om alle bewerkingen van het project te besturen en het tweede deel is voor het weergeven van de tijd en datum op zeven segmentdisplays. Displaygedeelte bevat vijf paar 0,8 inch zeven-segment display. Dus door 5 stuks samen te stellen hebben we de complete digitale klok. Om 7-segment-displays te multiplexen, wordt de datalijn van de 5 PCB's aangesloten op dezelfde poort van de besturingseenheid en wordt de besturingslijn aangesloten op een andere pin van de besturingseenheid.
Hieronder vindt u de boven- en onderaanzichten van PCB-lay-outs van één displaybord dat uit twee zeven segmentdisplays bestaat:
Hieronder ziet u de boven- en onderaanzichten van de printplaten van de regeleenheid
Hier zijn we bijgevoegd Gerber-bestand voor beide borden:
- Gerber-bestand voor op Atmega16 gebaseerde besturingseenheid
- Gerbermap voor Seven Segment Display board
Bestellen van de print met PCBGoGo
Er zijn veel PCB-fabricagediensten online beschikbaar, maar aangezien ik PCBGoGo eerder in een van mijn andere projecten gebruikte, vond ik het goedkoop en probleemloos in vergelijking met andere leveranciers.
Hier zijn de stappen om PCB's te bestellen bij PCBGoGo:
Stap 1: Ga naar www.pcbgogo.com, meld u aan als dit de eerste keer is. Voer vervolgens op het tabblad PCB Prototype de afmetingen van uw PCB, het aantal lagen en het aantal PCB's dat u nodig heeft in.
Stap 2: Ga verder door op de knop Nu citeren te klikken. U wordt naar een pagina geleid waar u indien nodig enkele aanvullende parameters kunt instellen, zoals het gebruikte materiaal voor de spoorafstand enz. Maar meestal werken de standaardwaarden prima. Het enige waar we hier rekening mee moeten houden, is de prijs en tijd. Zoals je kunt zien, is de bouwtijd slechts 2-3 dagen en kost het slechts $ 5 voor onze PSB. U kunt vervolgens een gewenste verzendmethode selecteren op basis van uw vereisten.
Stap 3: De laatste stap is om het Gerber-bestand te uploaden en door te gaan met de betaling. Om ervoor te zorgen dat het proces soepel verloopt, controleert PCBGOGO of uw Gerber-bestand geldig is alvorens verder te gaan met de betaling. Zo weet u zeker dat uw printplaat fabricagevriendelijk is en u als toegewijd zult bereiken.
Nu heeft PCBGoGo wat tijd nodig van ongeveer 10 minuten tot 1 uur om uw Gerber-bestand te bekijken. Na voltooiing van de beoordeling kunt u doorgaan met de betaling.
De printplaat in elkaar zetten
Nadat het bord was besteld, bereikte het me na een paar dagen via een koerier in een keurig geëtiketteerde, goed verpakte doos en zoals altijd was de kwaliteit van de PCB geweldig. Ik deel enkele foto's van de borden hieronder om jullie te beoordelen.
Ik zette mijn soldeerstaaf aan en begon het bord te monteren. Omdat de Footprints, pads, via's en zeefdruk perfect de juiste vorm en maat hebben, had ik geen probleem met het monteren van het bord. Het bord was klaar in slechts 10 minuten na het uitpakken van de doos.
Enkele foto's van het bord na het solderen zijn hieronder weergegeven.
Testen van de digitale klok
De volledige code wordt aan het einde van deze tutorial gegeven, sluit gewoon de PCB's aan zoals weergegeven in het schakelschema en upload de code naar Atmega16. En u zult de tijd en datum zien verschijnen op de tien zeven segmenten displays.
De tijd en datum kunnen worden ingesteld met behulp van de vier drukknoppen op de besturingseenheid zoals getoond in de onderstaande video.