Tiny Uhr
Eigentlich habe ich nur aus reinem Interesse mit dem
Temperatursensor TSIC206 gespielt. Da aber nach der Programmierung des Thermometers noch jede Menge Platz auf
meinem 16*2 LCD war, habe ich gleich noch eine Uhr mit Kalender programmiert, die nun meinen Schreibtisch
ziehrt
. Das ganze passt locker in
einen Tiny2313. Die einseitige Platine ist in der Breite dem LCD angepasst und wird Huckepack mit M3
Gewindebolzen mit dem LCD verschraubt. Da ich keine RTC oder andere Spezialbauteile benutzt habe, ist die
Genauigkeit der Uhr von dem verwendetem 8 MHz Quarz abhängig. Ich habe vor nach einer gewissen Zeit (wenn ich
die Abweichungen genau kenne) einen Softwareabgleich durchzuführen. Beim vergleich mit der Uhr vom Videotext
geht sie nach 24 Stunden ca. 3,5 Sekunden vor.

Wie man im Bild oben sieht, habe ich dem verwendeten
Temperatursensor
Tsic206 eine Hülle spendiert. Optimal geeignet war der Druckknopf eines Kugelschreibers, den ich mit
2-Komponentenkleber gefüllt und den Tsic samt 100nF Kondensator so eingeschlossen habe.
Links im Bild sieht man den Sensor noch nackt. Zwischen den beiden äusseren Pins (VCC und GND) sitzt der
100nF Kerko (ein SMD 0805) der durch das orange Kabel (Datenleitung) verdeckt wird.
Der
Tsic206 ist als Zugabe zu einer Uhr wohl mehr als ausreichend. Er hat einen Temperaturbereich von -50°
bis +150° Celsius, eine Auflösung von 0,1° und eine Genauigkeit von Typ. 0,3° (max. 0,5°) im Bereich von 10
bis 90° Celsius.
Besonders jedoch gefällt mir die handliche Bauform und das einfache Protokoll (genannt Zacwire).
Hier kurz das wesentliche:
- Alle Einstellungen der Uhr werden über einen Drehgeber gemacht.
- Der Wochentag wird aus Datum berechnet
- Automatische Uhrumstellung zur Sommer und Winterzeit
- Wecker
- Thermometer
- LCD - Hintergrundbeleuchtung in 8 Stufen dimmbar
Schaltplan
Da
ich die Uhr mit einem 9V Steckernetzteil betreibe ist ein 7805 Spannungsregler mit auf der Platine.
Eigentlich hätte da auch die 100mA Version (78L05) gereicht, jedoch hatte ich nur den Standarttyp zur Hand.
D1 ist als Verpolungsschutz gedacht.
Wie man sieht wird das
16*2 LCD im 4Bit Modus betrieben. An JP3 sellt man die Betriebsspannung für die
LED Hintergrundbeleuchtung ein. Da ich keinen Kühlkörper für den Spannungsregler eingebaut habe, habe bei mir
eine feste Brücke von Pin2 - Pin3 eingelötet und habe somit 9V eingestellt. R5 ist dann 33 Ohm/1W. Bei 5V
reicht 6,8 Ohm/1W. Den Kontrast stellt man wie üblich an dem 10k Trimmpoti ein.
An JP2 wird der TSIC 206 angeschlossen, der (lt. Datenblatt) mit dem RC-Glied 220Ohm/100nF zum AVR-Port B0..1
geführt wird. C8 ist zwar auf der Platine vorhanden, braucht aber nicht bestückt zu werden da ich diesen
direkt an die Pins des Sensors gelötet habe (siehe oben).
Der Drehgeber (
Alps STEC12E08) ist an PB2-4 angeschlossen. Leider ist die Achse des Drehgebers zu kurz, dafür gibt es
aber Verlängerungen. Ich habe zu diesem Zweck 2 Potiknöpfe mit 2-Komponentenkleber übereinander geklebt, das
hält solange, bis ich wieder bestelle
.

Nicht im Schaltplan zu sehen ist der Summer. Es
sollte ein 5 Volt Exemplar verwendet werden der bei anlegen der Gleichspannung summt. Dieser kann am AVR ISP
angeschlossen werden. Dazu verbindet man den VTG Pin des ISP-Steckers mit dem + Pin des Summers, den - Pol
des Summers kommt an SCK (PB7 am Tiny2313). ACHTUNG: Im Schaltplan oben stimmen die Nummern des ISP-Steckers
und nicht die Reihenfolge.
Die Platine
... ist den maßen des LCDs
angepasst und ragt rechts unter diesem hervor damit der Drehgeber bedient werden kann. Beim bestücken
empfield es sich für die beiden Drahtbrücken die unter dem Tiny2313 verlaufen isolierten Schaltdraht zu
nehmen, da C3 und R1 darüber liegen. Die Verbindungen von der Platine zum LCD, habe ich mit
Buchsenleisten und
IC-Adapterleisten hergestellt, wobei man die Buchsenleisten stapeln kann um auf die benötigte Höhe zu
kommen. Diese ist abhängig von den verwendeten Abstandsbolzen.

