7-Segment Display mit ATmega ansteuern

OP #3785215
Lesenswert?

Hallo,

ich möchte ein 8-Bit Signal sowohl über acht LEDs anzeigen, als auch 
hexadezimal über zwei 7-Segment Displays. Zur Bewältigung letzteres habe 
ich mich für einen ATmega8 im DIL-Gehäuse entschieden, klein genug, aber 
ausreichend Ports.

Laut Datenblatt darf dieser Chip maximal 200mA nach Grund ziehen, 
maximal 100mA im Port A, maximal 100mA in den restlichen Ports und 
maximal 40mA je Pin. Wenn ich nun an Port A und an einen der anderen 
Ports über Widerstände die beiden Displays mit gemeinsamer Anode 
anschließe, gehe ich dann Recht in der Annahme, dass ich je Segment 
maximal 14mA schalten kann und keine Treiber-Chips benötige, oder 
übersehe ich hier was und der Mikrocontroller kokelt mir weg?

Viele Grüße
Hennes
Gast #3785231
Lesenswert?

Geht schon, zumal die meisten 7-Segment mit 10mA pro Segment zufrieden 
sind, also 140mA über GND ausreichen. Die 8 Einzel-LEDS kannst du ja 
nach GND schalten so dass deren Strom über VCC des ATmeg8 fliesst.
Gast #3785918
Lesenswert?

Signale vor den Widerständen abgreifen ?
ich denke Du willst die Anzeigen mit dem AVR ansteuern und nicht 
Abfragen.
Wenn das ganze über Zeitmultiplex machst kannst Du entweder alle 
Segmente an einen Port anschließen und die Anoden der Anzeigen jeweils 
über nen Transistor und 3 I/O-Leitungen steuern.
Oder man schließt sogar die Anoden direkt an drei I/O-Leitungen an und 
programmiert das Zeitmultiplex so, daß z.b. nur eine LED zur Zeit 
leuchtet. So wirds gerne bei minimalistischen Projekten gemacht bei 
denen zb. ein 2313 eine 8x8 Matrix steuert ohne externe Beschaltung.
OP #3785927
Lesenswert?

Hi,

es scheint, ich habe mich in meinem ursprünglichen Posting nicht 
deutlich genug ausgedrückt:
Ich möchte acht binäre Signale über LEDs anzeigen. Dafür brauche ich 
tatsächlich keinen Mikrocontroller, sondern lediglich acht Widerstände.
Vor den Widerständen werden die acht Signale im TTL-Pegel abgegriffen 
und dem Mikrocontroller zugeführt. Der soll das binäre Datenwort 
hexadezimal auf zwei 7-Segment Displays darstellen. Acht Eingänge, 14 
Ausgänge.

Viele Grüße
Hennes
#3785933
Lesenswert?

Ralf Jonas schrieb:
> Hi,
>
> es scheint, ich habe mich in meinem ursprünglichen Posting nicht
> deutlich genug ausgedrückt:

Ganz im Gegenteil. Du hast zu viele INformationen gegeben, die zur Sache 
nichts beitragen.

> Ich möchte acht binäre Signale über LEDs anzeigen.

Schön. Diese LED interessieren aber niemanden, wenn sie nicht am µC 
hängen und vom µC angesteuert werden.

> Vor den Widerständen werden die acht Signale im TTL-Pegel abgegriffen
> und dem Mikrocontroller zugeführt. Der soll das binäre Datenwort
> hexadezimal auf zwei 7-Segment Displays darstellen. Acht Eingänge, 14
> Ausgänge.

Kann man machen.
Man kann auch mutiplexen, was die Anzahl an benötigten Pins etwas 
drückt, allerdings nicht den Strom.
OP #3785946
Lesenswert?

Hi,

> Ganz im Gegenteil. Du hast zu viele INformationen gegeben, die zur Sache
> nichts beitragen.

Ach so, ich habe euch verwirrt  :-)

>> Ich möchte acht binäre Signale über LEDs anzeigen.
>
> Schön. Diese LED interessieren aber niemanden, wenn sie nicht am µC
> hängen und vom µC angesteuert werden.

Ich wollt halt nur schildern, wo ich die Daten her bekomme.

> Man kann auch mutiplexen, was die Anzahl an benötigten Pins etwas
> drückt, allerdings nicht den Strom.

Siehste wohl: Und DAS wiederum interessiert MICH nicht die Bohne  :-)
Ich wollte nur wissen, ob der ATmega genug Strom für zwei 7-Segment 
Displays aufbringen kann.

Viele Grüße
Hennes
OP #3785967
Lesenswert?

Hi Sven B.,

