- Erforderliche Komponenten
- Schaltplan und Erklärung
- PCB Design und Herstellung für die Digitaluhr
- Bestellung der Leiterplatte mit PCBGoGo
- Montage der Leiterplatte
- Testen der Digitaluhr
In jeder Digitaluhr befindet sich ein Kristall, um die Zeit zu verfolgen. Dieser Kristall ist nicht nur in der Uhr vorhanden, sondern auch in allen Echtzeit-Computersystemen. Dieser Kristall erzeugt Taktimpulse, die für Zeitberechnungen benötigt werden. Es gibt zwar einige andere Möglichkeiten, Taktimpulse für eine höhere Genauigkeit und Frequenz zu erhalten, aber die am meisten bevorzugte Methode ist die Verwendung von Kristall, um die Zeit zu verfolgen. Hier werden wir DS3231 RTC IC, um eine Atmega16-basierte digitale Wanduhr zu bauen. Der DS3231 RTC enthält einen hochgenauen Kristall, sodass kein externer Kristalloszillator benötigt wird.
In diesem Digital Clock-Projekt werden zehn gängige 7-Segment-Anodenanzeigen mit einer Größe von 0,8 Zoll zur Anzeige von Uhrzeit und Datum verwendet. Hier werden sieben Segmentanzeigen verwendet, um Stunde, Minute, Datum, Monat und Jahr anzuzeigen. Unser PCB-Design bietet auch Optionen zur Anzeige von Sekunden und Temperatur, die durch Hinzufügen weiterer Anzeigeeinheiten angezeigt werden können.
Erforderliche Komponenten
- ATmega16 AVR Mikrocontroller
- DS3231 RTC IC
- Common-Anode-0,8-Zoll-Sieben-Segment-Display (größer als das Common-Size-Display (0,56 Zoll)
- Druckknopf
- Knopfzelle 3v
- Spannungsregler 7805
- 1000uf Kondensator
- Summer (optional)
- Transistoren BC547 und BC557
- 10uf Kondensator
- 100 Ohm Widerstand
- 1k Widerstand
- 10k Widerstand
- PCB-Board
- Überbrückungsdrähte
- Burgstips
- Netzteil
Der Benutzer kann auch Atmega32 verwenden, das vor dem Generieren von Hex im Compiler konfiguriert werden muss.
Schaltplan und Erklärung
Es gibt zwei Teile dieser digitalen Wanduhrschaltung, einen Anzeigeteil mit 5 Paaren von 7 Segmenten auf fünf verschiedenen Leiterplatten und einen gesteuerten Einheitenteil, der für das Abrufen der Zeit vom RTC-Chip und das Senden dieser Daten und Zeit an verantwortlich ist 7-Segment-Anzeige. Da wir 10 Sieben-Segment-Anzeigen verwendet haben, können wir nicht jede Anzeige mit einem separaten E / A-Port verbinden. Hier wird also die Multiplextechnik verwendet, um mehrere sieben Segmente mit weniger Pins des Mikrocontrollers zu verbinden.
Die LED-Pins a, b, c, d, e, f, g, h der Sieben-Segment-Anzeige sind parallel mit dem PORTB von atmega16 verbunden. Hier haben wir 10 Sieben-Segment-Anzeigen verwendet, daher benötigen wir 10 Steuerpins, die an PORTD, PORTA und PORTC angeschlossen sind.
Die RTC DS3231 mit einem internen Kristall ist mit dem SDA- und SCL-Pin von PORTC verbunden, da dieser Chip für die I2C-Kommunikation funktioniert. Die Schnittstellenmethode dieses Chips ist dieselbe wie bei DS1307. Wir haben DS1307 mit Arduino, Raspberry Pi und 8051 MCU verwendet. Der gleiche Code kann sowohl für DS3231 als auch für DS1307 verwendet werden.
Zwei 10k-Pull-up-Widerstände sind an die SDA- und SCL-Leitung angeschlossen. Eine 3-V-Knopfzelle versorgt den RTC-Chip mit Strom, um die Zeit auch dann zu verfolgen, wenn die Hauptstromversorgung ausgeschaltet ist. Immer wenn die Stromversorgung wieder hergestellt ist, wird die Zeit auf der Sieben-Segment-Anzeige angezeigt. Jetzt haben wir einige Drucktasten zum Einstellen der Zeit bei PORT A. Der vollständige Vorgang wird im Video am Ende erklärt. Ein 5-V-Spannungsregler wird verwendet, um die Eingangsspannung in 5 V umzuwandeln. Alle Anschlüsse sind im folgenden Schaltplan dargestellt:
Für eine Anzeigetafel werden zwei Sieben-Segment-Anzeigen und 2 LED verwendet. Hier haben wir also fünf verschiedene Anzeigetafeln, auf denen Zeit in Stunden und Minuten (HH-MM) und Datum in TT-MM-JJ angezeigt werden.
PCB Design und Herstellung für die Digitaluhr
Für dieses Atmega16-basierte Wanduhrprojekt haben wir zwei Leiterplatten entworfen. Eine ist für die Steuereinheit, mit der alle Vorgänge des Projekts gesteuert werden, und der zweite Teil dient zur Anzeige von Uhrzeit und Datum auf sieben Segmentanzeigen. Der Anzeigeteil enthält fünf Paare einer 0,8-Zoll-Sieben-Segment-Anzeige. Wenn wir also 5 Teile zusammenbauen, haben wir die komplette Digitaluhr. Zum Multiplexen von 7-Segment-Anzeigen wird die Datenleitung der 5 Leiterplatten an denselben Anschluss der Steuereinheit und die Steuerleitung an einen anderen Pin der Steuereinheit angeschlossen.
Unten sehen Sie die Draufsicht und die Unteransicht der Leiterplattenlayouts einer Anzeigetafel, die aus zwei Sieben-Segment-Anzeigen besteht:
Unten sehen Sie die Draufsicht und die Unteransicht der Leiterplatten der Steuereinheit
Hier ist eine Gerber-Datei für beide Boards angehängt:
- Gerber-Datei für Atmega16-basiertes Steuergerät
- Gerber-Datei für Seven Segment Display Board
Bestellung der Leiterplatte mit PCBGoGo
Es gibt viele PCB-Herstellungsdienste, die online verfügbar sind, aber da ich PCBGoGo zuvor in einem meiner anderen Projekte verwendet habe, fand ich es im Vergleich zu anderen Anbietern billig und problemlos.
Hier sind die Schritte zum Bestellen von PCB bei PCBGoGo:
Schritt 1: Gehen Sie zu www.pcbgogo.com und melden Sie sich an, wenn Sie zum ersten Mal hier sind. Geben Sie dann auf der Registerkarte PCB Prototype die Abmessungen Ihrer Leiterplatte, die Anzahl der Schichten und die Anzahl der benötigten Leiterplatten ein.
Schritt 2: Klicken Sie auf die Schaltfläche Jetzt zitieren. Sie werden zu einer Seite weitergeleitet, auf der Sie bei Bedarf einige zusätzliche Parameter wie den verwendeten Spurabstand usw. einstellen können. Meistens funktionieren die Standardwerte jedoch einwandfrei. Das einzige, was wir hier berücksichtigen müssen, ist der Preis und die Zeit. Wie Sie sehen können, beträgt die Build-Zeit nur 2-3 Tage und kostet für unser PSB nur 5 US-Dollar. Sie können dann eine bevorzugte Versandart auswählen, die Ihren Anforderungen entspricht.
Schritt 3: Der letzte Schritt besteht darin, die Gerber-Datei hochzuladen und mit der Zahlung fortzufahren. Um sicherzustellen, dass der Prozess reibungslos verläuft, überprüft PCBGOGO, ob Ihre Gerber-Datei gültig ist, bevor Sie mit der Zahlung fortfahren. Auf diese Weise können Sie sicher sein, dass Ihre Leiterplatte herstellungsfreundlich ist und Sie als engagiert erreicht.
Jetzt benötigt PCBGoGo etwa 10 Minuten bis 1 Stunde, um Ihre Gerber-Datei zu überprüfen. Nach Abschluss der Überprüfung können Sie mit der Zahlung fortfahren.
Montage der Leiterplatte
Nachdem das Board bestellt wurde, erreichte es mich nach einigen Tagen, obwohl Kurier in einer ordentlich beschrifteten, gut verpackten Box und wie immer war die Qualität der Platine fantastisch. Ich teile einige Bilder der unten stehenden Tafeln, damit Sie sie beurteilen können.
Ich schaltete meinen Lötstab ein und begann mit der Montage der Platine. Da die Footprints, Pads, Vias und Siebdruck perfekt die richtige Form und Größe haben, hatte ich kein Problem damit, das Board zusammenzubauen. Das Board war in nur 10 Minuten ab dem Zeitpunkt des Auspackens der Box fertig.
Einige Bilder der Platine nach dem Löten sind unten gezeigt.
Testen der Digitaluhr
Den vollständigen Code finden Sie am Ende dieses Tutorials. Schließen Sie einfach die Leiterplatten wie im Schaltplan gezeigt an und laden Sie den Code in Atmega16 hoch. Auf den zehn Anzeigen der sieben Segmente werden Uhrzeit und Datum angezeigt.
Die Uhrzeit und das Datum können mit den vier Drucktasten am Steuergerät eingestellt werden, wie im folgenden Video gezeigt.