Moin zusammen!
Ich bräuchte mal euren Rat.
Ich möchte 4 7-Segment-Anzeigen multiplexen. Ich habe am uC extremst
wenig Pins zur Verfügung, daran kann ich momentan auch erstmal nichts
ändern ;-)
Ich hatte mir daher folgendes überlegt: Ich benutze zwei 595er in Serie,
von denen einer nacheinander die Anoden ansteuert und der andere die
einzelnen Segmente der Anzeigen.
Ich müsste also jetzt also jedesmal ein 16-Bit-Wort reintakten, das für
den oberen 595er das anzusteuernde Digit, sowie für den unteren 595er
die entsprechenden Segmente beinhaltet. 4 Pins sind am SR noch frei, da
würde ich gernen noch Status-LEDs dran machen, aber die tun erstmal
nichts zur Sache.
Von der Funktion her sollte das ganze ja so gehen - die Frage ist eher,
ob es so praktikabel ist. Schließlich muss ich quasi ständig reintakten
- und zwar immer die vollen 16 Bit.
Vorher hatte ich einen 164er für die Kathoden und dann eben
PNP-Transistoren für jedes Segment, die dann direkt an Portpins des uC.
Das wäre ein wenig schneller, da nur 8 Bit zum Takten.
Eure Meinung? Der uC ist halt relativ viel mit dem Laden der Register
beschäftigt...klar, warm wird ihm dabei noch lange nicht - hängt im
Endeffekt von der Aktualisierungsrate ab.
@ Erno (Gast)
>Von der Funktion her sollte das ganze ja so gehen - die Frage ist eher,>ob es so praktikabel ist.
Sicher, ist ein alter Hut. Siehe LED-Matrix.
>Eure Meinung? Der uC ist halt relativ viel mit dem Laden der Register>beschäftigt...
Die paar Takte sind Peanuts.
Erno schrieb:> Ich habe am uC extremst wenig Pins
Das ist heftigst...
Erno schrieb:> Schließlich muss ich quasi ständig reintakten
Sieh es eher so: du musst da mal kurz reintakten, und dann kannst du
wieder für 5ms was anderes machen. Und das sind auf Maschinenebene
immerhin locker 50000 Zyklen...
Fhutdhb Ufzjjuz schrieb:> oder gleich nen zweiten µC nehmen, der das Timing übernimmt und per I2C> oder SPI nur noch die nutzdaten rüber schieben
Und damit genau keinen Pin sparen...
Wenn die Übertraung sowieso vom SPI-Interface gemacht werden soll, dann
kann das auch direkt die Schieberegister ansteuern.
> Eure Meinung?
Ich nehme an, auch deine Anzeigen brauchen 10mA pro Segment um anständig
zu leuchten.
Da sie aber nur 1/4 der zeit leuchten, muß man sie mit 40mA verorgen.
Und pro Stelle fliessen 8*40mA, also 320mA.
Hast du auch nur EIN MAL in einen Datenblatt eines 74HC595 geguckt ?
Fhutdhb Ufzjjuz schrieb:> oder gleich nen zweiten µC nehmen, der das Timing übernimmt und per I2C> oder SPI nur noch die nutzdaten rüber schieben
Wenn ich noch nen zweiten nehme, dann kann ich ja gleich auch nen
größeren nehmen :-] Aber der ist hier jetzt erstmal fix - trotzdem
danke!
Lothar Miller schrieb:> Das ist heftigst...
Ja, is blöd, aber is leider so.
Lothar Miller schrieb:> Und das sind auf Maschinenebene> immerhin locker 50000 Zyklen...
Stimmt schon.
Ein schrieb:> Zumindest für die gem. Kathoden würde ich PNP-Treibertransistoren> nehmen.
Du meinst die Anoden? Warum genau? Wie gesagt, ich brauche auch noch
Zwei Status-LEDs. Ggf. kann ich dann auch noch Schaltpunkte o.ä. an die
anderen Pins vom 595er hängen - also gebrauchen kann ich die schon.
Oder meinst du jetzt an den 595er noch PNPs? Können die die Anzeigen
nicht treiben??
Zwei schrieb:> Ohne die wird's wohl gar nicht gehen.
Wieso das nicht?
MaWin schrieb:> Ich nehme an, auch deine Anzeigen brauchen 10mA pro Segment um anständig> zu leuchten.
Ich habe mich da noch nicht so festgelegt, LC-Anzeigen mit 2mA wären
besser. Mal schauen.
MaWin schrieb:> Da sie aber nur 1/4 der zeit leuchten, muß man sie mit 40mA verorgen.> Und pro Stelle fliessen 8*40mA, also 320mA.
Das ist klar, aber wie gesagt, soviel Strom wollte ich garnicht
verbraten. Zur Not halt noch NPNs unten dran. Oder ein ULN.
MaWin schrieb:> Hast du auch nur EIN MAL in einen Datenblatt eines 74HC595 geguckt ?
Klar hab ich das. +/- 25mA pro Kanal, 70mA insgesamt. Daher ggf. noch
Treiber dran, je nach verwendeter Anzeige.
Solche Teile leuchten ja beispielsweise schon bei 1mA:
http://www.vishay.com/docs/81199/tdsr1050.pdf
Vierfach gemultiplext macht also 4mA * 8 Segmente = 32mA insgesamt - das
wäre absolut OK.
Klar, man weiß vorher nicht, wie das ganze optisch aussieht - die
Rechnungen sind schön und gut, die Realität meist anders.
Na Fragen kost nix und alles wissen tut auch niemand. Ich weiß z.B. grad
nicht, was die 595er für einen internen Widerstand haben, bzw. vermisse
ich einen Graph über den stromabhängigen internen Widerstand /
Spannungsabfall.
Weiß da einer mehr als ich?
die Verwendung eines zweien µC hätte halt den Charme, dass der HauptµC
sich nicht ums Timing kümmen muss, es wäre ja auch eine
Simplexverbindung per TX denkbar, dann wärs nur noch 1 Pin für die
Datenschieberei.
Aber gut, muss ja nicht
Fhutdhb Ufzjjuz schrieb:> die Verwendung eines zweien µC hätte halt den Charme, dass der HauptµC> sich nicht ums Timing kümmen muss
Das stimmt natürlich. Wäre auch gut.
Aber noch was anderes: Ich würde gerne eine Duo-LED verwenden, um
Schaltpunkte anzuzeigen. Diese finde ich allen erdenklichen Varianten,
aber gibt es auch die in meinem Bild rechts gezeigte Variante?
Dann könnte ich mit einem Pin die beiden Zustände bewerkstelligen...
...wenn dann würde ich die "Gemeinsamen" der 7-Segmentanz. wenigstens am
595 halbe halbe aufteilen, dann klappts mit den Strömen etwas besser.
Also alle 8 registerpins nutzen...
TS
nicht dass ich wüsste, aber es gibt welche mit komplett getrennt
herausgeführten Pins...
Hängt aber auch sehr sehr stark vom Formfaktor ab...
Aber wenn du eh schon eine Matrix anlegst, dann belommt man die da auch
noch mit reingefrimelt... dann braucht es garkeinen pin ....
TS
Karl schrieb:> Aus China für etwa 30 Cent / Stück zu beziehen.
Ja, aber mit solchen Bausteinen bin ich schonmal auf die Schnauze
gefallen. Ich mein, die kosten hier ~€10 oder so (wenn ich mich grad
nicht ganz vertue)...ein Imitat für 30Cent...:\