Forum: Mikrocontroller und Digitale Elektronik 7 Segmente anzeige


von Samet Y. (samet)


Lesenswert?

Hallo leute

Ich habe eine frage an euch. Ich habe 6 Stück 7 Segmente anzeige und ich 
will aber nicht für Segment 7 Port auf meinem Atmega belegen... Könnts 
ihr mir einer eine Schaltung hochladen bitte... Und noch ein kleiner 
aber sehr wichtiger hinweis, ich verfüge leider nur npn transistoren... 
habts ihr eine passende schaltung für mich? danke für die hilfe im 
vorhinein:)

von Falk B. (falk)


Lesenswert?

@  Samet Yildirim (samet)

>Ich habe eine frage an euch. Ich habe 6 Stück 7 Segmente anzeige und ich
>will aber nicht für Segment 7 Port auf meinem Atmega belegen...

Da bist du nicht der Erste.

> Könnts
>ihr mir einer eine Schaltung hochladen bitte...

Nö, es gibt schon tonnenweise in Imternet. Siehe LED-Matrix.

> Und noch ein kleiner
>aber sehr wichtiger hinweis, ich verfüge leider nur npn transistoren...

Sowas aber auch ;-)

von 7segment (Gast)


Lesenswert?

guckst du hier:

Beitrag "ADC mit Multiplexanzeige"

Wichtige Frage: Common Anode oder Common Cathode??

von Samet Y. (samet)


Lesenswert?

danke für die antwroten. Wie dumm es auch klingen mag aber ich habe 
leider keiner schaltung die mit npn transistoren gezeichnet wurde... 
könnt ihr mit trozdem hier bitte eines hochladen... alle die ich finde 
sind mit pnp realisiert.

von Thomas Kiss (Gast)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

Samet Yildirim schrieb:

> leider keiner schaltung die mit npn transistoren gezeichnet wurde...
> könnt ihr mit trozdem hier bitte eines hochladen... alle die ich finde
> sind mit pnp realisiert.


Das hängt hauptsächlich davon ab, ob deine 7-Segment eine Common-Anode 
oder eine Common-Kathode haben.

von Samet Y. (samet)


Lesenswert?

