Arduino

Das Ende …

2011/07/30

… der Bastelei ist für die BigClock gekommen.

Denn sie ist fertig. Für den Atmega328 wurde noch eine kleine Platine mit Spannungsreglern, Quarz und Kerko erstellt und das alles hinter der Anzeige untergebracht.
Schön ist es aber nicht, deswegen gibt es auch keine Bilder davon.

Der DCF77 Empfänger hängt nun nicht permanent dran, sondern erstmal nur nach Bedarf. Somit kann die Uhr laufen und ich kann den DCF77 Empfänger für weitere Basteleien verwenden. Irgendwann soll da aber noch ein eigener dran.

Hier nun ein kurzes Video, von der fertigen Uhr.

Gestern abend noch die Verbindung zwischen Arduino und Steuerplatine gelötet. Danach musste die Anzeige „noch schnell“ angeschlossen werden, mit ernüchterndem Ergebnis. Es leuchtet, aber was da angezeigt wird, ist nichtmal annähernd sinnvoll.

(Das Video ist gekürzt, um den Fortschritt der Zeit zu sehen.)

So habe ich mir noch den Abend um die Ohren geschlagen und die bisher vergessen „NOT“ Funktion eingebaut. Diese ist notwendig, weil die Pegelwandler simpel, aber invertierend arbeiten. Irgendwann war es aber soweit, sie hat die Uhrzeit angezeigt.

Yeaha!

Gestern die erste, heute schon die zweite?

Ja. Denn die erste geht schon nicht. Also wurde noch schnell ein zweites gebaut.

Unterschiede:

  • Es ist optisch deutlich sauberer aufgebaut.
  • Die Pullup-Widerstände wurden weggelassen, weil der Arduino schon welche eingebaut hat.
  • Die Anschlusspins wurden anders belegt.

Letzteres hat eigentlich keinen technischen Sinn. Allerdings habe ich mich damit an einem bestehenden Modul orientiert.

Und dieses funktioniert nun auch.

Das erste hat wohl nicht überlebt, weil ich bei der ersten Beschaltung die Betriebsspannung an einen der Ausgänge angelegt habe. Preislich zu verschmerzen. Und schön war es auch nicht. Den Quarz und den Kerko werden aber wohl wiederverwendet für eine weitere RTC.

RTC mit DS1307

Real Time Clock

2011/06/20

Nachdem eine Uhr auch die Zeit kennen sollte, und die Versuche mit dem DS1307 erfolgreich waren, wurden also die notwendigen Bauteile bestellt.

Heute kam die Lieferung. Also die Lötspitze gewechselt, das gute Lötzinn rausgesucht und los gings.

Nach über einer Stunde war die kleine Platine auch schon fertig aufgebaut. Zwar nicht schön, aber hoffentlich funktionsfähig. Mir fehlt offensichtlich die Übung. Anderseits sind die Bauteile auch wirklich sehr klein.

Erfeulicherweise hält sich der Aufwand in Grenzen. Der Baustein verlangt eigentlich nur nach einem 32,768kHz Quarz.
Die drei 10k Pullup-Widerstände an den Ausgängen sind nicht wirklich notwendig, aber in vielen Schaltplänen drin. Dazu kommt noch ein kleiner Kondensator zwischen +5V und Masse.
Pin 3 ist im Moment noch unbenutzt. Hier kommt später noch die Pufferbatterie dran. Mit einer gewöhnlichen Lithium-Knopfzelle läuft die interne Uhr typischerweise über 7 Jahre lang.

Das sollte doch genügen.

RTC mit Dallas DS1307

Es leuchtet!

2011/06/13

Heute ging es mal wieder weiter, wenn auch erstmal damit, den Fehler in meinem „Binärgeber“ (8 Umschalter) zu suchen. Einer der Schalter war tatsächlich defekt, aber nach dem Austausch ging es dann auch flott weiter.

Nun leuchtet sie also das erste mal so richtig. Hab auch gleich die Funktion durchgetestet, nachdem BL und LT erstmal fest auf HIGH gelegt wurden. CMOS-Bausteine scheinen keine offenen Eingänge zu mögen.

Die CMOS übernehmen, wie erwartet, den Binärcode nur, wenn sie mittels des LATCH-Eingangs dazu aufgefordert werden, und steuern die Anzeige wie gewollt an.
Somit werde ich mir mal langsam Gedanken über das PRG machen…

Erste Anzeige

Proto-Shield

2011/06/08

Das Proto-Shield ist eines der einfachsten, die es gibt. Dieses hat neben zwei Tastern noch zwei LEDs integriert.

Das Steckboard in der Mitte ist auf die Platine mit Doppelseitigem Klebeband aufgeklebt und hat im abgebildeten Zustand keine elektrische Verbindung. Diese werden über handelsübliche Steckbrücken erst hinzugefügt.

