FAKEDOMAIN.DE

Wem die Stunde schlägt

Wieder einmal hatte ich eine Idee für ein Projekt. Aber wie viele andere wurde es diesmal keine unendliche Geschichte. Aber von vorne.
Im unserem Betrieb wurden vor einiger Zeit mehrere Steuerungen durch neue ersetzt. Dabei fielen sechs Messgeräte ab, die durch ihren Messbereich von einem Milliampere für andere Zwecke nicht mehr zu benutzen waren und weggeworfen werden sollten. Aber mir als alter Sammler waren sie zu schade zum Wegwerfen. Also überlegt was man machen kann. Und voila, die Idee mit der Messgeräte- oder anders gesagt Elektrikeruhr war geboren.
Im Internet fand ich dann das Multimeter-Clock-Projekt von Alan Parekh. Er hat drei Multimeter zu einer Uhr umgebaut. Dazu benutzt er ein PIC. Dort hab ich mir die "Ansteuerung" der Messgeräte abgeguckt, also einfach per PWM und Vorwiderstand. Das mit PWM war mir vorher schon klar, nur hatte ich die Trägheit der Anzeigen nicht bedacht und schon diverse RC-Glättungsstufen vorgesehen. So vereinfachte sich natürlich die Schaltung erheblich.
Nun ging es an die Realisierung. 6 Instrumente, das hiess ich konnte mehr als nur die Uhrzeit anzeigen. Ich entschloss mich neben der Stunde, Minute und Sekunde den Wochentag, und das Datum mit Tag und Monat anzuzeigen.
Als Atmelfan suchte ich mir den AtMega 8 aus. Ein Grund war, dass ich noch einem hatte, andere Gründe waren, dass der tiny2113 zu klein und der Mega16 zu gross war. Taster, Schalten und eine batteriegepufferte Echtzeituhr sollten auch noch rein. Heraus kam dann folgender Schaltplan:

Schaltplan der Messgeräteuhr Schaltplan der externen Bauteile
Und hier noch das EAGLE-File dazu.

Ich machte erst einen Versuchsaufbau mit einem Messinstrument um die Ansteuerung unter BASCOM zu testen. Dabei stellte ich fest, dass die Widerstandswerte, die Alan Parekh für seine Messgeräte benutzte, bei mir so nicht funktionierten. Ich setze bei mir einen 3,9kOhm Widerstand bei einem Milliampere ein. So habe ich bei einem Wertebereich des PWM von 0-255 bei einem Wert von etwa 210 ein Milliampere, sodass man etwas Luft zum Kalibrieren hat.
Hat man andere Messgeräte muss natürlich die Werte anpassen. Also folgende Werte sollten passen, hab sie aber ausser dem 1mA-Wert nicht probiert:

StromWert in Ohm
1mA3900 Ohm
5mA820 Ohm
10mA390 Ohm

Platine Nachdem das Ganze soweit klappte baute ich mir die komplette Schaltung auf Lochraster auf und begann mit der eigentlichen Programmierung der Uhr.

Dabei nahm ich mir die Funktionen der Uhr von Alan als Vorbild. Und das Ergebnis war dann der folgende Quellcode.

Sourcecode

Folgende Funktionen sind integriert:


Nachdem die Software soweit fertig war ging ich daran die Uhr aufzubauen. Als Frontplatte nahm ich als Musteraufbau eine Resopalplatte und den Rahmen fertigte ich aus Pertinax. Die Schalter und Taster sind aus dem Siemensprogramm sodass die Uhr wie eine Schalttafel aussieht. Die Messinstrumente versah ich mit neuen Skalen für die entsprechenden Zeiträume.

Zur Inbetriebnahme muss die Uhr zuerst kalibriert werden. Dazu habe ich im ausgeschalteten Zusatnd zuerst die Messgeräte auf den Nullpunkt eingestellt. Dann wird die Uhr einschaltet und den Schalter auf "Kalibrieren gestellt". Es werden alle Anzeigen bis auf die Monatsanzeige abgeschaltet. Nun wird mit der Plus- und Minustaste der Zeiger auf den Endausschlag eingestellt. Ist dies geschehen wird mit der Enter-Taste der Wert im EEPROM gespeichert und auf die Tagesanzeige weitergeschaltet. So werden alle Anzeigen nacheinander kalibriert. Wichtig ist, dass erst nach drücken der Enter-Taste der Wert gespeichert wird.
Nachdem die Uhr kalibriert ist, kann die Uhr gestellt werden. Dazu wird der Schalter auf "Stellen" geschaltet. Nun erfolgt die Einstellung des Datums und der Uhrzeit genauso wie das Kalibrieren. Zum Einstellen des Jahres wird nach der Sekundeneinstellung die Tagesskala aktiviert und damit das Jahr von 2001-2031 eingestellt. Das Jahr wird benötigt um das Schaltjahr zu berechnen. Nachdem auch dies geschehen ist, und man nicht die Enter-Taste zur Bestätigung vergessen hat, kann der Schalter auf "Normal" gestellt werden und die Uhr beginnt zu laufen. Wird die Uhr abgeschaltet läuft die batteriebetriebene Echtzeituhr weiter, sodass beim Einschalten die Uhrzeit nicht wieder eingestellt werden muss.

Als Gimmick ist wie bei Alans Uhr der Smooth-Modus der Sekundenanzeige integriert. Im Normalfall springt der Sekundenzeiger jede Sekunde weiter. Durch Einschalten der Smooth-Funktion läuft der Sekundenzeiger kontinuierlich weich durch.

Ich könnte jetzt sagen, dass ich die Software noch überarbeiten werde, aber das werde ich wohl nie machen, geht ja.... :-).
Aber was soll ich sagen, im September 2014 gab's doch noch ne Änderung. Ich habe die Software zum einen auf eine 24 Stundenskala umgestellt und eine automatische Sommer-/Winterzeitumstellung integriert. Damit fällt das lästige Umstellen weg. Da hat die Faulheit gesiegt.

Und zum Schluss noch zwei Bilder der Uhr.

Frontansicht Frontansicht

(C) Joachim Fossie Bär Reiter 2009