es ist eine common kathode es hat einen gemeinsamen minuspol. das heist 
diese schaltung die du mir geschickt hast stimmt nicht ganz... und 
nochmal zur erinnerung ich habe leider nur nur npn transistoren:(

von Karl H. (kbuchegg)


Lesenswert?

Samet Yildirim schrieb:
> es ist eine common kathode es hat einen gemeinsamen minuspol.

Na, dann passts doch.
Du schaltest mit dem NPN den Minuspol jeder Anzeige bei Bedarf an Minus.
Ist doch alles paletti.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Ausg.C3.A4nge_benutzen.2C_wenn_mehr_Strom_ben.C3.B6tigt_wird

Im Bild ist die 'Last' durch eine LED (+Widerstand) symbolisiert. Bei 
dir ist das eben nicht 1 LED, sondern ein kompletter 7-Seg Baustein.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Zieh dir diesen Abschnitt zu "Transistor als Schalter" rein (linkes 
Bild):
http://www.mikrocontroller.net/articles/Transistor#PNP.2FNPN_als_Schalter.2C_wohin_mit_der_Last.3F

den R_Last

Vcc o---###--- ...

ersetzt du durch eine Kombination aus LED und Vorwiderstand

Vcc o---###--->|--- ...
             A  K
             +  -

Schreib zunächst mal dein Programm so, dass du die LED an/aus schalten 
kannst.

Wenn du keine einzelne LED hast, kannst du vielleicht ein Segment 
deiner 7-Segment-Anzeige als LED benutzen. Vielleicht, weil du

a. eine 7-Segment-Anzeige haben musst, die mit dem vorhandenen Vcc 
arbeiten kann. Bei 7-Segment-Anzeigen mit mehreren LEDs in Serie pro 
Segment reicht Vcc möglicherweise nicht.

b. du die entsprechenden Pins für Kathode (-) und Anode (+) der 
Segment-LED finden musst.

Ein Datenblatt zur 7-Segment-Anzeige kann alle Fragen klären. Ohne 
Datenblatt kannst du mit der Schaltung oben experimentieren, ob deine 
Vcc für das Display reicht und wie die Pins am Display zugeordnet sind.

Wie das Multiplexing mit allen Segmenten und NPN-Transistor aufgebaut 
wird, hängt davon ab, ob du ein Common Anode oder Common Cathode 
Display hast (=> Frage von 7segment).

Die sechs Transistoren für die Auswahl jeweils eines Displays im 
Multiplexbetrieb sitzen an der Leitung für die gemeinsame (common) 
Stromzufuhr (Common Anode => PNP Transistor) oder an der Leitung für die 
gemeinsame Stromabfuhr (Common Kathode => NPN Transistor).

An der Gegenseite die Vorwiderstände in Serie zu den entsprechenden µC 
Portpins oder den Pins z.B. eines Schieberegisters zur Einzelschaltung 
der Segmente des jeweils aktivierten Displays.

Bei Schieberegistern gibt es welche, die Strom schlucken, welche die 
Strom liefern und welche die beides können. "Nur-Stromschlucker" 
Schieberegister (Achte auf den Begriff Open Collector Ausgänge im 
Datenblatt) können logischerweise nur verwendet werden, wenn das Display 
Common Anode (gemeinsame Stromzufuhr) ist.

von Samet Y. (samet)


Lesenswert?

Karl heinz Buchegger schrieb:
> Na, dann passts doch.
> Du schaltest mit dem NPN den Minuspol jeder Anzeige bei Bedarf an Minus.
> Ist doch alles paletti.
>
> http://www.mikrocontroller.net/articles/AVR-Tutori...
>
> Im Bild ist die 'Last' durch eine LED (+Widerstand) symbolisiert. Bei
> dir ist das eben nicht 1 LED, sondern ein kompletter 7-Seg Baustein.

ja genau auf das bin ich auch gestoßen und genau dieses schema habe ich 
mir auch überlegt nur ist mir dabei einer eingefallen... wenn ich jetzt 
z.b 3 stück 7segmente schalte... das würde bedeuten z.b von pin PB0 bis 
PB7 (ist jetzt nur ein beispiel) PB0 führt zu allen 3 segmenten auf die 
erste "LED" PB1 auf führt zu allen 3 segmenten auf die 2te "LED" usw... 
und da es eine common kathode ist jedes segment mit einem npn transistor 
auf Masse geschalten... das heist ich habe dann jeweils ein npn 
transistor für ein segment und zusätzlich führt dann von PC0 PC1 und PC2 
zu den jeweiligen transistoren. das würde aber dann heisen wenn ich z.b 
led1 und led2 beim ersten segment und nur led1 beim 2ten segment 
geleuchtet haben will... dann tu ich die ersten 2 segmente auf masse 
scahlten mit dem transistor... was aber dann das problem ist, ist das 
beim 2ten segment auch dann das 2te led leuchten wird... irgendwas 
stimmt da bei meiner überlegung nicht:(

von maddin (Gast)


Lesenswert?

du musst die Kathoden der 7-Segmentanzeigen nacheinander aktivieren und 
jeweils die richtigen 7-Segment Informationen dazu schalten.

Bitte poste mal ein Schaltbild, wie du es bis jetzt machen willst.
Bitte markiere im Bild mal was du noch anders haben willst.

Es geht aus deinem "Geschreibe" so viel zweideutigkeit hervor, da 
solltest du mal ein Schaltbild posten.

m.

von Erich (Gast)


Lesenswert?

Der Witz bei einer Multiplex-Anzeige ist:

Die einzelnen Ziffernstellen werden NACHEINANDER angesteuert.
Deshalb wird zu den Transitoren ein  1-aus-N Code ausgegeben.
Immer nur EIN Transistor ist zu einer Zeit aktiv.

Beispiel 4-stellige Anzeige
1.)
Auf den Pins welche die Transistoren ansteuern wird ein Muster wie
a)   0001
b)   0010
c)   0100
d)   1000
ausgegeben.

2.)
Auf den Pins, welche zu den Segmenten geführt sind, wird zu den oben 
genannten Zeitpunkten a) - d)  dann gleichzeitig das Muster für die 
anzuzeigende Ziffer dieser Ziffernstelle ausgegeben.

Die Weiterschaltung der (hier: 4) Ziffernstellen erfolgt mit einer 
Wiederholrate die sichtbares flimmern vermeidet, also >= 50 x pro 
Sekunde, besser 100x oder 200x.
In der Regel wird das von einem Timer gesteuert bzw. ausgelöst.

von Samet Y. (samet)


Lesenswert?

Erich schrieb:
> Der Witz bei einer Multiplex-Anzeige ist:
>
> Die einzelnen Ziffernstellen werden NACHEINANDER angesteuert.
> Deshalb wird zu den Transitoren ein  1-aus-N Code ausgegeben.
> Immer nur EIN Transistor ist zu einer Zeit aktiv.

 SUPERRRRRRRRRRRRRRRRRRRRRR genau das wollte ich wissennnn:D 