> Die Dinger leuchten auch mit 8 mA pro Segment schon ziemlich hell, also
> sollte das kein Problem sein.

ich habe das Ganze jetzt mal für 10 mA ausgelegt, wie es schon MaWin in 
seinem Posting empfohlen hat. Laut Datenblatt von Kingbright verhält 
sich die Helligkeit nahezu linear mit dem Strom.
Ich denke, ich werde es einfach mal ausprobieren mit 10 mA.

Viele Grüße
Hennes
Gast #3785973
Lesenswert?

Ralf Jonas schrieb:
> Der soll das binäre Datenwort
> hexadezimal auf zwei 7-Segment Displays darstellen.

Ralf Jonas schrieb:
> CD4511, super Idee!!
> Wer findet den Fehler?

Da ist kein Fehler! Warum willst Du mit einem uC herum experimentieren,
wenn Du schon Deine 8 LEDs binär anzeigen?
Hänge die Eingänge von zwei 4511er an die 8 LEDs und an die Ausgänge 
zwei
7-Segment Anzeigen. Fertig!
Ohne uC Gedönse.
#3785984
Lesenswert?

Ralf Jonas schrieb:
> Hi,
>
> CD4511, super Idee!!
> Wer findet den Fehler?
>
> Viele Grüße
> Hennes

ich ich ich

Datenblatt Seite 4 oben Rechts.

Für die Strom-Geschichte empfehle ich Datenblatt S235 und S236 
insbesondere die Notes 3 und 4:

http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf

Das mit den 14* 10mA solte gut passen.

Eventuell die eine 7 Segment Anzeige an VCC hängen und dann mit den Pins 
auf LOW ziehen aber auch das ist eigentlich nicht notwendig...
OP #3786025
Lesenswert?

Hallo der alte Hanns ,

>>mich für einen ATmega8 im DIL-Gehäuse entschieden
>>Wenn ich nun an Port A und an einen der anderen Ports
>
> ?

Das ist schon richtig so. An Port A und einem beliebigen anderen Port...
Port A kann 100 mA nach Ground schalten. Die restlichen Ports zusammen 
ebenfalls.
Folglich muss ein 7-Segment Display an Port A, das andere an einen 
(beliebigen) anderen Port.

Ich werde mir aber auch mal die anderen beiden genannten ICs anschauen, 
den 4311 und den 40511.

Viele Grüße
Hennes
OP #3786054
Lesenswert?

Hallo der alte Hanns,

> Ich finde beim besten Willen keinen Port A beim ATmega8. Ausserdem sind
> Sie mit 8+2*7 Pins (ohne Multiplexen) am Limit, ich hätte gerne etwas
> Reserve.

sollte ich ins falsche PDF Dokument geschaut haben? Das muss ich gleich 
noch mal verifizieren, danke für den Hinweis.
Reserve brauche ich nicht: Das Ding soll wirklich nur 8 Bit hexadezimal 
darstellen. Ende.
Gäbe es sowas fertig z.b. bei reichelt und auch noch preiswerter als 
einen ATmel, würde ich sogar noch eher das nehmen, weil kein 
Programmieraufwand.

Viele Grüße
Hennes
OP #3786075
Lesenswert?

Hallo der alte Hanns ,

> Ich finde beim besten Willen keinen Port A beim ATmega8.

da habe ich doch tatsächlich das Dokument des ATmega 16 gehabt, mea 
culpa.
Beim ATmega 8 sind das die Portpins C0-C5, die zusammen sowohl 100 mA 
sinken als auch sourcen können. Portpin C6 und die restlichen Pins 
zusammen noch einmal 200mA.
Somit ist die Verwendung der Ports nahezu beliebig für diesen Fall.
Danke für den Hinweis!

Viele Grüße
Hennes
#3787939
Lesenswert?

c-hater schrieb:
> Axel Schwenke schrieb:
>
>> Außer vielleicht die kleine Unschönheit, daß der 4511 die Pseudotetraden
>> (0xA .. 0xF) nicht anzeigt?
>
> Ein V4511 tut das.

Der müßte dann V40511 heißen. Oder U40511. Wwobei es den offiziell nicht 
gab. Für die Unwissenden: der Präfix U bzw. V steht für den erlaubten 
Temperaturbereich. U ist normal (0..+70°c) und V erweitert (-25..+85°C). 
Allerdings gab es wohl in der endgültigen Serie nur noch V Typen. Ich 
habe aber auch noch ein paar U40098.

> Tja, von der DDR lernen, heißt Siegen lernen. Die Jungs wußten, was
> wirklich wichtig ist ;o)

Das wissen wir immer noch.


XL

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren