Jetzt so langsam verstehe ich einige Dinge^^
Super =) Ich möchte die ICs wie im linken Bild hintereinanderschalten: Bild hier
Inwiefern bringt mir das "SPI Interface" einen Vorteil? Es geht doch auch ohne, oder?
Ui, das habe ich noch nicht so ganz verstanden. Gibt es einen Schaltplan für den IC 74HC595? Hier komme ich ganz durcheinander: Bild hier
Wie ist es eigentlich bei so vielen LEDs; kann ich die ICs an den Arduino-µC anschließen und die LEDs an eine externe Quelle? Oder packt es das Arduino auch alleine?
Ich bin auch noch ein Programmier-Neuling - Sry. In unserem Seminar arbeiten wir mit Arduino. Für mich logischer nachzuvollziehen ist die Programmierung für die Schaltung im linken Bild.
Empfiehlst du trotzdem die LED Matrix wie im rechten Bild? Hat sie auch keinen Interrupt-Programmier-Nachteil? Ich habe von den ganzen Treibern null Ahnung, da ich nur erste Grundkenntnisse in Arduino und Processing habe...
Meine Idee lässt sich leider nur mit vielen LEDs realisieren. Es handelt sich um einen 360°-Bildschirm. Doch ich möchte testweise erstmal mit einer kleinen Menge anfangen und es aber dann erweitern.
Was ist denn besser: "8-bit addressable latch" oder "IC 74HC595D"?
Ich wundere mich über die hohen Preisspannen vor allem bei den Latchs und auch den IC 74HC595 z.B. zwischen 84 Cent und 11 Cent. Gibts auch welche die ich aus irgendwelchen Gründen nicht nehmen darf? Sonst kaufe ich mir einfach die billigsten.
Geändert von Das Quadrom (02.06.2011 um 16:43 Uhr)
Für die Programmierung ist das Schieberegister einfacher. Als etwa gleichwertige (bei langen Leitungen sogar eher besser, aber wohl schwächere Ausgänge) Alternative gibt es noch 74HC4094.
Es gibt die ICs in 2 Verschiedenen Gehäusen (SMD oder DIP) da muss man halt wissen was man haben will. Dann gibt es noch die verschiedenen Ausführungen hinsichtlich Geschwindigkeit und Stromverbrauch, da kommen eingentlich nur HC oder HCT in Frage, das sollten aber ohnhine die gängigsten und günstigsten sein. 74AC... oder 74VHC... sind unnötig schnell und damit eher störempfindlicher dafür haben die ggf. minimal stärkere Ausgänge. Die alten TTL Familien wie LS, S, F brauchen einfach zu viel Strom - ob es da den 595 überhaupt gibt weiss ich nicht.
Das Hardware SPI Interface hat den Vorteil, das das Programm da schneller die Daten rüber schicken kann. an einem beliebigen Pin per Software dauert das etwa 3-10 mal länger (je nach Sprache).
Den extra Multiplexer zu den Schieberegistern braucht man eigentlich nicht. Also mehr die Schaltung vom unteren Plan. Dabei kann man R2 und R3 in der Regel auch weglassen, eher schon Widerstände in die Leitungen zu den Schieberegistern (s.u.). Die LEDs kommen dann an die Ausgänge, je 4 mal mit Widerstand nach GND und 4 mal mit Widerstand nach VCC. Damit verteilt sich der Strom auf die VCC und GND Pins und man kann fast 20 mA je Pin nutzen. Die eine Hälfte der LEDs leuchten dann aber bei einer 1 die andere Hälfte bei einer 0.
Wie die Stromversorgung beim Arduino aussieht, kann ich nicht sagen. Für 20 LEDs sind das aber auch nur rund 400 mA, bei 20 mA je LED. Man kann eine eigene Stromversorgung nehmen. Dann sollten aber zwischen µC und die Schieberegister ein paar Widerstände (z.B. 330 Ohm) für den Fall das die Versorgung der Schieberegister nicht aktiv ist wenn der µC läuft.
Was mich hier schon immer etwas verwundert, das üblicher Weise immer noch 20 mA Typen eingesetzt werden? Zugegeben die 2 mA Typen sind teurer aber der geringe Strom Verbrauch zahlt sich doch schnell aus. Es ist doch ein Unterschied ob man eine oder 10 LED's pro Pin Treiben kann. Zugegeben, ich musste im Beruf keine LED's selber bezahlen und habe daher schon seit zig Jahren nur 2 mA Typen eingesetzt. Die dafür nötigen Treiber danken es durch lange Haltbarkeit und geringem Strom Verbrauch.
Gruß Richard
@Besserwessi
Vielen Dank für deine Wissensvermittlung!
Ich habe mich entschieden zunächst ohne das Hardware SPI Interface zu arbeiten, weil die Zeit langsam drängt und für mich die Einarbeitung in dieses Neuland eine zu große Hürde ist.
Ich möchte mir mal einen Schaltplan malen. Wie schließe ich die IC's überhaupt an meinen Arduino-µC ohne SPI? Pin 10 an den 5-Volt-Ausgang und Pin 13 an den Ground? Was ist mit den restlichen Pins 11 - 16? Was sind "SS, MOSI, MISO, SCK" links im oberen Bild für Anschlüsse? Die sehe ich auf meinem Arduino nicht; sind das SPI-Anschlüsse?
Ohje, auf dem folgenden Bild sind auch noch die Pins ganz anders verteilt z.B. 8 GND und 16 VCC:
Bild hier
Vielen Dank für deine Geduld bisher! Hoffentlich überreize ich sie nicht!
Bei 1000 LEDs und nur 54 Ausgängen werde ich eine Menge IC's in ca 50 Reihen nutzen. Kann ich einfach Pin 14 (SER) an Pin 9 (QH*) des nächsten IC's ohne Widerstand löten? Und vor diese Reihe kommt dann ein 330-Ohm-Widerstand?
Du meinst den GND und VCC (5 Volt) vom µC, oder? In meinem Fall wäre das der Minus- und Pluspol einer externen Quelle, oder irre ich mich?
Ich möchte aus optischen Gründen gerne mit 32 LEDs beginnen. Dabei überschreite ich schon die 500 mA Grenze des USB-Ports. Deshalb werde ich mir einen Akku kaufen. Später möchte ich die LEDs in 32er-Blöcken auf eine Anzahl von 1024 ergänzen.
Wie sind denn deine Erfahrungen mit den 2mA-LEDs: sind sie genauso hell wie die 20mA-LEDs?
Geändert von Das Quadrom (03.06.2011 um 17:52 Uhr)
Eher heller, es gibt auch extra superhelle die machen sich gut bei Außenanzeigen und Sonnenschein.
Zum IC, immer schön das Datenblatt beachten, auch wenn das nicht einfach zu lesen ist. Alles Andere nennt sich "Blindflug" und endet meist auch so.Es gibt auch I²C 16 Bit Porterweiterungen damit lassen sich 16 LED's pro IC über einen 2 Drat BUS + Vcc/GND steuern/Programmieren. Mit 8 möglichen Adressen wären das 128 LED's (theoretisch) wie das in der Praxis aussieht ????? Die wollen ja auch adressiert und beschrieben werden was natürlich Zeit kostet...Der Vorteil jede Der 16 Bit Platienen ist gleich, nur die Adresse wird per Dip Schalter zugeordnet. Man kann also mit 16 LED's anfangen und einfach nur die Grundschaltung Kopieren.
![]()
http://www.nxp.com/documents/data_sheet/PCA9555.pdf
Gruß Richard
Gruß Richard
Geändert von Richard (03.06.2011 um 20:16 Uhr)
Bei 1000 LEDs würde ich schon über eine Matrix und auch über Effektive LEDs oder ggf. 2 mA LEDs nachdenken. Die 2 mA LEDs sind im Prinzip auch nur etwas effektivere LEDs die nicht unbedingt die sonst üblichen 20 mA aushalten. Es gibt ähnliche LEDs auch in einer Ausführung die bis etwa 20 oder 30 mA spezifiziert sind, da ist man dann auf der sicheren Seite.
Wie viel Strom man für die LEDs braucht hängt auch sehr stark davon ab wie hell es in der Umgebung ist. Das können 20 mA im Freien sein, aber auch 0,1 mA in einem relativ dunklen Raum. Der Unterschied zwischen billigen Funzeln und super hellen LEDs kann auch ähnlich groß sein.
Je nach Strom kann man die Ausgänge der HC595 auch noch für eine Matrix nutzen - da gehen dann aber alle LEDs in die gleiche Richtung und man hat knapp 10 mA als Limit. Wenn man mit 2 mA mittleren Strom Auskommt, reicht das immerhin noch für ein 4 bis 5 faches Multiplexing als LED Matrix. Das Multiplexing geht dann aber nicht über den OE Eingang wie oben links, sondern so wie in der Schaltung oben rechts als Matrix. Dabei werden die gemeinsamen Leitungen aber wohl extra Treiber für mehr Strom brauchen, denn da gehen dann mehr LEDs (z.B. 1/4 der LEDs) ran. Das Multiplexer IC braucht man dagegen bei 4 oder 5 Leitungen nicht unbedingt.
Die Pins SS, MOSI, MISO, SCK sind die für das Hardware SPI Interface. Wobei MOSI, MISO, SCK auch für SPI benötigt wird, und SS ein fast beliebiger IO Pin ist. Wenn man Hardware SPI nicht nutzen will, nimmt man da 3 IO Pins. Das können auch die Pins für Hardware SPI sein. Die kann man auch für die Softwarelösung nutzen. Man legt sich also da noch nicht fest.
Falls der µC noch den TX Pin der USART frei hat, kann man auch die USART als hardware SPI nutzen - das geht ähnlich wie das extra SPI Interface.
Wenn man viele LEDs als Matrix hat, ist es schon hilfreich wenn man da Hardware Unterstüzung hat, man muss die ja nicht gleich nutzen.
Die Belegung des HC595 ist oben schon gezeigt - nur die Versorgung ist weggelassen.
Hallo!
Die Lösung für Steuern um 1000 LED's ist vor allem von der annehmbarer Zeit fürs Wechseln der allen Zustände abhängig (Taktfrequenz). Am einfachsten zu verkabeln (falls annehmbar), sind kaskadierte Schieberegister, die nur 4 Leitungen benötigen (VCC, GND, Data und Clock).![]()
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Weil Du Dich dann nicht um die Hartware/Software Ansteuerung der schnitt stelle kümmern musst. Du sagst der nur was übertragen werden soll. Einn Du das selber Programmieren willst und eine hablwegs flüssige Anzeige haben willst, wirst Du die Datenausgabe in Assembler machen müssen. Was in diesem Fall (wenn man es kann) aber relativ einfach ist. Bei schiebe Registern muss man allerdings immer alle (hier 1000) Stellen neu durch schieben, auch wenn nur LED 955 ihren Zustand ändern soll......Bei z.B. I²C Port expander können die LED's einzeln angesprochen/geändert werden, es mussen also nur die Änderungen gesendet werden.
Gruß Richard
Lesezeichen