Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Ansteuerung einer 7-Segment-Anzeige mit AVR

66 views
Skip to first unread message

Oliver Kraitschy

unread,
Apr 27, 2003, 1:13:13 PM4/27/03
to
Hallo NG,

ich habe begonnen, mit Mikrocontrollern zu experimentieren und möchte
zunächst eine 7-Segment-Anzeige (LTS312AR) mit einem AT90S4433 ansteuern. Da
mir die I/O's des AVR ja nicht genug Strom liefern, möchte ich einen NPN
verwenden, dessen Basis ich mit einem I/O-Pin ansteuere, und dann mit dem
Emitter auf die gemeinsame Anode der 7-Segment-Anzeige gehe. Die Kathoden
der einzelnen Segmente möchte ich dann an die I/O's des AVR anschließen und
so die einzelnen Segmente schalten. Ist diese Vorgehensweise richtig? Als
NPN habe ich einen BC548B (würde für diesen Anwendungsfall leider fast mit
maximal zulässigem Strom betrieben werden). Was gibt es bei der
Dimensionierung der Widerstände zu beachten?

Für Tips wäre ich sehr dankbar.

Gruß

Oliver Kraitschy

Falko Jahn

unread,
Apr 27, 2003, 3:23:01 PM4/27/03
to

Hallo Oliver

Ich würde PNP Transistoren zur ansteuerung der gemeinsamen Anoden benutzen.
(z.B. BC557)
Die Widerstände sind einfach zu berechnen:
(Vcc-LEDdurchlassspannung)/ max. LED Strom
Wenn Du dann später Multiplext dann evt. die Widerst.
verkleinern.

Gruß
Falko


MaWin

unread,
Apr 27, 2003, 5:03:05 PM4/27/03
to
Oliver Kraitschy <okr...@compuserve.de> schrieb im Beitrag <b8h3ao$ig2$1...@ngspool-d02.news.aol.com>...
Warum moechtest du den Anodenanschluss der LTS312AR von der positiven
Versorgungsspannung mit einem Transistor trennen koennen ?
Reicht es dir nicht, alle Segmente auszuschalten (uC-Ausgang auf HI) ?
Moechtest du mehrere 7-Segment-Anzeigen nebeneinander im Multiplexbetrieb
steuern ?
Dann nimm lieber einen PNP-Transistor, mit dem schaltet man positive
Spannungen. Er sollte einen Basisstrom von 1/10tel des Kollektorstromes
bekommen, wenn er 80mA schalten soll also 4V/(0.08/10)=510 Ohm, bei
4-Stellen Multiplex muss er schon 320mA schalten, die 32mA liefert der
uC vermutlich gar nicht, so das man bei ca. 20mA mit 220R bleiben muss.

|E +5V
uC --220R--|< BC328 (390 R macht 20mA, BC328 kann damit 320mA schalten)
| Anode

und mach an die uC-Ausgaenge vor die (zusammengeschalteten) Kathoden
(5V-1.6V(LED)-0.4V(Transistor)-0.8V(uC)=2.2V bei 10mA =
220 Ohm / Anzahl der Stellen
(also 56 Ohm bei 4-stelliger Multiplexanzeige)).

Multiplex:

Reicht dafuer auch der Strom der Digitausgaenge ?
Deine Anzeige ist schon bei 10mA ziemlich dunkel (0.5mcad),
bei 4 Stellen Multiplex muss der uC-Ausgang dafuer 40mA liefern koennen,
bei den meist maximalen 20mA per uC-Ausgang blieben naemlich nur 5mA pro
Ziffer die damit noch dunkler wird (0.25mcd), wenn's dir aber reicht...
--
Manfred Winterhoff, mawin at gmx.net, remove NOSPAM if replying
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.

Heiko Weinbrenner

unread,
Apr 27, 2003, 6:17:31 PM4/27/03
to
MaWin <ma...@gmx.net> schrob:

