Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
LiFePO4 Speicher Test

K (Schaltung LED-Anzeige 4stellig, Multiplexing)
Zeile 44: Zeile 44:
  
 
[[Bild:Siebensegment_4fach_Multiplexing.png|500px]]
 
[[Bild:Siebensegment_4fach_Multiplexing.png|500px]]
 +
 +
Der Mikrocontroller muss nacheinander die "Stelle_x"-Anschlüsse auf +5V legen, während die anderen "Stelle_x"-Anschlüsse auf GND liegen. Zusätzlich muss dann - wie bei der direkten Ansteuerung - an die Leitungen der Segmente dann +5V angelegt werden, um das entsprechende Segment leuchten zu lassen.
 +
 +
Anmerkung: Um die gleiche Helligkeit der Anzeige wie bei der direkten Ansteuerung zu erreichen, muss der Strom durch die LED-Anzeigen erhöht werden, da diese ja nur für einen kurzen Moment mit Strom versorgt werden. Bei 4 Stellen muss der Strom durch die LEDs dann bei der Ansteuerung auch 4x so hoch sein. Für Standard-LED-Anzeigen mit 20mA Stromverbrauch pro Segment bedeutet das, dass der Mikrocontroller auf den Segmentleitungen auch 80mA treiben können müsste! Der maximale Strom liegt jedoch pro Pin bei etwa 25-50mA, sind mehrere Ausgänge geschaltet, liegt dieser Wert noch niedriger! Pro Port (z.B. gesamter PORTB) sind nur ca. 100mA Gesamtstrom zulässig, sodass die Steuerung bei diesem Strom auf diese Art und Weise der Ansteuerung bereits zum Problem wird.
 +
 +
