*Empty MediaWiki Message*

This commit is contained in:
Carwe 2010-08-19 17:54:56 +00:00
parent 75031d8e32
commit 02e9b6c86c

View File

@ -12,11 +12,15 @@ Ziel ist, einen Microcontroller und einige 7-Segment-Anzeigen nebst Energieverso
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.
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 resetbaren (a)synchronen Counter zu basteln. (Pin A: Count-Impuls, Pin B: Count-Reset) Die beiden höchsten Bits wählen die Ziffernstelle (1 aus 4 7-Segment-Anzeigen), und die drei niedrigen Bits wählen über einen einzelnen 1-aus-8-Demultiplexer das Segment der Ziffer (1 aus 7 Segmenten). Anstelle eines beliebigen achten Segmentes kann ich dann die Sekundenpunkte anschließen.
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 maximal 1/32 der Zeit an sein wird, ist noch zu prüfen, wie man für ausreichende Helligkeit 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 [http://www.atmel.com/dyn/products/product_card.asp?PN=ATtiny45]<br />
4x 7-Segment-Anzeige (SC08-11GWA [http://www.alldatasheet.net/datasheet-pdf/pdf/116616/KINGBRIGHT/SC08-11GWA.html])
4x 7-Segment-Anzeige (SA08-11GWA [http://www.datasheetarchive.com/pdf-datasheets/Datasheets-16/DSA-306872.html])<br />
1x 1-aus-8-Demultiplexer, z.B. 74138<br />
1x Counter 5-bit, oder 2-bit + 3-bit, z.B. 74393, 2x 4-bit