Hallo, ich möchte eine 7segm. Anzeige mit 4 stellen und Doppelpunkt (gem. Anode) an einen AVR anschließen. Die einzelnen Segm. sollen bei High aufleuchten. Da eine komplette Ziffer ca. 50mA aufnimmt, müßen da wohl Transistoren vor. Wie schalte ich das am besten, und welchen Transistor nehme ich (BC547) ? Danke !!
Wenn die Segmente bei High leuchten sollen, dann nimmst du besser 7 Segment Anzeigen mit gemeinsamer Kathode. Bei meiner Schaltung müssen die einzelnen Segmente gegen Masse geschaltet werden. Zuerst schalte ich den entsprechenden Transistor von der Anzeige durch, dann schalte die gewünschten Segmente ein und springe anschließend zur nächsten Anzeige usw. Stichwort: Multiplex-Betrieb
Wozu? Das invertieren erledigt dein µC doch mit links. Im übrigen wirst du im Programm sowieso sowas wie eine 'Zeichensatztabelle' brauchen: Eine Tabelle die dir sagt, welche Segment aufleuchten sollen, wenn du bsp. eine '2' ausgeben willst. Ob in dieser Tabelle leuchtende Segmente mit einer 1 oder mit einer 0 repräsentiert werden ist, wie man in Österreich sagt, ghupft wie ghatscht.
Oder einen 74xx240 dazwischen schalten. Aber wie Karl Heinz schon sagte, direkt in der Software erledigen.
Das ist allerdings wahr. Ich hatte mal das problem, das bei einem segm.(z.b. -f-) die helligkeit ok war, aber ab 2 die segm. dunkler wurden. Woran kann das gelegen haben ?
An der Art und Weise wie du die Segmente angeschlossen hast. Wenn durch alle Segmente gleich viel Strom fliesst, leuchten die auch gleich hell.
Für 50mA Segmentstrom übersteigt die Schaltung von Tobias die absolute maximum ratings des Datenblattes eines AVRs. 20mA liegen aber noch im grünen Bereich. Falls die Anzeigen mit gemeinsamer Anode schon vorliegen lässt sich die Schaltung ganz einfach für selbige modifizieren. Stellt sich aber noch die Frage welche Spannung die Anzeigen benötigen. Für Anzeigen mit einer LED pro Segment kein Problem, aber in den größeren sind z.B. 4 LEDs in Reihe pro Segment geschalten. Dann benötigt man für die Ansteuerung der "Plus-Seite" z.B. einen High-Side-Treiber. Ein einfacher Transisor tut's da nicht mehr. Gruß Stefan P.S. Habe kürzlich eine dieser Coca-Cola WM Countdown-Uhren umgebaut, die haben das ganz geschickt gelöst: Es gibt ein spezielles IC, ein 16-bit Schieberegister mit eingebauten Latch und Open-Collector-Ausgängen...
Bei meinen Led´s sind es pro segm. eine Led. Ein segm. zieht 7.5 mA. bei 330 Ohm/5V. Müßte der AVR ja locker schaffen.
Also wenn Du mit gemeinsamer Anode arbeiten willst (oder musst...) dann ist ein BC547 als npn-Transistor ungeeignet. Nimm einen BC557, das ist ein pnp. Den kannste High-Side anschließen und über einen Portpin ansteuern. Das Invertieren solltest Du auf jeden Fall den µC machen lassen. Für den ist das keine große Arbeit (eben z.B. mit einer Zeichensatztabelle, dann ist es nicht mehr Arbeit als umgekehrt...)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.