Der 7805 sollte um 90° gebogen eingebaut werden damit der Abstand zum LCD nicht zu hoch wird. Deshalb (wie ich) anstatt JP3 eine Drahtbrücke einbauen oder eine gewinkelte Pfostenleiste verwenden.
Da meine Uhr in keinem geschlossenem Gehäuse eingebaut
ist, habe ich mich entschlossen erstmals chem. Zinn und Lötstoplaminat auszuprobieren. Ich bin begeistert
. Das laminieren und entwickeln
klappte problemlos. Das nötige Material und die PDFs dazu, gibt es bei Oktamex.de. Die Platine lies sich optimal löten, obwohl die Folie beim belichten
minimal versetzt war (Bild rechts kann vergrössert werden), da muss ich wohl das nächste mal besser
Aufpassen.
Stückliste
| R1 | 10k | Widerstand 1/4 Watt |
| R2 | 220R | Widerstand 1/4 Watt |
| R4 | 1k | Widerstand 1/4 Watt |
| R5 | Siehe Text | Widerstand 1 Watt |
| R3 | 10k | Trimmpoti |
| C1, C2 | 22pF | Keramikkondensator |
| C3,C4,C6-C8 | 100nF | Keramikkondensator |
| C5 | 47-220µF / 25V | Elko (je nach Restwelligkeit des Steckernetzteils) |
| D1 | 1N4004 o.Ä. | Gleichrichterdiode |
| Dr1 | Alps STEC12E08 |
Drehgeber, Drehencoder, Rotary Encoder, Drehimpulsgeber :-) Sinvoller währe ein Exemplar mit einer längeren Drehachse |
| Q1 | Quarz 8Mhz | |
| Q2 | BC547, BC237, o.Ä | NPN- Kleinsignaltransistor |
| IC1 | AT Tiny2313 | DIP Version |
| IC2 | LM7805 | Spannungsregler |
| IC3 | TSIC206 | Temperatursensor + 100nF SMD Kerko (Bauart 0805) |
| LCD1 | LCD 162C LED | LCD-MODUL 16X2 mit Beleuchtung |
|
Teile aus der Bastelkiste: Diverse Pinheader usw., Potiknopf, Abstandsbolzen mit passenden Schrauben, Muttern usw.,Anschlussbuchse für Steckernetzteil. *Ich hoffe ich habe nichts vergessen |
||
Bedienung
Nach dem Einstecken des Steckernetzteil, beginnt die Uhr bei 00:00:00 loszulaufen. Ist man nicht gerade beim einstellen der Uhr oder Alarm, kann mit dem Drehimpulsgeber die Hintergrundbeleuchtung eingestellt werden.
Uhr stellen
Ein langer Tastendruck (etwa 1 Sekunde) auf den Drehimpulsgeber startet das Setup.
Nun kann Datum und Uhrzeit durch drehen eingestellt werden. Übernommen werden die Daten durch drücken auf
den Drehgeber.
Wecker
Um den Wecker zu stellen muss innerhalb 1 Sekunde, 2 mal kurz auf den Drehgeber gedrückt werden
(Doppelclick). Danach kann man die Stunden und Minuten (wie oben) durch rechts und linksdrehen einstellen.
Ist der Alarm eingeschaltet, ist im Display unten rechts ein kleiner Lautsprecher zu sehen (Sonderzeichen,
sichtbar im Bild ganz oben).
Der Alarmton dauert eine Minute, falls dieser nicht durch vorzeitiges drücken abgebrochen wird. Der Summer
wird anfangs mit kurzen Impulsen (im Sekundentakt) angesteuert. Je mehr Zeit vergeht, ohne das der Alarm
abgebrochen wird, desto länger (und somit auch lauter) werden die Töne. Dauert der Alarmton mehr als 24
Sekunden an, wird auch noch die Frequenz verdoppelt (die Töne kommen alle halbe Sekunde) sodas der Summer
schon mächtig nervt
.
Download
Beim programmieren des Tiny müssen die Fusebits auf den externen Quarz von 8 MHz eingestellt werden. Also auch die CKDIV8 Fuse nicht vergessen.
Eagle Dateien,ASM und Hex File
Viel Spass beim Basteln, Jürgen
Tiny-Uhr
