Elektronik-Projekt: Elektronische Sanduhr


zurück zu Elektronik, Homepage

Dieses Projekt wurde in der Elektronik-Zeitschrift Elektor ( http://www.elektor.de) in der Ausgabe Februar 2003 publiziert.

Sanduhr im Betrieb

3. Schaltungsbeschreibung

Die Schaltpläne zu diesem Projekt befinden sich im Download-Bereich auf dieser Seite.

Beim Betrachten der Schaltpläne fällt sofort das 8x8-LED-Matrix-Feld auf, das ja auch eines der Hauptbestandteile dieses Projekts darstellt. Wo bleiben die Vorwiderstände für die Leuchtdioden? Da hier ein Multiplex-Verfahren angewendet wird und immer nur eine einzige Leuchtdiode für einen Bruchteil einer Sekunde leuchtet kann auf die Vorwiderstände verzichtet werden. Die Zeilen und Spalten der 8x8-Matrix werden über je eine Transistorstufe angesteuert. Dass immer nur eine Zeile bzw. eine Spalte aktiv ist, dafür sorgen zwei 8-aus-3-Dekoder (IC2 und IC3). Welche Leuchtdiode gerade leuchten soll wird vom Controller (IC1) bestimmt.

Die zweite wichtige Komponente ist der Controller (IC1). Hier wird ein PIC16F84 verwendet. Dieser ist leicht erhältlich und besitzt genau die Anzahl an I/O-Pins, die hier benötigt werden. Der größte Vorteil an diesem Controller ist, dass er einen Flash-Speicher besitzt und daher fast beliebig oft einfach neu programmiert werden kann. Der PIC16F84 besitzt auch ein EEPROM, welches jedoch für diese Anwendung nicht benötigt wird. Die Aufgabe des Controllers ist es den gesamten Ablauf, vom Einschalten bis zur Signalisierung der abgelaufenen Zeit zu steuern. Mehr dazu im Abschnitt 4. Softwarebeschreibung.

Als Takterzeugung wird eine Standardapplikation bestehend aus einem X1,C6,C7 und R5 verwendet. Bei X1 sollte es sich um einen 4-MHz-Quarz handeln, mit einem 4-MHz-Resonator würde die Schaltung zwar auch funktionieren, die Zeiten wären aber ungenau. Bei Verwendung eines Quarzes stimmten die eingestellten Werte (Konstanten) mit den errechneten Werten überein.

Zur Erzeugung des Reset wurde ebenfalls eine einfache Standardlösung bestehend aus R4 und C8 gewählt. Die Stopptaste (S2) führt ebenfalls einen Reset aus, und versetzt den Controller daher in den Ausgangszustand.

An den I/O-Pins RB0 bis RB2 befindet sich der "Zeilendekoder" IC2, der "Spaltendekoder" IC3 bekommt die I/O-Pins RB3 bis RB5. Diese 6 I/O-Pins sind also für die Ansteuerung der LED-Matrix zuständig. Als Leuchtdioden werden gelbe, 5mm Standardtypen verwendet.

Der Lautsprecher (LS1) wird über eine Transistor-Schaltstufe (T17, R6) vom Contoller-Pin RB6 angesteuert.

Die abzulaufende Zeit wird mit einem HEX-Codierschalter (S1) eingestellt. Dieser benötigt für die 16 möglichen Schalterstellungen 4 Leitungen, und je einen Pull-up-Widerstand (Widerstandsarray R1 oder 4 Einzelwiderstände). Als Controller-Pins wurden RA0 bis RA3 verwendet.

Optional ertönt bei jedem Zustandswechsel der LEDs ein Beepton, falls der Jumper JP1 gesteckt ist. (Controller-Pin RA4).

Gestartet wird die LED-Sanduhr mit der Starttaste S3, welcher über einen Pull-Up-Widerstand (R7) mit dem Controller-Pin RB7 verbunden ist.

Die LED D65 ist mit einem Vorwiderstand (R3) direkt mit der Betriebsspannung verbunden. Diese Leuchtdiode leuchtet daher ständig. Sie ist deshalb auch in der Mitte des "LED-Feldes" angeordnet.

Zur Stromversorgung gibt es nicht viel zu sagen. Ein Festspannungsregler vom Typ 78L05 übernimmt mit den Kondensatoren C1 und C2 die Spannungsregelung. Die Diode D66 dient als Verpolungsschutz. Mit dem Ein/Aus/Ein-Schalter (S4) lässt sich nicht nur die Sanduhr ein und ausschalten. Hier wird auch bestimmt, welche Stromquelle die Sanduhr versorgen soll. Alternativ zu einem Steckernetzteil kann eine 9-V-Batterie oder ein 9-V-Akku verwendet werden. Eine automatische Ladung des Akkus ist hier nicht vorgesehen!

nach oben


zurück zu Elektronik, Homepage

Autor: Buchgeher Stefan
Erstellt: 30. September 2003
Letzte Änderung: 10. Oktober 2004