Elektronik-Projekt: Elektronische Sanduhr de luxe


zurück zu Elektronik, Homepage

!! DIE DOKUMENTATION ZU DIESEM PROJEKT BEFINDET SICH NOCH IN ARBEIT !!
Sanduhr de luxe im Betrieb

3. Hardwarebeschreibung

Die Funktionsweise der umfangreichen Schaltung wird zunächst mit einem Blockschaltbild erläutert.

3.1. Blockschaltbild

Blockschaltbild

Die Zentrale Komponente dieses Projektes bildet ein Mikrocontroller (1) vom Typ PIC16F877. Dieser steuert den gesamten Ablauf vom Einschalten des Gerätes bis zur Signalisierung der abgelaufenen Zeit.

Die Hardware-Aufgaben des Mikrocontrollers:

Die Programmierung des Mikrocontrollers kann entweder mit einem externen Programmiergerät erfolgen, wobei der Controller jedoch aus der Fassung genommen werden muss, oder mit Hilfe einer so genannten "ICSP- Schnittstelle" (2). Bei der letztgenannten Methode muss der Controller nicht aus der Fassung herausgenommen werden. Der Mikrocontroller kann mit dieser Schnittstelle direkt in der Anwendung programmiert werden.

Die nicht benötigten Optionen müssen bei einem Nachbau nicht bestückt werden. Die verschiedenen Optionen beeinflussen sich gegenseitig nicht. Sie können daher beliebig kombiniert werden.

nach oben

3.2. Schaltungsbeschreibung

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

Mikrocontroller (1):
Der Mikrocontroller (IC7) stellt die wohl wichtigste Komponente dieses Projektes dar. Für diese Aufgabe wurde der Typ PIC16F877 der Fa. Microchip ausgewählt. Dieser verfügt über eine ausreichende Anzahl an I/O-Pins, über ausreichend Programmspeicher, Datenspeicher und auch über einen nichtflüchtigen Speicher. Weiters über eine vielfältige Anzahl an Hardwarefunktionen (Timer, Analog-Digital-Wandler, I²C-Schnitstelle, usw.). Der größte Vorteil an diesem Mikrocontroller ist aber, dass er einem Flash-Speicher besitzt und daher fast beliebig oft einfach neu programmiert werden kann, und dass ohne ihn aus der Fassung nehmen zu müssen.

Eigenschaften des Mikrocontroller PIC16F877:

Weitere Eigenschaften:

Für die Sanduhr de luxe wird jedoch nur ein Teil dieser Eigenschaften benötigt.

Als Takterzeugung wird eine Standardapplikation bestehend aus einem Quarz (X1), zwei Keramikkondensatoren (C2, C3) und einem Widerstand (R67) verwendet. Bei X1 handelt es sich um einen 4,096 MHz-Quarz. Dieser recht "ungewöhnliche" Wert istnotwendig, damit mit dem Controller eine genaue Uhr realisiert werden kann, welche auch ohne DCF-Synchronisierung oder bei einem gestörten DCF-Empfang eine genaue Zeit erzeugt.

Zur Erzeugung des Reset wurde ebenfalls eine einfache Standardlösung bestehend aus einem Widerstand (R66) und einem Elektrolyt-Kondensator (C1) gewählt. Da der Reseteingang des Mikrocontrollers (MCLR, Pin 1) auch gleichzeitig die Programmierspannung (ca. 13V) bei der ICSP-Programmierung ist, darf während einer Programmierung kein Reset ausgelöst werden. Durch die Diode D109 ist ein Reset durch das RC-Glied (R66 und C1) während einer Programmierung via ICSP nicht möglich.

Die Diode D108 ist notwendig, damit beim Programmieren des Mikrocontroller (IC7) das Programmiergerät nicht die gesamte Hardware versorgt, sondern nur den Mikrocontroller.

Der Kondensator C4 dient zur Entkoppelung der Betriebsspannung für den Mikrocontroller. Für diesen Koppelkondensator sollte ein Keramiktyp verwendet werden. Dieser muss möglichst nahe an diesen IC angebracht werden.

ICSP-Schnittstelle (2):
Diese Schnittstelle (K1) dient zur Programmierung des Mikrocontrollers (IC7), wobei bei dieser Methode der Mikrocontroller nicht aus der Schaltung entfernt werden muss.

Diese Schnittstelle beinhaltet folgende Leitungen:

LED-Matrix (3 und 4):
Die 101 gelben Leuchtdioden, welche den Sand symbolisieren, sind elektronisch in Form einer 13x8-Matrix angeordnet und werden mit Transistor-Schaltstufen (T1 bis T21 und R1 bis R42) angesteuert. 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 den Vorwiderstand verzichtet werden. Dass immer nur eine Zeile bzw. eine Spalte aktiv ist, dafür sorgen drei 8-aus-3- Dekoder (74LS138, IC1 bis IC3). Welche Leuchtdiode gerade leuchten soll wird vom Controller (IC8) bestimmt.

An den I/O-Pins RB0 bis RB3 des Mikrocontrollers (IC7) befinden sich die beiden "Zeilendekoder" IC1 und IC2 und der "Spaltendekoder" IC3 bekommt die I/O-Pins RB4 bis RB6. Diese 7 I/O-Pins sind also für die Ansteuerung der LED-Matrix zuständig. Als Leuchtdioden werden gelbe, 5mm Standardtypen verwendet.

Die LED-Matrix ist nicht ständig aktiv. Im Stand-By-Mode der Sanduhr ist die LED-Matrix komplett ausgeschaltet. Im Mode Pause blinkt die Sanduhr. Das Ausschalten bzw. das Blinken der LED-Matrix erfolgt mit Hilfe der Transistor-Schaltstufe T30, R80 und R81. Die Ansteuerung dieser Schaltstufe erfolgt vom Mikrocontroller (IC8, Pin RA4).

Die Kondensatoren C19 bis C21 dienen zur Entkoppelung der Betriebsspannung für IC1, IC2 und IC3. Für diese Koppelkondensatoren sollten Keramiktypen verwendet werden. Diese müssen möglichst nahe an diesen ICs angebracht werden.

Die im Schaltplan eingekreisten Zahlen (18 bis 31) deuten die Verbindungsleitungen zwischen der Steuerplatine und der Anzeigeplatine an.

Zeitanzeige (5 und 6):
Auch hier wird ein Multiplex-Verfahren zur Ansteuerung der beiden 5x7-Matrixdisplays (LD1 und LD2) sowie der Leuchtdioden D102 bis D107 verwendet. Diese funktioniert jedoch im Gegensatz zur Multiplex-Ansteuerung der LED-Matrix nach einer anderen Methode:

Bei dieser Methode werden die Zeileninformationen durch zwei Schieberegister (IC4 und IC5) des Typs 74LS164 bereitgestellt. Die Spalten selektiert der Mikrocontroller (Pins RE0 bis RE2) mit einem 8-aus-3-Dekoder (74LS138, IC6). Für die Ansteuerung der Schieberegister (IC4 und IC5) werden nur zwei Portleitungen des Mikrocontrollers benötigt. Port RA3 ist die Datenleitung und Port RA2 die Taktleitung. Die Reseteingänge der Schieberegister werden hier nicht benötigt. Da der Spaltendekoder (74LS138, IC6) low-aktive Ausgänge besitzt, die Zeilen jedoch die Anoden der Leuchtdioden bilden sind Inverter/Puffer-Stufen notwendig. Diese Aufgabe übernehmen 6 Transistor-Schaltstufen (T22 bis T27 und R54 bis R65).

Mit einem Low-Pegel am Eingangspin 4 (EN1) von IC6 werden die 5x7-Matrixmodule (LD1 und LD2) aktiviert, mit einem High-Pegel an diesem Eingang werden diese Module deaktiviert. Auch diese Ansteuerung erfolgt vom Mikrocontroller (IC7, Pin RA5). Durch ständiges invertieren dieses Einganges wird ein Blinken des Zeitanzeige erreicht. Dies ist der Fall wenn die Sanduhr kurzzeitig mit der Taste "PAUSE" unterbrochen wird.

Jedes der beiden 5x7-Matrixmodule zeigt eine 2stellige Zahl an. Je Ziffer wird eine Matrix von 3x5 verwendet. Dies hat zur Folge, dass die Spalte zwischen den beiden Ziffern einer Zahl nicht benötigt wird. Pin 9 der 5x7-Matrixmodule (LD1 und LD2) wird demnach nicht benötigt.

Bei der Gestaltung der Lochrasterplatine für die Steuereinheit ergab sich die Situation, dass die Eingänge für den 8-aus-3-Dekoder (IC6) nicht mit A0 (Pin 1 von IC6) mit RE0 (von IC7) und A2 mit RE2 sondern dass diese überkreuzt verbunden werden (A0 mit RE2 bzw. A2 mit RE0). Dieses Überkreuzen wird dadurch wieder ausgeglichen, dass auch die Ausgänge des 8-aus-3-Dekoder (IC6) mit den Spalten der 5x7-Matrixmodule (LD1 und LD2) überkreuzt werden.

Die Kondensatoren C16, C17 und C18 dienen zur Entkoppelung der Betriebsspannung für IC4, IC5 und IC6. Für diese Koppelkondensatoren sollten Keramiktypen verwendet werden. Diese müssen möglichst nahe an diesen ICs angebracht werden.

Die im Schaltplan eingekreisten Zahlen (1 bis 17) deuten die Verbindungsleitungen zwischen der Steuerplatine und der Anzeigeplatine an.

Lautsprecher (7):
Der Lautsprecher (LS1) wird über eine Transistor-Schaltstufe (T28, R75) vom Controller-Pin RC0 (Pin 15) angesteuert.

