Christians Bastel-Laden

Aufbauanleitung für ein Bare-Bones-Real-Time-Clock-Arduino-Ding

Was ist ein Bare-Bones-Real-Time-Clock-Arduino-Ding?

Das Bare-Bones-Real-Time-Clock-Arduino-Ding (kurz: BBRTCAD) ist ein kleiner Arduino-Clone mit einer gepufferten Echtzeituhr und geregelter Spannungsversorgung. Der BBRTCAD eignet sich hervorragend für Projekt mit RGB-LED-Streifen (wie z.B. Adafruits Neo-Pixel), die eine Zeitbasis benötigen.

Bausatz

Einen Bausatz für ein Bare-Bones-Real-Time-Clock-Arduino-Ding gibt es bei Elmotex.

BBRTCAD-Bausatz

Wie funktioniert das?

Das BBRTCAD ist ein Arduino-Clone mit einer DS1307-Echtzeituhr. Die beiden Bauteile unterhalten sich über den I2C-Bus miteinander.

Der Betrieb eines ATMEGA328 als Arduino-Clone ohne das Arduino-Board ist auf der Homepage des Arduino-Projektes beschrieben.

Arduino Standalone

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der Bausatz

1. Der Bausatz

Der Bausatz enthält alle Teile, um einen Arduino-Clone mit gepufferter Echtzeituhr aufzubauen. Je nach Anwendungsfall werden nicht alle Teile benötigt! Es lohnt sich, zuerst die ganze Anleitung durchzulesen, bevor man den Lötkolben einschaltet.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Konfiguration

2. Konfiguration

Die Platine kann konfiguriert werden. Wenn man den Echtzeituhren-Teil nicht benötigt, kann man den liken Teil der Platine an der gestrichelten Linie absägen. Dann wird D2 frei (auf dem andernfalls die SQW-Leitung der Echtzeituhr liegt), außerdem A4 und A5, über diese Pins findet die Kommunikation mit der Echtzeituhr über I2C statt.

Wenn man stabile 5 Volt hat, kann man auch den Spannungsversorgungsteil rechts an der gestrichelten Linie absägen und die Spannung über die Pins 5 V und GND rechts neben dem Mikrocontroller einspeisen. Oder man überbrückt den Spannungsregler, wie weiter unten beschrieben.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Flache Bauteile

3. Zuerst die Flache Bauteile

Fangen wir mit den flachen Bauteilen an. R3, R4, R5 und R7 mit 4,7 kOhm; R6 mit 820 Ohm und R1 mit 10 kOhm.

R3, R4, R5 sind Pull-Up-Widerstände für die DS1307. R6 und R7 sind Teil der Ladeschaltung für den Speicherkondensator. R1 ist der Pull-Down-Widerstand der Reset-Leitung.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Die 100 nF-Kondensatoren

4. Die 100 nF-Kondensatoren

Dann die kleinen 100 nF-Kondensatoren, C11, C5, C3, C4, C8, C9 und C10.

C5 ist für den Reset über den FDTI-Stecker zuständig, die restlichen sind Entstörkondensatoren.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der Bausatz

5. Die Schaltdioden D14-D17

Dann die 4 Schaltdioden D14 bis D17 (1N4147). Hier spielt die Richtung eine Rolle. Der schwarze Ring auf dem Glasgehäuse der Diode muß auf dem weißen dicken Strich der Bestückungsdrucks zum Liegen kommen.

Die Schaltdioden sind Teil der Ladeschaltung des Speicherkondensators.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Den Uhrenquarz vorbereiten

6. Den Uhrenquarz vorbereiten

Dieser Schritt ist wichtig und darf nicht übersprungen werden!

Video Lötkurs Uhrenquarz

Jetzt haben wir genug geübt, um den etwas heiklen Uhrenquarz anzulöten. Zunächst stecken wir ihn in die zwei Löchen und biegen ihn dann so um, daß er flach auf der silbrig glänzenden Ground Plane zum Liegen kommt. Dann löten wir seine Beine an.

Jetzt kommt der heikle Teil: Sein Gehäuse muß mit der Ground Plane verlötet werden. Damit das gut geht, und der Quarz wegen zu langem Löten nicht den Hitzetod stirbt, schmieren wir das Gehäuse mit etwas Lötfett ein (gibts auch im Baumarkt).

Bare-Bones-Real-Time-Clock-Arduino-Ding: Das Uhrenquarzgehäuse anlöten

7. Das Uhrenquarzgehäuse anlöten

Dann geht man beherzt zur Sache: Mit der Lötspitze geht man quer in den Spalt, um schnell das Gehäuse und die Ground Plane zu erhitzen und gibt ordentlich Lötzinn dazu.

Dieser Vorgang sollte nich länger als 1,5 Sekunden dauern!