Einerseits kann man Low-Current-Anzeigen verwenden, diese benötigen nur 2mA anstatt 20mA, sparen damit also 90% des Strombedarfes ein. Andererseits können Transistorverstärker dahinter geschaltet werden (entweder npn-Transistoren in Kollektorschaltung oder pnp-Transistoren in Emitterschaltung.
 +
 +
-> Schaltplan
 +
 +
Vorteile von Multiplexing:
 +
* es können viele Stellen angesteuert werden, nur mit Multiplexing ist dies vernünftig realisierbar
 +
* man kommt mit deutlich weniger Pins als bei der direkten Ansteuerung gesteuert aus
 +
 +
Nachteile von Multiplexing:
 +
* der Mikrocontroller ist ständig mit der Ansteuerung der Anzeige beschäftigt
 +
* der Maximalstrom pro Portpin/gesamten Port (bei dieser einfachen Variante) wird zum Problem (außer bei Low-Current-Anzeigen)
 +
* bei einem Softwarefehler kann es durch den erhöhten Strom durch die Segmente passieren, dass Siebensegmentanzeigen beschädigt werden.
 +
* Aufwändiges Platinenlayout notwendig, um alle Segmentleitungen der Anzeigen miteinander zu verbinden, es gibt allerdings auch Anzeigen, die für Multiplexing vorgesehen wurden und dort die Segmentleitungen bereits zusammengefasst sind.
 +
 +
==== Variante mit Dezimalzähler 4017 ====
 +
 +
Sollen viele Stellen angesteuert werden, so muss bei der oben gezeigten Variante pro Stelle auch ein Portpin spendiert werden. Stehen nicht genügend Ausgänge zur Verfügung, kann ein CMOS-Dezimalzähler CD4017 eingesetzt werden.
 +
 +
[[Bild:Siebensegment_4017.png]]
 +
 +
Bei der Verwendung dieses ICs müssen die Ausgänge auf der rechten Seite mit den Basiswiderständen aus der obigen Schaltung verbunden werden, die Transistoren und Widerstände werden also weiterhin benötigt!
 +
 +
Der Mikrocontroller muss lediglich die zwei Leitungen "erste Stelle" und "nächste Stelle" ansteuern.
 +
 +
{| {{Blauetabelle}}
 +
|Reset (erste Stelle)
 +
|Clock (nächste Stelle)
 +
|Aktion
 +
|-
 +
|L
 +
|L
 +
|
 +
|-
 +
|H
 +
|L
 +
|wähle die erste Stelle
 +
|-
 +
|L
 +
|L
 +
|
 +
|-
 +
|L
 +
|H
 +
|nächste (2.) Stelle
 +
|-
 +
|L
 +
|L
 +
|
 +
|-
 +
|L
 +
|H
 +
|nächste (3.) Stelle
 +
|-
 +
|L
 +
|L
 +
|
 +
|-
 +
|usw.
 +
|usw.
 +
|usw.
 +
|}
 +
 +
Das IC wird mit +5V und Masse versorgt und ist mit einem 100nF-Keramikkondensator abgeblockt (auf der rechten Seite des Schaltplans).
 +
 +
Vorteile mit 4017:
 +
* spart Portpins
 +
* kann bis zu 10 Stellen ansteuern, dann müssen aber auch die Ströme durch die LEDs entsprechend erhöht werden!
 +
 +
Nachteile mit 4017:
 +
* es wird ein IC benötigt
 +
* Reihenfolge der Stellen-Ansteuerung ist durch die Hardware festgelegt
  
 
==== Segmenttreiber, BCD-7-Segm. ====
 
==== Segmenttreiber, BCD-7-Segm. ====
 +
Sollen nur Ziffern dargestellt werden, können ICs eingesetzt werden, die einen BCD-Code zu Siebensegment-Leuchtkombinationen umwandeln können. Im BCD-Code werden einer Ziffer 4 Bits zugeordnet. Somit werden anstatt den 7 Segmentleitungen nur 4 Leitungen benötigt.
 +
 +
Bezeichnungen dieser ICs:
 +
* 7447
 +
* 74246
 +
* 40??
 +
 +
Vor dem Einsatz dieser ICs sollte man ins Datenblatt schauen und dabei den maximalen Ausgangsstrom beachten, sowie ob der Treiber am Ausgang gegen GND oder gegen +5V schaltet.
 +
 
==== Stellentreiber: Transistoren ====
 
==== Stellentreiber: Transistoren ====
 
==== Stellentreiber: ULN2803 ====
 
==== Stellentreiber: ULN2803 ====

Version vom 1. April 2011, 16:32 Uhr

Baustelle.gif An diesem Artikel arbeitet gerade Mitglied BMS.

Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen.

Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor BMS per PM / Mail oder Forum nachfragen ob er vergessen wurde.

Dieser Artikel behandelt die Verwendung und Ansteuerungen von LED-Siebensegmentanzeigen.

verschiedene LED-Siebensegmentanzeigen

Siebensegmentanzeigen bestehen meist aus einer großen Anzahl von LEDs, die so in einem Gehäuse angeordnet sind, um mit einer entsprechenden Ansteuerung damit Zahlen oder auch einfache Buchstaben oder Symbole darstellen zu können.

Verschiendene Typen und wichtige Daten

Es sind viele verschiedene LED-Anzeigen erhältlich, man sollte sich jedoch an gewissen technischen Daten orientieren.

  • gemeinsame Kathode/Anode : In Siebensegmentanzeigen sind nicht alle Anschlüsse der LEDs einzeln herausgeführt, sondern es werden üblicherweise alle Kathoden (Minuspole) oder alle Anoden (Pluspole) der LEDs zusammengeschaltet. Die Entscheidung für gemeinsame Anode/Kathode muss mit der geplanten Schaltung zur Ansteuerung aber abgestimmt sein. Die englische Bezeichnung lautet Common Cathode oder Common Anode.
  • Daten der LEDs : wichtig ist hierbei die Vorwärtsspannung der LEDs (meist 2V) und der empfohlene Strom durch die LEDs (meist 20mA). Es existieren auch Anzeigen mit Low-Current-LEDs, die mit nur 2mA auskommen. Große Anzeigen mit Ziffernhöhen über 20mm haben häufig mehrere LEDs pro Segment eingebaut, die elektrisch in Reihe geschaltet sind. Dann ist eine höhere Spannung zur Ansteuerung notwendig. Die Farbe der Anzeige kann nach Belieben gewählt werden, inzwischen sind auch blaue Anzeigen erhältlich, leider sind diese noch deutlich teurer als rote, gelbe oder grüne LED-Anzeigen.
  • Ziffernhöhe : üblich sind 10mm, 13mm und 20mm. Es sind aber auch größere Anzeigen erhältlich, bis etwa 10cm Ziffernhöhe!
  • Bauform : Es sind "normale", also bedrahtete Anzeigen, als auch SMD-Anzeigen erhältlich. Die Pins bei den bedrahteten Anzeigen können unterschiedlich angeordnet sein, dafür lieber vorher im Datenblatt nachsehen.

Die Segmente werden im Datenblatt üblicherweise mit Kleinbuchstaben benannt (von a bis g), DP steht für den Dezimalpunkt.

Varianten der Ansteuerung mit Mikrocontroller

direkte Ansteuerung

Diese Variante eignet sich vor allem dann, wenn nur wenige Ziffern (1 oder 2) angesteuert werden sollen.

Der gemeinsame Anschluss (gemeinsame Kathode oder Anode) wird hierbei mit dem entsprechenden Anschluss der Versorgungsspannung verbunden. Eine gemeinsame Kathode wird mit GND verbunden, eine gemeinsame Anode mit z.B. +5V. Die einzelnen Leitungen der LEDs werden dann über Vorwiderstände mit beliebigen freien Mikrocontrollerports verbunden.

Siebensegment direkt gem Kathode.png

Im Schaltplan ist die Ansteuerung für eine Anzeige mit gemeinsamer Kathode gezeigt. Die Widerstände wurden für einen Storm von 20mA berechnet. Ein Segment wird zum Leuchten gebracht, indem die entsprechende Mikrocontrollerleitung als Ausgang und auf +5V geschaltet wird.

Soll eine Anzeige mit gemeinsamer Anode verwendet werden, so muss diese mit +5V verbunden werden. Ein Segment leuchtet dann auf, wenn die entsprechende Mikrocontrollerleitung als Ausgang und auf GND geschaltet wird.

Anmerkung: Der Dezimalpunkt muss nur dann verbunden werden, wenn er auch später benötigt wird!

Vorteil der Variante:

  • Sehr einfach umzusetzen, es sind nur die Siebensegmentanzeigen und Widerstände notwendig!
  • Hat der Mikrocontroller die Leitungen zu den LEDs ein Mal gesetzt, so leuchten die ensprechenden Segmente ständig. (Vergleiche mit Multiplexing!)

Nachteil der Variante:

  • nur für wenige Stellen vernünftig machbar, weil sonst zu viele Leitungen zu den LEDs benötigt werden
  • Mikrocontroller verträgt nur einen bestimmten Gesamtstrom, der insgesamt über seine Ausgangsleitungen fließen darf. Könnte bei mehr als einer Stelle schon kritisch werden!

Multiplexing

Sollen viele Stellen angezeigt werden können, würde eine direkte Ansteuerung sehr viele Pins in Anspruch nehmen. Eine bessere Möglichkeit ist dann, so genanntes Multiplexing zu verwenden. Damit werden die Stellen einzeln schnell nacheinander angesteuert. Für das menschliche Auge sind dann aber trotzdem alle Stellen gleichzeitig erkennbar.

Siebensegment 4fach Multiplexing.png

Der Mikrocontroller muss nacheinander die "Stelle_x"-Anschlüsse auf +5V legen, während die anderen "Stelle_x"-Anschlüsse auf GND liegen. Zusätzlich muss dann - wie bei der direkten Ansteuerung - an die Leitungen der Segmente dann +5V angelegt werden, um das entsprechende Segment leuchten zu lassen.

Anmerkung: Um die gleiche Helligkeit der Anzeige wie bei der direkten Ansteuerung zu erreichen, muss der Strom durch die LED-Anzeigen erhöht werden, da diese ja nur für einen kurzen Moment mit Strom versorgt werden. Bei 4 Stellen muss der Strom durch die LEDs dann bei der Ansteuerung auch 4x so hoch sein. Für Standard-LED-Anzeigen mit 20mA Stromverbrauch pro Segment bedeutet das, dass der Mikrocontroller auf den Segmentleitungen auch 80mA treiben können müsste! Der maximale Strom liegt jedoch pro Pin bei etwa 25-50mA, sind mehrere Ausgänge geschaltet, liegt dieser Wert noch niedriger! Pro Port (z.B. gesamter PORTB) sind nur ca. 100mA Gesamtstrom zulässig, sodass die Steuerung bei diesem Strom auf diese Art und Weise der Ansteuerung bereits zum Problem wird.

Einerseits kann man Low-Current-Anzeigen verwenden, diese benötigen nur 2mA anstatt 20mA, sparen damit also 90% des Strombedarfes ein. Andererseits können Transistorverstärker dahinter geschaltet werden (entweder npn-Transistoren in Kollektorschaltung oder pnp-Transistoren in Emitterschaltung.

-> Schaltplan

Vorteile von Multiplexing:

  • es können viele Stellen angesteuert werden, nur mit Multiplexing ist dies vernünftig realisierbar
  • man kommt mit deutlich weniger Pins als bei der direkten Ansteuerung gesteuert aus

Nachteile von Multiplexing:

  • der Mikrocontroller ist ständig mit der Ansteuerung der Anzeige beschäftigt
  • der Maximalstrom pro Portpin/gesamten Port (bei dieser einfachen Variante) wird zum Problem (außer bei Low-Current-Anzeigen)
  • bei einem Softwarefehler kann es durch den erhöhten Strom durch die Segmente passieren, dass Siebensegmentanzeigen beschädigt werden.
  • Aufwändiges Platinenlayout notwendig, um alle Segmentleitungen der Anzeigen miteinander zu verbinden, es gibt allerdings auch Anzeigen, die für Multiplexing vorgesehen wurden und dort die Segmentleitungen bereits zusammengefasst sind.

Variante mit Dezimalzähler 4017

Sollen viele Stellen angesteuert werden, so muss bei der oben gezeigten Variante pro Stelle auch ein Portpin spendiert werden. Stehen nicht genügend Ausgänge zur Verfügung, kann ein CMOS-Dezimalzähler CD4017 eingesetzt werden.

Siebensegment 4017.png

Bei der Verwendung dieses ICs müssen die Ausgänge auf der rechten Seite mit den Basiswiderständen aus der obigen Schaltung verbunden werden, die Transistoren und Widerstände werden also weiterhin benötigt!

Der Mikrocontroller muss lediglich die zwei Leitungen "erste Stelle" und "nächste Stelle" ansteuern.

Reset (erste Stelle) Clock (nächste Stelle) Aktion
L L
H L wähle die erste Stelle
L L
L H nächste (2.) Stelle
L L
L H nächste (3.) Stelle
L L
usw. usw. usw.

Das IC wird mit +5V und Masse versorgt und ist mit einem 100nF-Keramikkondensator abgeblockt (auf der rechten Seite des Schaltplans).

Vorteile mit 4017:

  • spart Portpins
  • kann bis zu 10 Stellen ansteuern, dann müssen aber auch die Ströme durch die LEDs entsprechend erhöht werden!

Nachteile mit 4017:

  • es wird ein IC benötigt
  • Reihenfolge der Stellen-Ansteuerung ist durch die Hardware festgelegt

Segmenttreiber, BCD-7-Segm.

Sollen nur Ziffern dargestellt werden, können ICs eingesetzt werden, die einen BCD-Code zu Siebensegment-Leuchtkombinationen umwandeln können. Im BCD-Code werden einer Ziffer 4 Bits zugeordnet. Somit werden anstatt den 7 Segmentleitungen nur 4 Leitungen benötigt.

Bezeichnungen dieser ICs:

  • 7447
  • 74246
  • 40??

Vor dem Einsatz dieser ICs sollte man ins Datenblatt schauen und dabei den maximalen Ausgangsstrom beachten, sowie ob der Treiber am Ausgang gegen GND oder gegen +5V schaltet.

Stellentreiber: Transistoren

Stellentreiber: ULN2803

Vergleich mit LC-Displays

Siebensegmentanzeigen eignen sich vor allem dazu, Zahlen darzustellen. Sie haben den Vorteil, dass sie auch aus größerer Entfernung oder schlechten Lichtverhältnissen noch deutlich erkennbar sind. Außerdem bietet sich die Möglichkeit, mit wenigen ICs auch ohne Mikrocontroller Zähler oder Uhren aufbauen zu können. Die Anzeige kann darüber hinaus rasch aktualisiert werden und sind wesentlich günstiger als LC-Textdisplays.

Vergleicht man Siebensegmentanzeigen mit handelsüblichen LC-Dotmatrix-Displays (für Text) ergeben sich allerdings deutliche Nachteile der Segmentanzeigen:

  • wesentlich höherer Stromverbrauch der Siebensegmentanzeige (20mA pro Segment!, LC-Display: ca 60mA inkl. Beleuchtung)
  • werden die Anzeigen mit einem Mikrocontroller über Multiplexing gesteuert, so ist dieser mit der Ansteuerung der Segmentanzeigen ständig beschäftigt
  • erhöhter Bauteileaufwand (Vorwiderstände, Transistoren oder Segmenttreiber usw.)
  • es können weniger Zeichen dargestellt werden als auf einem Display (sowohl Anzahl der Zeichen als auch Komplexität, z.B. Buchstaben, Umlaute, Symbole)

Autoren

  • BMS

LiFePO4 Speicher Test