Schaltausgänge (8):
An den Pins RA0 und RA1 (Pin 2 und 3) des Mikrocontrollers (IC7) stehen zwei voneinander unabhängige (Schalt)-Ausgänge zur Verfügung.

Taster, Drehimpulsgeber und externe Eingänge (9 bis 12):
Die Taster (S1 und S3 bis S6) und der Drehimpulsgeber (S2) dienen zur Bedienung der Sanduhr und werden mit Pull-Up-Widerständen (R69 bis R74) am Port D des Mikrocontrollers angeschlossen (eine Ausnahme ist nur der Taster S1), wobei diese Bedienelemente folgende Aufgaben besitzen:

Die im Schaltplan eingekreisten Zahlen (39 bis 45) deuten die Verbindungsleitungen zwischen der Steuerplatine und der Anzeigeplatine bzw. zwischen der Anzeigeplatine und der Stromversorgungsplatine an.

DCF (13, optional):
Das Zeitzeichensignal zur Synchronisierung der Softwareuhr wird von einem DCF-Modul (DCF1) empfangen. Dieses DCF-Modul beinhaltet eine Empfangsantenne und einen Demodulator, sodass am Ausgang des Moduls das übertragene Zeittelegramm mit dem Mikrocontroller (Pin RD7) ausgewertet werden kann.
Der Ausgangsstrom von nur einem Milliampere ist für die Kontroll-Leuchtdiode (D108) zuwenig. Die Transistorstufe (T29) mit den Widerständen R76 und R77 gleicht diesen Nachteil aus. Der Widerstand R78 dient als Vorwiderstand für die Leuchtdiode D110. Diese Leuchtdiode signalisiert den empfangenen Datenstrom wenn der Jumper JP1 gesteckt ist. Bei einem korrekten Empfang blinkt diese Leuchtdiode im Sekundentakt.

Der Kondensator C5 dient zur Entkoppelung der Betriebsspannung für das DCF-Modul. Für diesen Koppelkondensator sollte ein Keramiktyp verwendet werden. Dieser muss möglichst nahe an diesen DCF-Modul angebracht werden.

IR (14, optional):
Das Infrarotsignal wird vom hochempfindlichen Empfänger IC8 (TSOP1736) empfangen und aufbereitet. Da dieses IC neben dem eigentlichen IR-Empfänger auch einen Filter, einen automatischen Verstärker und einen Demodulator besitzt, kann das Ausgangssignal direkt zur Weiterverarbeitung in den Mikrocontroller (IC7, Pin RD6) geleitet werden.

RS232 (15, optional):
Das RS232-Interface ist mit einem bekannten IC (MAX232, IC9) aufgebaut. Dieser Baustein erzeugt aus einer einfachen +5V-Versorgung die regelgerechte symmetrische Spannungen für den Betrieb der RS232-Schnittstelle. Die Elkos C7 bis C10 sind Teil der internen Ladungspumpen, die Verantwortlich für die DC/DC-Wandlung sind.

Der Elko C6 sorgt für eine Pufferung und Entkopplung und sollte daher möglichst nahe am IC angebracht werden.

Stromversorgung (16):
Die Sanduhr de luxe wird mit einem 9V-Steckernetzteil versorgt.

Zum Ein bzw. Ausschalten wird üblicherweise ein Schalter verwendet. Hier, bei der Sanduhr de luxe soll aber ein Taster (S1) verwendet werden. Das bistabile Relais (Rel1) zusammen mit den Dioden D112 und D113, dem Widerstand R79 und den Elkos C11 und C12 bewirkt, dass sich der Taster S1 wie ein Ein-Aus-Schalter verhält. Beim ersten Druck auf die Taste wird die Sanduhr de luxe eingeschaltet. Bei einem weiteren Druck auf diese Taste wird die Sanduhr de luxe wieder ausgeschaltet. Beim nächsten Druck auf die Taste wird sie wieder eingeschaltet und so fort. Die Funktionsweise dieses Schaltungsteils ist sehr einfach. Bei jedem Druck auf den Taster S1 entlädt sich der jeweils geladene Kondensator (C11 oder C12) über die mit ihm verbunden Spule des Relais. Das führt zum Umschalten des bistabilen Relais. Die Kontakte 4,6 und 8 des Relais sorgen dafür, dass immer nur ein Kondensator geladen ist.

Die Spannungsstabilisierung (auf +5V) erfolgt mit Hilfe des Spannungsreglers IC10 und seinen Stützkondensatoren C13 und C14. C15 dient als zusätzlicher Pufferkondensator, und die Kondensatoren C16 bis C21 als Stützkondensatoren für die digitalen Bausteine IC1 bis IC6.

nach oben


zurück zu Elektronik, Homepage

Autor: Buchgeher Stefan
Erstellt: 20. März 2005
Letzte Änderung: