PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : zulässige Last an ATMega bei High-Pegel



Tommi
07.06.2006, 19:11
so ganz werde ich aus den Datenblättern nicht schlau. Ich habe 7Segmentanzeigen mit gemeinsamer Kathode (VQE23), die werden wohl 10-20mA pro segment ziehen. Ich möchte die Segmentleitungen direkt an den ATMega mit 330Ohm anschliessen. Die Digits sollen dann multiplext werden.Bei 7Segment mit gemeinsamer Anode (Low-Activ)geht das wohl auch ohne Treiberbaustein. Aber bei High-Activ? Die üblichen Treiber wie 74HC595 oder ULN2803 können wohl nur Low-Activ den Strom liefern.
High-Active Treiber wie UDN2981 kosten ja gleich ein mehrfaches.

Andere Seite:

Kann ich Ausgänge von CMOS-Bausteine (Modellbahn S88 Bausteine mit 4044/4014) direkt als Eingang für den ATMega verwenden oder brauche ich noch eine Anpassung?

Tommi

shaun
07.06.2006, 21:28
Das Datenblatt besagt, dass ein mit 5V betriebener mega8 0,8V Spannungsabfall am oberen und 0,7V am unteren Ausgangs-MOSFET verursacht, wenn 20mA durchfliessen. Bei Deinen ca 10mA pro Segment und damit pro Port-Pin also wohl etwas weniger, damit hast Du das High-Signal für die parallelgeschalteten Segmentanschlüsse schonmal, die Kathoden der einzelnen Displays kannst Du dann über Transistoren nach Masse schalten. Ich würde aber kein ULN2803 nehmen, weil an dem etwas viel Spannung abfällt, oder Du passt die Widerstände halt etwas nach unten an.

Ob Du ein Signal direkt an den Eingang eines IC geben darfst, hängt in erster Linie von der Spannung Deines Signals ab. CMOS-ICs können mit 3..15V betrieben werden, das sagt also nicht viel über die Amplitude aus. Wenn der Pegel zur Betriebsspannung Deines AVR passt geht das, ansonsten musst Du den Pegel wandeln - am einfachsten mit einem Widerstand, besser mit zwei Widerständen und ganz sicher mit einer Transistorstufe o.ä dazwischen. Eine Diode geht u.U. auch, wenn die Massen identisch sind. Gibt viele Wege, welcher genau passt, lässt sich nur sagen, wenn man die Signale kennt.

kalledom
07.06.2006, 21:54
Hallo Tommi,
wenn Du LED-Anzeigen im Multiplex-Betrieb betreibst, muß Du mit 'Peak-Strom' arbeiten, weil die LED's bei normalem Strom zu dunkel bleiben.
Du kannst einem Controller 20mA am Ausgang entnehmen, jedoch nicht an vielen Ausgängen gleichzeitig, weil dann evtl. die maximal zulässige Verlustleistung des Controllers überschritten wird: 0,7V * 20mA * Anzahl Pins.
Im Gegensatz zu shaun würde ich den ULN2803 nehmen, dann aber mit den Widerständen, besonders bei Multiplex-Betrieb, weit runter gehen.

shaun
07.06.2006, 22:24
Hi ihr,
die Widerstände wird er in der Tat nach unten korrigieren müssen, aber mehr als 20mA pro Ausgang würde ich nicht entnehmen. Für den ganzen Controller gelten aus der Erinnerung 200mA, aber auch diese Zahl würde ich mit Vorsicht geniessen, da wackelt die Versorgungsspannung schon etwas, egal, wie gut die Entkopplung ist. Ganz zu schweigen von der Verlustleistung... Du hast wohl Recht, ULN passt schon, die Widerstände müssen eh an die Displays angepasst werden, bei dem bisschen Spannung, was da noch für den Widerling bleibt, sind Faustformeln wie 1,6V für rot nicht mehr angebracht.

kalledom
07.06.2006, 22:37
Es gibt bei mir keine einzige µC-Schaltung, wo ich einem Ausgangspin mehr als maximal 5mA zumute. Die Pins sind als STEUERAUSGÄNGE mit Reserve konzipiert und nicht als Leistungsausgänge.
Wenn jemand meint, er könne die Pins bis zum Maximum belasten, dann kann er das wahrscheinlich auch eine Zeit lang; bis zum nächsten Sommer mit 40 Grad im Schatten :-)
Tommi wird sowieso bei Multiplex-Betrieb mit dem Peak-Strom der LED-Anzeige (ca. 80mA / siehe Datenblatt) arbeiten müssen; dazu benötigt er auf jeden Fall Treiber.