Bare-Bones-Real-Time-Clock-Arduino-Ding: Die Power-LED

8. Die Power-LED

Nun geht es entspannt mit der 3 mm-LED weiter. Das lange Bein (die Anode) gehört nach oben, das kurze nach unten in Richtung Widerstand. Die LED zeigt an, ob das BBRTCAD mit Strom versorgt wird.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der 16 MHz-Quarz

9. Der 16 MHz-Quarz

Nun den 16 MHz-Quarz, der zum Glück nicht auf Ground gelötet werden muß.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der Reset-Taster

10. Der Reset-Taster

Der Reset-Taster benötigt etwas Druck, damit er in der Platine einrastet. Seine Beine kann man nach dem Eindrücken flach umbiegen. Er wird nicht zwangsweise benötigt, man kann ihn auch weglassen.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Die Chip-Sockel

11. Die Chip-Sockel

Nun kommen die Chip-Sockel an die Reihe. Sie haben eine Nase. Diese Nase zeigt in Richtung der Öffnung auf dem Bestückungsdruck (beide nach links). Die Nase hilft später beim Einsetzten der Chips die richtige Richtung zu finden, da die Sockel ja den Bestückungsdruck verdecken.

Achtung! Der Sockel für die Echtzeituhr (8 Pole) und der Speicherkondensator liegen dicht bei einander. Eventuell den Speicherkondensator probestecken, während man die Chip-Sockel einlötet, damit er später noch passt.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Die 22 pF-Kondensatoren

12. Die 22 pF-Kondensatoren

Als nächstes löten wir die 22 pF-Kondensatoren beim 16 MHz-Quarz ein. Die drei Bauteile bilden den Schwingkreis für die Taktung des ATMEGA328.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Die Elektrolyt-Kondensatoren

13. Die Elektrolyt-Kondensatoren

Dann kommen die Elektrolyt-Kondensatoren (C6, C7) an die Reihe. Sie haben eine Richtung, die man beachten muß. Auf dem Gehäuse ist der Minus-Pol gekennzeichnet - dieser muß in das Loch mit dem Doppelstrich.

Diese Kondensatoren stabilisieren den Spannungsregler und müssen 47 μF oder mehr haben.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der Speicherkondensator

14. Der Speicherkondensator

Auch der Speicherkondensator (GC) hat eine Polung, auf die man achten muß. Der Minus-Pol gehört in das Loch, das mit GC- markiert ist. GC steht für Gold Cap, das englische Wort für Speicherkondensator.

Achtung! Wenn der Speicherkondensator festgelötet ist, kommt man so gut wie nicht mehr an den Uhrenquarz. Eventuell vorher die Funktion der Uhr prüfen, siehe 24. Funktionstest.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der 3,3 Volt-Spannungsregler

15. Der 3,3 Volt-Spannungsregler

Der 3,3 Volt-Spannungsregler ist als nächstes dran. Er sieht wie ein Transistor aus. Die flache Gehäuseseite muß mit dem Bestückungsdruck übereinstimmen! Über ihm ist ein Pin mit 3,3V bezeichnet, dort kann man die geregelte Spannung abgreifen (z.B. für einen DCF77-Empfänger).

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der Widerstand R16

16. Der Widerstand R16

Besser spät als nie kommt der letzte Widerstand, R2 mit 1 kOhm, allerdings hochkant stehend. Er begrenzt den Strom für die Power-LED.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Die Hohlstecker-Buchse

17. Die Hohlstecker-Buchse

Dann kommt die Hohlstecker-Buchse an die Reihe, falls man das BBRTCAD mit einem Steckernetzteil versorgen möchte.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der Spannungsregler

18. Der Spannungsregler

Hat man ein Netzteil mit einer Ausgangsspannung zwischen 6,5-12 Volt, kann man den Spannungsregler einlöten (Metallseite nach unten).

Bare-Bones-Real-Time-Clock-Arduino-Ding: Arbeiten ohne Spannungsregler

19. Arbeiten ohne Spannungsregler

Alternativ, wenn man direkt mit passenden 5 Volt arbeitet, kann der Spannungsregler überbrückt werden. Dazu verbindet man die beiden Löcher links und rechts (Spannungseingang und Spannungsausgang) mit einem abgezwickten Bauteilbein. Achtung! Das mittlere Loch ist mit GND verbunden und darf keinen Kontakt bekommen, sonst entsteht ein Kurzschluß!

Bare-Bones-Real-Time-Clock-Arduino-Ding: Der FTDI-Header

20. Der FTDI-Header

Der FTDI-Header kann dazu verwendet werden, die Firmware auf dem ATMEGA328 zu aktualisieren. Der kleine Pfeil unter dem Speicherkondensator zeigt dabei den Pin für GND an.