DANKEEEEEEEEEEEEEEEEEEEEE

> Die Weiterschaltung der (hier: 4) Ziffernstellen erfolgt mit einer
> Wiederholrate die sichtbares flimmern vermeidet, also >= 50 x pro
> Sekunde, besser 100x oder 200x.
> In der Regel wird das von einem Timer gesteuert bzw. ausgelöst.

JETZT HABE ICH ES VERSTANDENNNN DANKE SCHÖN:)

nur eine kleine frage... führt das nicht zu leistungsverlust im chip? 
wenn jede "milisekunde" ungeschaltet wird?

von Erich (Gast)


Lesenswert?

Es ist der Zweck des uC, bei der Abarbeitung der Programme auch seine 
Ausgangspins umzuschalten, auch "schnell".
Die 100 Hz oder 200 Hz sind hierbei aber eher ziemlich langsam !

Für eine Anzeige reicht es aber aus und man braucht nicht höher zu gehen 
mit aus Augaberate, so nimmt tatsächlich die Verlustleistung zu.
Aber eher weil Ströme zu den Transistoren und Segementen fliessen bzw. 
umgeladen werden müssen.

Für moderne uC wäre es kein Problem, aus Signale bis zum 
Megahertzbereich nur durch Software gesteuert auszugeben.

Zulässige Ströme und (Verlust-) Leistungen stehen im Datenblatt des uC.

von Sam .. (sam1994)


Lesenswert?

Man kann das ganze auch ohne Transistoren aufbauen, dann sollte man 
allerdings am besten jedes Segment einzeln nacheinander ansteuern.
Wenn man das richtige Timing benutzt geht das sogar mit 5V.
Vorteil ist dabei noch, wenn man nur eine LED einschaltet und das 
programm hängt, geht durch die 5V nur eine kaputt.

von maddin (Gast)


Lesenswert?

und wieviel Ports willst du für deine verknispelung benutzen - hier 
handelt es sich doch um Grundlagenprobleme...

Kollege kann ja mal einen Plan erstellen, mit den Infos von hier bis 
jetzt sollte das mehr als möglich sein... zumal es schon wunderlich 
genug ist das er über Multiplexing nichts gefunden hat, da ja ca. 3 
Anfragen am Tag hier zu dem Thema kommen...

@Samet
Gegenfrage: hast du nun mal einen Schaltplan erstellt bevor du dir um 
die Chipinternen Leistungsverluste gedanken machst?

m.

PS.:ein Programm kann genauso wenig hängen wie eine Sache Sinn machen 
oder eine Glühbirne brennen...

von Samet Y. (samet)


Lesenswert?

> und wieviel Ports willst du für deine verknispelung benutzen - hier
> handelt es sich doch um Grundlagenprobleme...

es könnte sein das es sich um grundlagen probleme handelt weil ich 
wahrscheinlich auch noch eine weile brauche bis ich so weit bin wie 
ihr...

> Kollege kann ja mal einen Plan erstellen, mit den Infos von hier bis
> jetzt sollte das mehr als möglich sein... zumal es schon wunderlich
> genug ist das er über Multiplexing nichts gefunden hat, da ja ca. 3
> Anfragen am Tag hier zu dem Thema kommen...

bitte nicht falsch verstehen aber das problem war nicht "nicht gefunden" 
sondern "falsche gesucht" da ich den vorgang nicht wusste wie ich das 
realisiere wusste ich auch nicht das dies "multiplexing" heist...

> @Samet
> Gegenfrage: hast du nun mal einen Schaltplan erstellt bevor du dir um
> die Chipinternen Leistungsverluste gedanken machst?

ja ich habe schon schaltpläne erstellt aber bevor ich dieses erstellen 
konnte wollte ich mal wissen was ich über da machen will und WIE ich 
realisieren kann was ich da will!

> PS.:ein Programm kann genauso wenig hängen wie eine Sache Sinn machen
> oder eine Glühbirne brennen...

PS: Dieses Forum ist dazu da um fragen auch von anfängern zu 
beantworten... und ich bin mehr als zufrieden mit diesem forum und von 
10 würde ich 10 auf dieses forum geben... leider ist es manchmal bei den 
anfängern so das durch nachschauen einfach nichts weitergeht und dann 
nur mehr fragen nachhilft.

eine kleinigkeit noch... dank den leuten die mir heute geholfen haben 
weis ich das eine glühbirne nicht brennt;) DANKE AN ALLE

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.