shaun
07.06.2006, 23:56
Die wird er wohl brauchen. Wenn ich so eine Multiplex-Anzeige aufbauen würde, würde ich vermutlich einzelne Transistoren benutzen, aber ich habe mich gerade selbst ertappt: in meiner Berlin-Uhr (siehe http://www.engcyclopedia.de -> Projekte) habe ich selbst einen 2003 für die low side-Treiber und BC807 für die "oberen". Ub sind 5V, Widerstände 82Ohm. Multiplex-Rate 1/4. Ob man die ULN-Ausgänge nun für die Segmente oder die Displays benutzt, ist ja egal, bei den genannten CC-Typen würden sich dann ein ULN2803 für bis zu 8 Stellen und 7 PNP Transistoren (8 für Dezimalpunkt) anbieten. Wenn es nur 2 oder 3 Displays sind, würde ich jedoch zusehen, Anzeigen mit gemeinsamer Anode zu beschaffen, den 2803 für die Segmente+DP benutzen und dann mit besagten 2-3 PNP-Transis auskommen.

SprinterSB
08.06.2006, 07:10
Der 74*595 hat push-pull Ausgänge, kann also auch HIGH treiben.

shaun
08.06.2006, 08:28
Wo Du Recht hast... nur sind die Ausgänge zB vom LS595 wie bei LS-TTL und kompatiblen Familien üblich nicht dazu da, aktiv high zu treiben, was man schon an den typisch 100..120 Ohm Längswiderständen vor den Kollektoren der oberen Ausgangstransistoren sieht. Dein * kann man natürlich auch durch HC, HCT oder eine andere modernere CMOS-Familie ersetzen, aber auf die von kalledom vorgeschlagenen 80mA kommt man damit bei weitem nicht.

Tommi
08.06.2006, 19:03
Vielen Dank für die vielen Tipps. Ich sehe also, das es besser ist, LEDs mit gemeinsamer Anode zu nehmen und einen Treiber davor zu schalten. Halten denn die 74HC595 oder 74HC540 auch die geforderten 80mA Peek aus oder ist auf der Low-seite auch bei 20mA Schluss? Anderen falls bleiben ja wirklich nur noch die UL2803 übrig. Als Widerstände würde ich jetzt 47Ohm nehmen, das macht 3,8V bei 80mA(und schon 300mW).

Das von mir anzuschliessende S88 System mit CMOS-Bausteinen läuft mit 5V. Allerdings wird es per 75cm Rundkabel(standard) angeschlossen.
Kann ich das dem AVR direkt vorwerfen oder sollte ich noch einen Schmitt-Trigger (wie 74HC14) davor schalten, um das Signal zu verbessern?

Tommi

linux_80
08.06.2006, 21:52
Hallo,
will auch was loswerden ;-)

ich hab hier eine Platine aus einem Spielautomaten (25mm grosse Segmente), dort werden die einzelnen Segmente über einen 74HCT540 (Pullups am Eingang) gefolgt von einem 2803 angesteuert,
da es 8 Stellen sind, wird die andere Seite auch per 2803 angesteuert, da ist allerdings ein BC327-25 dazwischen.

Edit:
hier beim 540er sind G1 und G2 dauerhaft auf Low.

kalledom
08.06.2006, 22:44
Hallo Tommi,
ich wiederhole:
..... Die Pins sind als STEUERAUSGÄNGE mit Reserve konzipiert und nicht als Leistungsausgänge. Das gilt auch für 74-er und 40-er, ganz gleich, mit welchen Buchstaben dazwischen und auch für AVR, PIC und andere µC.
Was hat linux_80 für Bausteine:
.... LED-Anzeigen .... über einen 74HCT540 (Pullups am Eingang) gefolgt von einem 2803 angesteuert und 2803 steht garantiert für einen ULN2803 !!!

linux_80
09.06.2006, 00:26
und 2803 steht garantiert für einen ULN2803 !!!
nochmal rauskram...
ja da steht ULN2803A drauf,
von da gehts über die Widerstände (ca. 390Ohm) zu den Segmenten.

... nochmal später,
hab mal alles zerlegt, und per Hand Spannung angelegt, meine LEDs haben eine gemeinsame Anode.

kalledom
09.06.2006, 10:17
Ist ja weiter kein Problem, für Anzeigen mit gemeinsamer Kathode, wie Tommi welche hat, gibt es den UDN2983 als Gegenstück zum ULN2803, der schaltet den Plus bei gleicher Ansteuerung.

Tommi
10.06.2006, 10:22
alles klar, also komme ich um die Treiberstufe ohnehin nicht drum herum und die kann ich ja direkt anklemmen.

Danke!
Tommi