> [...] bei 4 Stellen Multiplex muss der uC-Ausgang dafuer
> 40mA liefern koennen [...]

Doofe Frage:
warum eigentlich?

Sinn von Multiplex ist doch, dass immer nur eine Anzeige aktiv ist, wo fließt dann mehr Strom?
Oder gehen die nicht so schnell aus?
Der C-E-Widerstand von den "Mux-Transistoren" kanns ja nicht sein.
Oder meinst du, dass ohne "Mux-Transistoren" gearbeitet wird, also die gemeinsame Kathode an jeweils einem Port-Pin auf "Low
gezogen" wird?

"Mux-Transistoren": "Treiber-Transistoren" in Emitterschaltung (Schalttransistoren) je gemeinsamer Kathode der Anzeigen. ;)

Ich weiß, wiedermal ne Standardfrage...

Trotzdem Danke!

--
Mit *ish* besser ins Internet! Ca. 3x so schnell wie T-DSL, <9ms zum ersten hop
und verglichen mit einem DSL T-Net(100)- Anschluss monatl. *_6,03EUR billiger_*!
(Berechnet: 19,99EUR für T-DSL + 29,95E für T-Online Flat + 0,99E für Fastpath)
_www.ish.de_ [ich bekomme kein Geld von denen- ich _gebe_ es ihnen ;)]


Aguja

unread,
Apr 27, 2003, 5:55:36 PM4/27/03
to
>Ich würde PNP Transistoren zur ansteuerung der gemeinsamen Anoden benutzen.

Und ich würde ein Transistor-Array (ULN xxx) benutzen. Gibts' auch
seriell zum Sparen von I/O-Ports.

> (Vcc-LEDdurchlassspannung)/ max. LED Strom

Das musst Du dann noch mit der ED (Einschaltdauer) verrechnen, sonst sind
die Displays beim Multiplexbetrieb arg dunkel.

cu,

Aguja

*** www.PROuC.de ==> Free AVR-, PIC- & 8051-Programmers, Apps & Tips ***

Michael Linnemann

unread,
Apr 28, 2003, 3:54:34 AM4/28/03
to
Am Mon, 28 Apr 2003 00:17:31 +0200 schrieb Heiko Weinbrenner:

>> [...] bei 4 Stellen Multiplex muss der uC-Ausgang dafuer
>> 40mA liefern koennen [...]

> Doofe Frage:
> warum eigentlich?
>
> Sinn von Multiplex ist doch, dass immer nur eine Anzeige aktiv ist, wo fließt dann mehr Strom?
> Oder gehen die nicht so schnell aus?

Doch, gehen sie. Aber wenn eine Ziffer nur 25% der Zeit an ist, muss sie
in dieser Zeit 4mal so hell sein wie bei Dauerbetrieb, um gleich hell zu
erscheinen.

Gruss
Michael

Heiko Weinbrenner

unread,
Apr 28, 2003, 9:00:48 AM4/28/03
to
Michael Linnemann <m.lin...@addcom.de> schrob:


Hallo!

> Doch, gehen sie. Aber wenn eine Ziffer nur 25% der Zeit an ist, muss
> sie in dieser Zeit 4mal so hell sein wie bei Dauerbetrieb, um gleich
> hell zu erscheinen.

Also meint der MaWin Maximalstromimpulse, die dann im zeitlichen Mittel wieder 10mA geben.
Alles klar.
Da müssen dann aber auch die Dioden mitspielen, oder?

Tilmann Reh

unread,
Apr 28, 2003, 10:30:33 AM4/28/03
to
Heiko Weinbrenner schrieb:

> Also meint der MaWin Maximalstromimpulse, die dann im zeitlichen
> Mittel wieder 10mA geben.

In der LED.
Der Treibertransistor muß natürlich die 40 mA auch dauernd liefern
können, denn es könnte dieses Segment ja bei allen 4 Stellen an sein.

> Alles klar.

Na, das ist doch prima! :-)

> Da müssen dann aber auch die Dioden mitspielen, oder?

Keine Sorge, die tun das. Deren maximaler Strom im gepulsten
Betrieb liegt um solche Faktoren über dem Nennstrom, daß auch
ein Multiplex mit 1:8 oder 1:16 absolut unproblematisch ist.

Übrigens, es gibt auch stromsparende 7-Segment-Anzeigen, die schon
bei ca. 2 mA richtig hell leuchten (wenn auch nur in rot). Damit
könnten dann auch wieder die Ports direkt verwendet werden, ohne
zusätzliche Segmenttreiber. (Stellentreiber braucht man natürlich
trotzdem.)

--
Dipl.-Ing. Tilmann Reh
Autometer GmbH Siegen - Elektronik nach Maß.
http://www.autometer.de

==================================================================
In a world without walls and fences, who needs Windows and Gates ?
(Sun Microsystems)

Oliver Kraitschy

unread,
Apr 28, 2003, 1:58:21 PM4/28/03
to
Oliver Kraitschy wrote:

> [...]

Danke für Eure zahlreichen Beiträge, ich werd mir die Sache zu Gemüte führen
und mich nochmal melden, falls Probleme gibt:-)

Gruß

Oliver Kraitschy

Oliver Kraitschy

unread,
Apr 28, 2003, 2:08:50 PM4/28/03
to
MaWin wrote:

> Warum moechtest du den Anodenanschluss der LTS312AR von der positiven
> Versorgungsspannung mit einem Transistor trennen koennen ?
> Reicht es dir nicht, alle Segmente auszuschalten (uC-Ausgang auf HI) ?
> Moechtest du mehrere 7-Segment-Anzeigen nebeneinander im
> Multiplexbetrieb
> steuern ?

Du hast richtig vermutet, ich hab vergessen, zu schreiben, daß das Ganze
später mal im Multiplexbetrieb arbeiten soll.

> Dann nimm lieber einen PNP-Transistor, mit dem schaltet man positive
> Spannungen. Er sollte einen Basisstrom von 1/10tel des
> Kollektorstromes
> bekommen, wenn er 80mA schalten soll also 4V/(0.08/10)=510 Ohm, bei
> 4-Stellen Multiplex muss er schon 320mA schalten, die 32mA liefert der
> uC vermutlich gar nicht, so das man bei ca. 20mA mit 220R bleiben
> muss.

Warum 1/10, normalerweise haben die BiP's doch eine Verstärkung ~100, oder?

>
> |E +5V
> uC --220R--|< BC328 (390 R macht 20mA, BC328 kann damit 320mA
> schalten) | Anode

Wie kommst Du bei 390R auf 20mA Basisstrom? 4V/390R=~10mA

Oder hab ich falsch gerechnet?

> und mach an die uC-Ausgaenge vor die (zusammengeschalteten) Kathoden
> (5V-1.6V(LED)-0.4V(Transistor)-0.8V(uC)=2.2V bei 10mA =
> 220 Ohm / Anzahl der Stellen
> (also 56 Ohm bei 4-stelliger Multiplexanzeige)).

d.h. ich benötige Vorwiderstände für die uC-Ausgänge? Kommen die 0.8V(uC)
von den Innenwiderständen der uC-I/O's?

Gruß

Oliver Kraitschy

MaWin

unread,
Apr 28, 2003, 3:07:54 PM4/28/03
to
Oliver Kraitschy <okr...@compuserve.de> schrieb im Beitrag <b8jqr9$9vs$2...@ngspool-d02.news.aol.com>...

>
> Warum 1/10, normalerweise haben die BiP's doch eine Verstärkung ~100, oder?
>
Schaltbetrieb. Man will Saettigung erreichen. Schau dir mal eine Transistor.Datenblatt
an, Kurve IB/UCE

> >
> > |E +5V
> > uC --220R--|< BC328 (390 R macht 20mA, BC328 kann damit 320mA
> > schalten) | Anode
>
> Wie kommst Du bei 390R auf 20mA Basisstrom? 4V/390R=~10mA
>
Da sollte 220R stehen.