Die Pinnleiste kann einfach durch abbrechen auf die richtige Anzahl gekürzt werden (Break-Away-Header).

Bare-Bones-Real-Time-Clock-Arduino-Ding: Reinigen der Platine

21. Reinigen der Platine

Nach dem wir fertig sind, vor dem Einsetzten der Chips, reinigen wir die Platine mit Isopropanol (z.B. Teslanol® Isopropanol, Aktiv-Reiniger, 1000ml) oder Platinenreiniger von Flußmittelresten. Da Isopropanol stark entfettet lohnt es sich, eine Handcreme bereit zu halten...

Bare-Bones-Real-Time-Clock-Arduino-Ding: Chips stecken

22. Chips stecken

So sollte die Rückseite der Platine aussehen.

Dann können die Chips gesteckt werden. Die Nase auf den Chipgehäusen muß mit der Nase der Sockel übereinstimmen (nach links zeigen).

Bare-Bones-Real-Time-Clock-Arduino-Ding: From Prototype to Production!

23. From Prototype to Production!

Die weiße Platine wurde mit Fritzing entworfen und als Prototyp im Friting Fab gefertigt, die schwarze aus den Fritzing-Daten bei einem Platinenfertiger hergestellt.

Bare-Bones-Real-Time-Clock-Arduino-Ding: Funktionstest

24. Funktionstest

Jetzt kann über den FTDI-Header Software mit der Ardino-IDE eingespielt werden. Für den Funktionstest gibt es einen kleine Test-Sketch: BBRTCAD_Test_Prog.zip. Für das Aufspielen muß als Board Duemilanove /w ATMEGA328 eingestellt sein.

Im Serial Monitor muss bei korrekter Funktion ein Mal pro Sekunde eine fortschreitende Zeit ausgegeben werden.

Wie geht es weiter?

Mit dem BBRTCAD als Basis kann viele interessante Uhrenprojekte aufbauen.

Binär-Uhr
Binäruhr

Die Neo-Binary-Clock ist ein nettes Nachmittags-Projekt für einen verregneten Sonntag, speziell, wenn man aus einem anderen Projekt noch NeoPixel-Streifen-Stücke übrig hat.

zur Binäruhr gehen

Liquid-Clock
Liquid-Clock

Die Liquid-Clock ist eine Uhr, welche die Uhrzeit mit Hilfe eines NeoPixel-Strips anzeigt. Ein blauer Punkt zeigt die Stunde, ein grüner die Minute und ein roter die Sekunde. Die Punkte bewegen sich dabei fließend, daher der Name Liquid-Clock.

zur Liquid-Clock gehen

ClockPlott-DUE
ClockPlott-DUE

Die ClockPlott-DUE ist eine Wortuhr. Sie zeigt die Uhrzeit in natürlicher Sprache mit der Hilfe von NeoPixel-Streifen an.

zur ClockPlott-DUE gehen

Stückliste

ReferenzAnzahlBezeichnungWertArtikel
XTAL11Quarz16 MHz01933
XTAL21Uhren-Quarz32.768kHz; 12,5pF02695
LED11LED 3mmrot01573
D14 – D174Diode1N 414800235
C3 – C5, C8 – C117Kondensator100nF/63V02185
C6, C72Elektrolytkondensator47µF/35V02053
C1, C22Keramik-Kondensator22pF/50V02388
GC1Speicher-Kondensator47.000uF01983
R11Widerstand 1/4W10 kOhm03402
R3 – R74Widerstand 1/4W4.7 kOhm03397
R21Widerstand 1/4W1.0 kOhm03388
R61Widerstand 0,6W/Metall820 Ohm03285
DS13071EchtzeituhrDS 130702520
ATMEGA3281Mikro-Controller programmiertAtmega 32802602
U11Spannungsregler 5V78 S 0500443
U21Spannungsregler 3,3VTS2950CT-3.302139
RESET1Kurzhub-TasterTP54N16003450
1Einbaubuchse 2,1 mmDC-EBH2.103437
1PräzisionsfassungDIL-801962
1PräzisionsfassungDIL-28-S01971
FTDI1Stiftleiste1x 6-polig gerade03335
1PlatineBBRTCAD_PCB50020
NeoPixel Supporting Set2Platine NeoPixel-Helper50022
NeoPixel Supporting Set2Elektrolyt-KondensatorElko 1000µF/25V02032
NeoPixel Supporting Set1Widerstand 1/2W390 Ohm03540
LDR1FotowiderstandA99501100387
1Widerstand 1/4W10 kOhm03402
RTC, DCF2Widerstand 1/4W1.0 kOhm03388
RTC1LED 3mmgrün01569
DCF771LED 3mmgelb01571
M+, M-, Mode3Kurzhub-TasterTaster TP 095003449
1Platine Tasten-AnschlußTaster_PCB50021