PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 6 7-Segmentanzeigen ansteuern (Mega8)



Razer
07.04.2006, 21:53
Hallo an alle

Ich möchte gerne eine bauen. Darum brauche ich 6 Sieben Segmentanzeigen (HH:MM:SS). Wie kann ich die am besten ansteuern. Alle Anzeigen direkt an den Mega anschließen geht sich nicht auch und ist nicht wirklich sinnvoll.

Ich hab schon eine MAX6291 gefunden. Jedoch ist der nicht so billig :(

Wie kann ich das am besten machen??

Die Segmentanzeigen haben eine gemeinsame Kathode.

Danke im Voraus

Gruß Robert

PasstScho
07.04.2006, 22:16
Hallo,
Nimm einen 4051 Zum Multiplexen der 6 Anzeigen und ein oder mehrere Schieberegister um weniger Pins zu verbrauchen.
Ich hab so eine Schaltung schon gemacht, aber für Anzeigen mit gem. Anode - bringt dir also nix.

MfG Alex

PasstScho
07.04.2006, 22:21
Als Schieberegister könntest du das gute alte 4094 nehmen, und dann mit Transistoren die Leds schalten....

johannuhrmann
07.04.2006, 22:26
Hallo Robert,

zwei Möglichkeiten sehe ich da (obwohl es vermutlich noch elegantere gibt):

1. Du verwendest ein einzeiliges LCD-Display.
2. Du nimmst Schieberegister, um aus wenigen I/O-Ports viele zu machen.
Eine Kurzanleitung gibt's auf http://www.heise.de/ct/06/06/264/ im
Abschnitt "Multiplikatoren".

Grüße,

Hans

kalledom
07.04.2006, 22:52
7-Segment-Anzeigen werden gemultplext. Alle Segmente werden dazu parallel angeschlossen und über Transistoren / Treiber an Plus gelegt. Die Kathoden bekommen über Transistoren / Treiber den GND zugeschaltet.
Folgender Ablauf:
Die Segmente der 1. Anzeige werden angesteuert und die 1. Kathode nach GND geschaltet. 1 ms später werden die Segmente der 2. Anzeige angesteuert und die 2. Kathode nach GND geschaltet. 1 ms später werden die Segmente der 3. Anzeige ....

Andree-HB
08.04.2006, 07:55
...zum Verdeutlichen ein kleines Bild :

http://www.pixelklecks.de/images/7segment.jpg


Habe genau das Gleiche gemacht : parallel geschaltete Segmente an den Portausgängen, gemeinsame Kathoden über Transitoren nacheinander über weitere Ports angesteuert.

Im obigen Beispiele wurden 11 Ports benötigt (7+4), Du bräuchtest dann nur zwei weitere (7+6), die stellt z.B. der Atmega8 bereit.

Goblin
08.04.2006, 08:24
https://www.roboternetz.de/phpBB2/viewtopic.php?t=17620

Mein Scrolltext auf 6 7-Segmentanzeigen. Wie Andre schon sagte hab ich die Segmente parallel geschaltet und die Common Anodes seperat über Transen. Ich hab 8 + 6 Pinne gebraucht, wobei die 8 für Segmente + Dots und die 6 für die Anoden sind. Ich kann aber bei 6 Anzeigen empfehlen, die Segmente ebenfalls über Transen mit einem niederigerem Widerstand an den µC zu hängen, da beim Multiplexing über 6 Anzeigen die Helligkeit doch arg abnimmt.

kalledom
08.04.2006, 12:04
Wie Goblin bereits geschrieben hat, auch die Segmente sollten über Treiber angesteuert werden, da im Multiplexbetrieb 20mA LED-Strom nicht mehr ausreichen. Mal im Datenblatt nachsehen, welchen Peak-Strom die Segmente aushalten; dann die Vorwiderstände für ca. 20% weniger Strom ausrechnen: R = (5V - Usegm) / (Ipeak * 0,8 ).

Razer
08.04.2006, 13:37
Hallo an alle

Ich will den Mega8 nicht mit dem multiplexen nerven. Denn der muss die Uhrzeit geben. Deshalb möchte ich auf jedenfall mit Stütz ICs arbeiten

Als Steuer IC will ich den MAX6954 nehmen. Ich hab den als Sample bei Maxim bestellt. (Ich hoffe das dauert nicht so lange). Brauch wenn ich den nehme, überhaupt noch einen 2. Treiberbaustein??

Imax bei den Segmentanzeigen hab ich 30mA. Das ist der Strom für die ganze Anzeige, oder?? Vorwiderstand brauch trotzdem noch einen für jedes Segmentmodul wenn ich den Maxim Chip nehme, oder?

@Kalledom: Den Vorwiderstand berechnet aber anderst. Das Ohmsche Gesetz laut R=U/I

=(5-2,1)/(30*0,8) ==> 120Ohm.

Gruß Robert

darwin.nuernberg
08.04.2006, 14:05
Also das mit der Uhrzeit dürfte eigentlich kein Problem sein,
aber wenn Du dennoch den AVR nicht mit dem Multiplexen belasten willst, z.B. weil Du Ports sparen möchtest dann brauchst Du einen externen Baustein.

Ich habe aber auch eine "relativ" portsparende Version ausprobiert,
welche zwar auch eine 7-Segment Decoder als externen Baustein benötigt.
Wenn Du mehr Digits ansteuern möchtest (>4) dann käme auch noch ein Datenselektor hinzu welcher anstelle direkt die Digits anzusteuern noch dazwischen geschaltert werden muss.
Es wird aber mit dieser Lösung immer nur ein Port benötigt:

Also ist eine 10 (16) Stellige Anzeige mit nur einem Port und zwei externen IC's realisierbar.

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=148650#148650


https://www.roboternetz.de/phpBB2/files/mux-display_14315c_photo.gif

PS: ein Datenselektor setzt immer nur eine Leitung (1von10 oder 1von 16) aus einem 4-Bit Code. Mögliche Bausteine wären z.B. 7445 (74LS45, 74HC45 o.ä) oder der 74145 (invertierter Ausgang) für 1 aus 10 decoder.

darwin.nuernberg
08.04.2006, 14:10
(5-2,1)/(30*0,8) ==> 120Ohm.

Nimm lieber den nächsthöheren Wert also 180 Ohm,
dann leben Deine Ports und die LED's länger.

Der Helligkeitsunterschied ist vernachlässigbar und kaum zu bemerken.