12fach-Universal-LED-Display SSD 1
Aus ELVjournal
01/2006
0 Kommentare
Das
12fach-Universal-LED-Display SSD 1 ist für die gleichzeitige
Darstellung von zwei bis zu 6-stelligen Zahlenwerten über großflächige
und weithin ablesbare 7-Segment-LED-Anzeigen konzipiert. Bei Bedarf ist
die Anzeige auch blinkend darstellbar und erlangt so eine höhere
Aufmerksamkeit. Die Ansteuerung dieser universell einsetzbaren
Anzeige-Baugruppe erfolgt über eine serielle Schnittstelle.Universal-Anzeige am 2-Draht-Bus
Abgesetzte,
gut ablesbare Ziffern-, Text- und Statusanzeigen sind sehr vielfältig
nutzbar, das fängt bei der einfachen Zeitanzeige an, geht über
Messwert-Anzeigen bis hin zu Statusmeldungen im Klartext. Nahezu alle
(bis auf echte alphanumerische Darstellungen) in dieser Richtung
denkbaren Aufgaben kann das SSD 1 lösen. Es ermöglicht eine einfache
Darstellung von bis zu 6-stelligen Zahlenwerten. Durch unterschiedliche
Konfigurationsmöglichkeiten kann die Anzeige auch blinkend dargestellt
werden. Zur Signalisierung von weiteren Zuständen sind pro Anzeigereihe
eine rote und grüne LED vorhanden, die unabhängig ansteuerbar sind. Die
Ansteuerung des SSD 1 erfolgt über eine serielle Verbindung vom PC oder
von anderen Geräten aus, z. B. der im „ELVjournal“ 6/2005 vorgestellten
Schieblehrenanzeige. Die ansteuernden Geräte müssen lediglich das hier
vorliegende, einfache Datenübertragungsprotokoll realisieren. Durch den
Aufbau der seriellen Schnittstelle und des Ansteuerungsalgorithmus ist
es möglich, bis zu 16 dieser Geräte an einen seriellen Port eines PCs
anzuschließen und unabhängig voneinander anzusprechen. So kann man vom
PC aus die verschiedensten Anzeigen gleichzeitig steuern, etwa mehrere
Uhrzeitanzeigen, Stoppuhren oder Messergebnis-Anzeigen. Da auch die
obere und untere Anzeige jedes Moduls getrennt adressierbar ist, ergeben
sich hier zahlreiche Nutzungsmöglichkeiten. Durch die nur zwei Adern
erfordernde serielle Datenübertragung ist eine Platzierung von Anzeigen
an verschiedenen Orten bei besonders einfacher Leitungsverlegung
möglich.Betrieb und Ansteuerung
Das
SSD 1 kommt ganz ohne irgendwelche Bedienelemente aus und ist so über
einen PC vollständig konfigurierbar. Das Gerät wird dazu über ein
9-V-Steckernetzteil mit Spannung versorgt. Ein serielles
Verbindungskabel stellt die Verbindung zwischen PC und dem
7-Segment-Display her. Da über RS232 eigentlich nur eine Punkt-zu-Punkt-
Verbindung möglich ist, muss man hier zu einem Trick greifen, um bis
zu16 Module an einen RS232-Port anschließen zu können: Die Kommunikation
erfolgt nur in eine Richtung, nämlich vom PC zum SSD 1. Aus diesem
Grund reichen 2 Adern für die Kommunikation aus – RxD und Masse. Die se
Leitungen werden an die gewünschte Anzahl von Modulen angeschlossen und
die Konfiguration bzw. Übermittlung der Parameter kann sofort beginnen.
Jedes Modul besitzt eine eigene Adresse, die über DIP-Schalter
einstellbar ist. Es ist auch möglich, mehreren Modulen die gleiche
Adresse zuzuweisen. Da jedes Modul über zwei eigenständige Anzeigen
verfügt, muss es natürlich auch zwei unterschiedliche Adressen geben.
Wird über den DIPSchalter die Adresse „0“ eingestellt, so besitzt die
obere Anzeige auf dem Modul die Adresse „0“, die untere Anzeige die
Adresse „1“. Wird die Adresse „1“ eingestellt, so wird die obere Anzeige
auf die Adresse „2“ reagieren, die untere auf „3“ usw. Folgende
Kommunikationsparameter müssen eingestellt werden:
Baudrate: 19.200 Bit/s
Datenbits: 8
Parität: gerade
Stoppbits: 1
Ein Demoprogramm finden Sie im Internet unter www.elvjournal.de unter dem Punkt Downloads.
Parametrierung
Um
möglichst einfach und vor allem universell Daten anzeigen zu können,
gibt es lediglich 5 unterschiedliche Befehle, die in Tabelle 1
aufgeführt sind.Datenaufbau
Je
nach Befehl setzen sich die Daten unterschiedlich zusammen. Allerdings
sind die Daten in einen festen Rahmen gepackt, der das folgende Format
besitzt:
<STX><Data 0><Data 1>...
<Data n><Checksumme><ETX>
STX
und ETX sind Steuerzeichen, die den Paketrahmen bilden. STX entspricht
0x02, ETX entspricht 0x03. Wird innerhalb der Daten ein Zeichen
übertragen, welches ETX oder STX entspricht, so wird zur Kennzeichnung
ein weiteres Steuerzeichen genutzt, das DLE. DLE entspricht der Hex-Zahl
0x10. Kommt das DLE-Zeichen im Datenstrom vor, so wird ein weiteres DLE
eingefügt. Die Checksumme berechnet sich aus der Summe der einzelnen
Datenbytes, wobei jedoch ein Überlauf ignoriert wird. Es werden nur die
Netto-Daten addiert. STX, ETX und DLE werden also nicht zur Berechnung
der Checksumme herangezogen.
Hex-Daten
Der
Befehl zur Übertragung von Hex- Daten lautet 0x00. Als Parameter wird
ein „signed long“- Wert übergeben. Der Wert wird im Little-
Endian-Format innerhalb des Pakets übertragen. Das bedeutet, dass das
niederwertigste Byte als erstes und das höchstwertige als letztes
übertragen wird. Bei Intel- und AMD-Prozessoren entspricht dies auch der
Reihenfolge im Speicher. Motorola-Prozessoren verwenden das
Bit-Endian-Format. Hier wird das niederwertigste Byte an der höchsten
und das höchstwertige Byte an der niedrigsten Adresse gespeichert.
Zusätzlich zum Wert wird auch noch ein Konfigurationsbyte übertragen,
hier kann die Anzahl der Nachkommastellen übergeben werden. Zusätzlich
kann man angeben, ob das Display führende Nullen anzeigen soll.
Bit Beschreibung
0 0: führende Nullen nicht einblenden
1: führende Nullen einblenden
1–3 Anzahl der Nachkommastellen (max. 5)
Das Datenpaket sieht damit folgendermaßen
aus:
<STX><Adresse>0x00<Konfig>
<Zahl(4Byte)><Checksumme><ETX>
Beispiel: 0x03 0x05 0x00 0x04 0x39
0x30 0x00 0x00 0x72 0x02
In
diesem Beispiel wird also an die Adresse 0x05 die Zahl 0x3039 (Dezimal
12345) mit 2 Nachkommastellen und ohne führende Nullen gesendet.
BCD-Daten
Hier
werden die gewünschten Zahlen einzeln pro 7-Segment-Anzeige als
Hex-Zahl übergeben. Der Zahl 0 entspricht das Byte 0x00, 9 entspricht
0x09. Bei der Übergabe einer Zahl größer 9 bleibt die jeweilige Anzeige
dunkel. Man benötigt also 6 Datenbytes. Die Kommastelle wird durch das
Konfigurationsbyte mitgesendet. Allerdings wird hier das Bit 0
ignoriert. Es erfolgt die Übertragung des Befehls 0x01.
<STX><Adresse>0x01<Konfig>
<Data0><Data1>
...<Data5><Checksumme><ETX>
Beispiel: 0x03 0x05 0x01 0x04 0xFF
0x01 0x10 0x02 0x10 0x03 0x04 0x05
0x18 0x02
Es
erscheint die gleiche Anzeige wie im vorherigen Beispiel. In diesem
Beispiel wird auch die Nutzung des Steuerzeichens DLE (0x10) gezeigt.
Vor dem 0x02 und dem 0x03 wird jeweils ein 0x10 eingefügt.
Binär-Daten
|
Die Zuordnung der einzelnen Bits zu den Segmenten |
Zum
Übertragen von Binär-Daten benutzt man den Befehl 0x02. Jedes Segment
ist einzeln ansteuerbar. Dazu wird für jede Stelle der 7-Segment-Anzeige
ein Datenbyte benötigt, insgesamt also 6 Datenbytes. Ein
Konfigurationsbyte entfällt. Die einzelnen Bits in den Datenbytes
entsprechen den 8 Segmenten (mit Dezimalpunkt) auf jedem Display.
Abbildung 1 zeigt die Zuordnung der einzelnen Bits zu den SegmentenKonfirguration des Displays
Über
den Befehl 0x03 ist es möglich, die komplette Anzeige an, aus oder
blinkend zu schalten. Für den Blinkbetrieb sind vier unterschiedliche
Blinkfrequenzen verfügbar. Zur Konfiguration ist nur 1 Datenbyte nötig.
Die ersten beiden Bits sind für den Anzeigemode reserviert, Bit 3 und 4
für die Blinkfrequenz. Die restlichen Bits sind nicht definiert, sie
können beliebig gesetzt werden. Die Daten selbst erfahren durch eine
neue Konfiguration keine Änderung.
Mode: 0 0 Display an
0 1 Display aus
1 0 Display blinkend
Frequenz: 0 0 0,25 Hz
0 1 0,5 Hz
1 0 1 Hz
1 1 2 Hz
<STX><Adresse>0x03<Konfig>
<Checksumme><ETX>
Beispiel: 0x03 0x05 0x03 0x0E 0x13
0x02
Hier wird das Display mit der Adresse 0x05 in den Blinkmodus versetzt. Die Frequenz beträgt 2 Hz.
Konfiguration der LEDs
Das,
was mit dem kompletten Display möglich ist, kann man auch mit jeder
einzelnen LED machen. Hier wird neben dem Konfigurationsbyte auch noch
die LEDNummer benötigt. Der benötigte Befehl ist 0x04. Für die LED wird
entweder eine 0 oder eine 1 erwartet.
<STX><Adresse>0x04<LED>
<Konfig><Checksumme><ETX>
Schaltung
|
Bild 2: Das Schaltbild des SSD 1 |
Kommen
wir nun zur Beschreibung der in Abbildung 2 dargestellten Schaltung des
SSD 1. Aufgrund der Mikroprozessorsteuerung gestaltet sich die
Schaltung sehr übersichtlich. Die Betriebsspannung von 9 VDC wird über
die Buchse BU 1 eingespeist. Sollte eine höhere Betriebsspannung
gewünscht sein, so sind die Widerstände R 27 bis R 34 entsprechend
anzupassen. Allerdings ist hierbei die maximale Verlustleistung zu
beachten. Die Spannung darf jedoch 15 V nicht überschreiten, da
ansonsten der 1-aus-16-Decoder (IC 2) zerstört werden könnte. Die Diode D
5 dient als Schutzdiode gegen eine Verpolung der Betriebsspannung. Die
Kondensatoren C 5 bis C 11 sind zur Unterdrückung von Störungen und zur
Pufferung der Spannung eingesetzt. Das IC 2 wird direkt mit der
Versorgungsspannung verbunden. Der Festspannungsregler IC 1 erzeugt die
stabilisierte 5-V-Betriebsspannung für den Controller. Zentraler
Bestandteil des SSD 1 ist der Mikrocontroller IC 3, der ATmega88 von
Atmel. Er wird mit einer Taktfrequenz von 11,059 MHz, generiert von Q 1
und dem internen Oszillator, betrieben.internen Oszillator, betrieben.
Zur Einstellung der Adresse wird der DIP-Schalter S 1 eingesetzt. Hier
ist eine der Adressen 0 bis 31 in 2er-Schritten einstellbar. Der
Schnittstellenbaustein IC 4 vom Typ MAX232 dient der Umsetzung der
Datenpegel. Er wandelt die seriellen RS232-Signale in TTL-kompatible
0–5-V-Signale um. Zur Erzeugung der erforderlichen symmetrischen
±12-V-Versorgung sind die Kondensatoren C 1 bis C 4 nötig. Die Segmente
der 7-Segment-Anzeige werden im Multiplex-Betrieb zyklisch mit einem
entsprechend hohen Strom angesprochen. Durch die Trägheit des
menschlichen Auges entsteht dadurch ein stehendes Bild des
Anzeigewertes. Die einzelnen Segmente der Anzeigen werden über Bild 2:
Das Schaltbild des SSD 1 die Ausgänge PC 0 bis PC 6 sowie PD 2 und PD 3
von IC 3 gesteuert. Zur Stromverstärkung sind 8 Transistorschaltungen
mit einem Basiswiderstand von 1 kΩ eingesetzt. Der Strom der einzelnen
Segmente wird über die Widerstände R 27 bis R 34 begrenzt. Zur Auswahl
einer der zwölf 7-Segment-Anzeigen sowie der LEDs dient der
1-aus-16-Decoder IC 2. Da IC 2 direkt mit der Versorgungsspannung der
Schaltung betrieben wird, werden die 5-VSignale des Mikrocontrollers
über die vier Transistorstufen T 22 bis T 25 auf die höhere
Versorgungsspannung +UB angehoben. Die Widerstände R 44 bis R 47 dienen
dabei als Pull-up-Widerstände. Am Ausgang des IC 2 wird immer ein Pin
nach Masse gezogen, wodurch die jeweilige Anzeige wiederum durch die
nachfolgende Schaltstufe ausgewählt wird.Nachbau
Der
Nachbau der Schaltung gestaltet sich sehr einfach, da die SMD-Bauteile
bereits vorbestückt und nur noch die bedrahteten Bauteile zu bestücken
sind. Die Bestückung beginnt mit den Widerständen R 27 bis R 34. Diese
sind zur besseren Wärmeabfuhr in einem Abstand vom ca. 1 mm zur Platine
einzulöten. Als Nächstes werden der DIP-Schalter sowie das IC 2 bestückt
und verlötet. Beide Bauteile sind polrichtig entsprechend dem
Bestückungsdruck zu bestücken. Jetzt folgen IC 1 und C 1 bis C 4 sowie C
9, auch hier ist die polrichtige Einbaulage zu beachten (am Elko ist
der Minuspol markiert, die Einbaulage von IC 1 ergibt sich aus der Lage
der Bestückungsbohrungen). Beim folgenden Anlöten der Buchse BU 1 ist
darauf zu achten, dass reichlich Lötzinn verwendet wird, um einen
geringen Übergangswiderstand zu erhalten. Nun sind die Buchse BU 2 und
die restlichen Kondensatoren einzulöten. Bei den Elkos ist wiederum auf
die korrekte Einbaurichtung zu achten, bei BU 2 auf den planen Sitz des
Buchsenkörpers auf der Platine.Kommen wir zu den 7-Segment-Anzeigen.
Hierzu werden zunächst jeweils zwei 15-polige Buchsenleisten
zusammengesteckt. Damit die Anzeigen nachher genau unter dem roten
Sichtfenster liegen, sind zunächst die Anschlüsse der 7-Segment-
Anzeigen um ca. 1,5 mm zu kürzen. Jetzt werden die Anzeigen auf die
Buchsenleisten gesteckt und diese in der richtigen Einbaulage in die
Platine eingesetzt und verlötet. Die nun folgenden LEDs sind polrichtig
(Anode ist der längere Anschluss) so einzulöten, dass sie später genau
durch die Bohrungen der oberen Halbschale des Gehäuses passen. Der
Abstand zwischen LED-Spitze und Platine beträgt 20 mm. Zum Abschluss
wird die Platine in die untere Halbschale des Gehäuses gelegt und mit 6
kleinen Schrauben befestigt. Die beiden roten Sichtfenster sind in die
obere Halbschale einzudrücken. Je nach Anwendungsgebiet sollte die
Scheibe evtl. mit etwas Kleber befestigt werden. Dabei sollte kein
Klebstoff zur Anwendung kommen, der die Kunststoff-Scheibe angreift.
Insbesondere Kleber, die stark verdunsten, sind nicht geeignet, so etwa
viele Sekunden- Kleber. Gut geeignet sind Modellbau-Kleber, die
kunststoffverträglich sind, z. B. Polystyrol-Kleber. Abschließend ist
die obere Halbschale auf die untere zu legen und beide Halbschalen sind
mit den 4 restlichen Schrauben zu verbinden. Damit ist der Aufbau
abgeschlossen. Der Anschluss des Gerätes erfolgt sodann über eine
9-polige-Standard-SUBD- Buchse, wobei die Busverbindung lediglich, wie
beschrieben, über zwei Adern erfolgt: Pin 3 ist RxD und Pin 5 ist Masse
an BU 2.
|
Ansicht der fertig bestückten Platine des 7-Segment-Displays mit zugehörigem Bestückungsplan von der Bestückungsseite |
|
Ansicht der fertig bestückten Platine des 7-Segment-Displays mit zugehörigem Bestückungsplan von der Lötseite |
Fachbeitrag online und als PDF-Download herunterladen
Inhalt
Sie erhalten den Artikel in 2 Versionen:
als Online-Version
als PDF (5 Seiten)
Sie erhalten folgende Artikel:
- 12fach-Universal-LED-Display SSD 1
- 1 x Journalbericht
- 1 x Schaltplan
Hinterlassen Sie einen Kommentar: