www.jb-electronics.de » Elektronik » Digitaltechnik » Zeitschaltuhr
Oft kommt es vor, dass man die Zeit vergisst. Um so besser, wenn da die Technik eine Lösung bietet.
Diese Zeitschaltuhr funktioniert eigentlich wie eine normale Uhr, nur lässt sie sich nicht stellen, sie zählt einfach von 0:00 im Sekundentakt hoch. Wird eine (softwareseitig) festgelegte Zeit überschritten, zählt die Uhr zwar weiter, aber lässt die Anzeige blinken. Die Zähldauer ist konstruktionsbedingt auf 9:59 begrenzt.
Hier ist der Schaltplan der Zeitschaltuhr zu sehen:
Hier ist der Schaltplan in höherer Auflösung zu finden.
Verwendet wird der PIC16F627A, der das Zählen und Ansteuern der Siebensegment-Anzeigen übernimmt. Dennoch sollten verschiedene Dinge im Schaltplan auffallen:
Wenn das Signal entfernt wird, zeigt die Uhr die aktuell vertrichene Zeit an (bleibt also stehen), und resettet erst bei der nächsten positiven Flanke am CNY17.
Die Siebensegment-Anzeigen (hier: Anzeigen mit gemeinsamer Anode) werden gemultiplext.
Was heißt das? Dazu werden erst einmal alle gleichnamigen Segmente verbunden (es wird also ein Segment-Bus gebildet). Verbände man nun alle gemeinsamen Anoden mit +5V, und legte z.B. die Segment-Leitung c auf Masse, dann leuchteten alle Segmente c bei allen Siegebsegment-Anzeigen. Das wäre eine einfache Parallelschaltung - mehr nicht.
Der Trick ist nun, dass die Anoden aber nicht permanent mit +5V verbunden werden, sondern steuerbar mittels des PNP-Transistors BC-328 (PNP deshalb, weil nach Minus geschaltet wird; wenn nach Plus geschaltet werden würde, wären NPN-Transistoren verwendet worden).
Ein Multiplex-Vorgang sieht hier so aus: Trenne alle Anoden von +5V. Lege dann das Segment-Muster für die Minuten-Einer an den Segment-Bus, und schalte die Anode der Sekunden-Einer durch. Warte ein bisschen, und schalte die Anode aus, und lege nun das Segment-Muster der Sekunden-Zehner an den Bus, schalte die Zehner-Anode ein, warte, schalte sie wieder aus, lege dann das Segmentmuster der Minuten-Einer an den Bus, schalte die Minuten-Einer-Anode ein, warte, und schalte sie aus.
Dies wird permanent wiederholt. Wenn dieses Verfahren schnell genug angewendet wird, wird dieses eigentliche Blinken unsichtbar für das menschliche Auge. So können viele Bauteile gespart werden (z.B. Schieberegister), aber dadurch wird der Programmcode des Microcontrollers etwas kritischer, da zeitgenau gearbeitet werden muss, da die Anzeige sonst zu stark flimmert. Hier wurde diese Variante gewählt, da die Schaltung recht klein werden sollte.
Hier ist die fertige Platine zu sehen:
Wie unschwer zu erkennen ist, war auf der Vorderseite nur noch wenig Platz für weitere Bauteile, daher musste der Rest auf die Rückseite ausweichen:
Einige flache Bauteile, wie etwa die Vorwiderstände für die Segmente und die Transistoren, das Quarz und die Kondensatoren für den Mikrocontroller-Takt sind auf der Vorderseite der Platine aufgelötet, da sie unter die Siebensegment-Anzeigen passten.
Links im obigen Bild erkennt man den Optokoppler CNY17, rechts im obigen Bild den Microcontroller PIC16F627A; beide sind in Fassungen montiert. Hier ist die fertige Platine noch einmal zu sehen:
Gesteuert wird die Uhr über ein vieradriges Kabel. Verwendet wurde ein Mikrofon-Kabel, da es sehr flexibel ist und einen großen Querschnitt in den vier Einzelleitungen aufweist:
Belegt sind die Kabel wiefolgt:
Farbe | Belegung |
gelb | +24V (Trigger) |
weiß | GND (Trigger) |
grün | +5V (Versorgungsspannung) |
braun | GND (Versorgungsspannung) |
Nun konnte auch die Schutzfolie von den Anzeigen entfernt werden:
Verwendet wurde ein Standard-Gehäuse des Typs P1 der Firma Teko:
Die Platine passt haargenau hinein:
Die Alu-Frontplatte wurde durch rotes Acrylglas ausgetauscht:
Das Kabel wird hinten durch eine Bohrung hinausgeführt. Durch die gebogene Kabelführung (siehe vier Bilder weiter oben) ist das Kabel relativ gut zugentlastet. Trotzdem sollte an dem Kabel nicht übermäßig stark gezogen werden, aber das ist eigentlich selbstverständlich.
Hier ist das fertige Zeitschaltuhr-Modul zu sehen:
Für alle Interessierten gibt es hier den C-Quellcode und das fertig kompilierte HEX-File: Zeitschaltuhr.zip (4KB)
www.jb-electronics.de » Electronics » Digital Technology » Time Switch
There is no English translation of this page available yet. It will take some more time for me to translate the whole website.
If you have a particular interest in this page getting translated as fast as possible, please contact me; I will see what I can do. Please click here for the German version.