UHRCAN

Aus C3D2
Zur Navigation springen Zur Suche springen


Wer

Das ist ein Projekt von Benutzer:Carwe. Da jedes Kind einen Namen braucht, günstigenfalls schöner und griffiger als beispielsweise "Projekt_0x928e4ff2", hab ich es erstmal UHRCAN genannt.

Was

Ziel ist, einen Microcontroller und einige 7-Segment-Anzeigen nebst Energieversorgung zu verwenden, um eine Uhr zu bauen, die im Dunkeln leuchtet. Sie soll sich von einer (noch zu bastelnden) Gegenstelle die Uhrzeit holen können, z.B. wenn sie eingeschaltet wurde und damit natürlich nicht die aktuelle Zeit kennt. Dazu soll ein CAN-Bus quer durch die Wohnung zum Einsatz kommen.

Wie

Microcontroller

Als Microcontroller ist ein ATtiny45 gedacht - ist auch nur ein paar Cent teurer als seine kleineren Brüder. Dieser hat 4096 Byte Flash für den Code, 256 Byte SRAM, 256 Byte EEPROM. Er ist im DIP8-Gehäuse erhältlich. Es sind alle 6 Pins (8 -GND -VCC) für I/O verwendbar. Zwei Pins werden für CAN verwendet werden. Weitere drei Pins werden für die Ansteuerung der 7-Segment-Anzeigen verwendet werden. Den freien Pin könnte man für manuelles Einstellen der Uhr verwenden.

Anzeige

Es sollen vier 7-Segment-Anzeigen angesteuert werden und zwei dazwischen befindliche Punkte, die im Sekundentakt an/aus gehen. Es werden also (4*7+1) 29 verschieden zu steuernde Abschnitte sein. Da ich keinen Microcontroller mit 31 frei programmierbaren Pins verwenden möchte, sondern einen möglichst kleinen, muss eine Lösung für maximal 4 Pins her - also zeitmultiplex. Daher habe ich mir überlegt, einen synchronen Counter zu basteln, der von 0-28 geht und bei 29 resettet wird (Pin A: Count-Impuls, Pin B: Count-Reset). Hinter den Counter einen 1-zu-32-Demultiplexer - schön wäre es, wenn es sowas gäbe. Es werden also mehrere Demultiplexer verwendet werden, mit der entsprechenden Beschaltung ihrer Enable-Eingänge. Vom Microcontroller durch den Demultiplexer zu den 7-Segment-Anzeigen und den 2 Sekunden-LEDs wird also das Signal "leuchten" gesendet, oder eben auch nicht (Pin C: Status der aktuellen LED). Da jedes Segment nur 1/29 der Zeit an sein wird, ist noch zu prüfen, ob der 29-fache Strom fließen muss (Vorwiderstand entsprechend reduzieren), oder ob man mit einem Kondensator für einen gleichmäßigen Stromfluss sorgen kann.

CAN

Der CAN-Bus ist ein Bus, bestehend aus (meist) 2 Leitungen, auf denen (meist) ein differentielles Signal übertragen wird. Als Quelle der Zeit soll ein größerer Atmel eingesetzt werden, der über einen ENC28J60 mit der vorhandenen Ethernet-Installation verbunden wird, um sich darüber die Zeit (u.v.m.) zu holen.

Teileliste

1x ATtiny45 [1]
4x 7-Segment-Anzeige (SC08-11GWA [2])