> Oder hab ich falsch gerechnet?
>

Nein.

> d.h. ich benötige Vorwiderstände für die uC-Ausgänge?

Ja, Einer fuer alle Stellen, statt pro LED-Segment Einer.

> Kommen die 0.8V(uC) von den Innenwiderständen der uC-I/O's?
>

Ja.

Rudolf Tomaszovits

unread,
Apr 28, 2003, 3:16:26 PM4/28/03
to
Mein posting vom 21.4.2003

I love Multiplexer!

Das Beste was ich je sah, ist die Schaltung mit Multiplexerbetrieb von
AVR.
Wenn Du ohnehin einen uC einsetzt, würde ich diese Methode auch
nützen.
Hier ein Schaltungsbeispiel incl. Sourcecode:

http://www.atmel.com/dyn/products/app_notes.asp?family_id=607
Auszug aus dder HP
--------------------------------------------------------------
AVR242: 8-bit Microcontroller Multiplexing LED Drive & a 4x4 Keypad.
(26 pages, updated 5/02)
This Application Note describes a comprehensive system providing a 4 x
4 keypad as input into a real time clock/timer with two outputs.
--------------------------------------------------------------

Lieben Gruß aus Wien

Oliver Kraitschy

unread,
Apr 28, 2003, 4:24:13 PM4/28/03
to
MaWin wrote:

> Schaltbetrieb. Man will Saettigung erreichen. Schau dir mal eine
> Transistor.Datenblatt
> an, Kurve IB/UCE

Ok, jetzt kapier ich's :-)

>> d.h. ich benötige Vorwiderstände für die uC-Ausgänge?
>
> Ja, Einer fuer alle Stellen, statt pro LED-Segment Einer.

Ach ja, ist ja praktisch nichts anderes als ein Vorwiderstand für die LED
eines Segments, und dieser wird von jeder Stelle benutzt.

> und mach an die uC-Ausgaenge vor die (zusammengeschalteten) Kathoden
> (5V-1.6V(LED)-0.4V(Transistor)-0.8V(uC)=2.2V bei 10mA =
> 220 Ohm / Anzahl der Stellen
> (also 56 Ohm bei 4-stelliger Multiplexanzeige)).

Teilst Du durch die Anzahl der Stellen, weil jede Stelle in der kürzeren
Zeit entsprechend heller leuchten muß, um gleich hell zu erscheinen? (bei 4
Stellen: 4x so hell in 1/4 der Zeit)

Gruß

Oliver


MaWin

unread,
Apr 28, 2003, 6:57:04 PM4/28/03
to
Oliver Kraitschy <okr...@compuserve.de> schrieb im Beitrag <b8k2ov$pel$1...@ngspool-d02.news.aol.com>...

>
> Teilst Du durch die Anzahl der Stellen, weil jede Stelle in der kürzeren
> Zeit entsprechend heller leuchten muß, um gleich hell zu erscheinen? (bei 4
> Stellen: 4x so hell in 1/4 der Zeit)
>
Sicher.

MaWin

unread,
Apr 28, 2003, 6:57:05 PM4/28/03
to
Rudolf Tomaszovits <tomas...@yahoo.com> schrieb im Beitrag <f6a237fe.03042...@posting.google.com>...

>
> Das Beste was ich je sah, ist die Schaltung mit Multiplexerbetrieb von
> AVR.

Die ueblichen AppNotes wie auch von Microchip.
Die AppNote schreibt schon, das sie nur 9mA durch die Segmente schicken.
Damit erzielen sie eine effektive Helligkeit einer mit konstant 2.25mA
betriebenen 7-Segment-Anzeige.
Also eignet sich das nur fuer die teureren 2mA Anzeigen, normale 10mA
Anzeigen haben da nur Schummerlicht.
Die 4k7 Basisvorwiderstand sich auch ein Problem, eigentlich zu gross.

0 new messages