Gut geeignet für schnelle und kleine Versuchsaufbauten.

Proto-Shield

WTF is Arduino?

2011/06/08

Der Arduino ist ein Entwicklerboard für einen AtMEGA328 µC. Dieser kann über USB mit einen Computer verbunden und programmiert werden.

Die Entwicklungsumgebung gibt es bei aurdino.cc für Windows, Linux und Mac OS X.

Außerdem gibt es dafür jeden Menge „Shields“. Kleine Erweiterungsplatinen für verschiedenste Funktionen oder Prototypenaufbauten.

Arduino UNO

Die Ansteuerplatine

2011/06/07

Nachdem ich gestern Abend doch mal wieder etwas Zeit hatte, habe ich die Ansteuerplatine fertig gestellt und die Anzeigen mit Flachbandkabel und Pfostenstecker versehen, damit ich diese an die Platine einfach anstecken kann.

Heute dann einen ersten Funktionstest gemacht und dabei einen kleinen Leiterbahnschluss festgestellt, der aber auch nicht ganz niederohmig war. Hat aber genügt, um ein zweites Segment mitleuchten zu lassen. Fehler gefunden, beseitigt und nun geht es wie es soll.

Bei diesem Test auch festgestellt, dass 10V Betriebsspannung für die CMOS mehr als genügen. Dabei fliessen durch die Segmente ca. 13,5mA, was für eine ausreichende Helligkeit sorgt.

Als nächstes ist dann also endlich mal der kleine Arduino dran…

Ansteuerplatine

Anschlüsse der Flachbandkabel

Da sich in der Zwischenzeit neue Aspekte ergeben haben, und auch die Suche nach Bauteilen für die Verwirklichung voran schritt, gibts hier erstmal einen neuen Schaltplan.
Mittlerweile hat sich einiges geändert. Die KSQ sind rausgefallen und werden durch einfache Vorwiderstände ersetzt. Die CD4511 können laut Datenblatt den Strom von ca. 16-18mA locker ab.

Allerdings brauch ich nun einen Pegelanpassung, da der Atmega328 mit 5V, die Anzeigen aber mit 12V und die CMOS mit 15V betrieben werden.
Das sollte allerdings mit den Pullup-Widerständen in Verbindung mit den Transistoren gut funktionieren.
Dadurch dreht sich zwar die Logik am Ausgang um, aber das sollte nicht wirklich stören.

Den LT- und den BL-Eingang hab ich erstmal nur mit einem Input-Pin versehen. In der endgültigen Schaltung werden diese auf HIGH gelegt.
Allerdings kann ich entweder eine kleinen Taster anschliessen, um den Lampentest manuell auszulösen, oder im Falle des BL, einen Helligkeitsgesteuerten Multivibrator anschliessen, der die Anzeigen durch PWM dimmt.

Der Schaltplan

Der schwarze Montag

2011/05/02

Alles begann ganz harmlos mit einem Telefonat.

Im laufe dessen aber stellten sich einige meiner Vorstellungen über den weiteren Aufbau doch als kaum umsetzbar heraus. Aber wenn man mir meine schlecht durchdachten Ideen schon ausredet, hat man gefälligst auch für Ersatz zu sorgen.

Jedenfalls hat sich das Telefonat über mehr als 2 Stunden hingezogen.

Und am Ende war doch eine brauchbare Lösung gefunden:

  • die 28 Konstantstromquellen (KSQ) bleiben bestehen
  • die Anzeige wird nicht gemultiplext
    • weil sonst der Strom hochgedreht werden müsste um die Helligkeit zu behalten
    • dabei die Gefahr besteht, bei einem Fehler im multiplexen oder µC Absturz die Anzeigen das zeitlich segnen
  • mit 8 Steuerleitungen können die Anzeigen komplett angesteuert werden

Der weitere Plan, der noch gezeichnet werden muss, sieht vor, dass je ein CD4511 (BCD-to-7Segment Decoder / Latch) eine Anzeige über die KSQ ansteuert. Dadurch gehen die ersten 4 Steuerleitungen weg.

Und dann werden ja noch vier Steuerleitungen für den je einen Latch-Eingang benötigt.

Somit bleiben sogar noch ein paar Ausgänge übrig. Möglicherweise werden die 5mm LEDs in der Mitte nicht nur zum statischen leuchten verdammt sein. Aber konkreter werd ich mir erst dann Gedanken machen, wenn der Rest einigermassen steht.

Fraglich ist noch, ob ich die Platine der KSQ wegwerfe und die Bauteile zusammen mit dem CMOS auf einer verlöte, oder ob ich lieber ein Drahtgrab baue…