Ich nehm für sowas gern' den SPI. Das kann auch der Bascom tadellos und unauffällig. Als Schiebe register verwend' ich entsprechend beschaltete 74374, da kauf' ich nix extra.
PICture danke dir für die Mühe. tatsächlich scheint mir die Max7221/7219 Lösung recht kompilziert.
Welche Schieberegister könnte ich denn nehmen. Hast irgenwo im Netz was gefunden, was so ähnlich arbeitet wg. Anschauung.
Da ich ja wie gesagt Anfänger bei MCs bin, verstehe ich noch nicht ganz wie der MC mir den Schieberegistern arbeitet. Wie müsste ich denn den MC dann programmieren, damit meine Taktungen herauskommen...
Fragen über Fragen. Nixfürungut...
Ich nehm für sowas gern' den SPI. Das kann auch der Bascom tadellos und unauffällig. Als Schiebe register verwend' ich entsprechend beschaltete 74374, da kauf' ich nix extra.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Ich nehm als Port-Expander immer den 74*595 zb 74HC595. Seriell rein, 8 parallel raus. Endlos kaskadierbar, gehen bis 100MHz oder mehr, weniger als 1€. Gibt's auch als Open-Collector, in DIL oder SMD. Weiterer Clou: Das ganze ist eigentlich wie SPI-Protokoll, und AVR's haben Hardware um das leicht und fix anzusteuern. Funzt prima bei mir. Alternative wäre CD4094-ähnliche Teile wie 74HC4094, die haben aber ein anderes Pinout.
Es gibt auch I/O Expander von Maxim, die direkt LEDs treiben können, wie den MAX6956: 20 (DIL) bzw 28 (SMD) I/O-Ports bzw LED-Treiber. Da bräuchtest du nicht mal Vorwiderstände für die LEDs und kannst die Helligkeit easy anpassen.
Dringend abraten würde ich dir von ungelatchten Schieberegistern wie dem o.g. 74*164. Das Prinzip beim Schieben ist einfach: die Bits wandern im Gänsemarsch bis sie an ihrem Bestimmungsort angekommen sind. Bei ungelatchten Registern wie 74*164 sieht man das aber an der Anzeige. Selbst bei einigen 100kHz shift-Frequenz ist ein schwaches Aufzucken sichtbar. Mit Latch wandern die Bits an ihren Bestimmungsort wie sonst auch, werden aber nicht direkt angezeigt. Das wird erst über eine Steuerleitung verannlasst, die den Inhalt der Schieberegister in die Ausgangslatches läft -- im Endeffekt ein Ram von 8*1 Bits -- wenn sie an Ort und Stelle sind. Damit funzt ne Anzeige sauber!
Die 2 MAX6956 zu bekommen war auch super easy: Bei maxim.com Samples bestellt und an die Firmenadresse schicken lassen. 3 Tage später kamen die Dinger per Luftpost aus USA *grinnz*.
::Edit::
PicNick war mal wieder schneller
Bei der Lösung mit den gelatchten Schieberegistern brauchst du 3 Ports (Daten, serial Clock, Latch) und mit SPI-Hardware 4 Port, weil MISO brach liegt. Aber egal. Ports hast du dann ja wie Heu...
Disclaimer: none. Sue me.
Hallo,
Die Idee mit dieser LED-Laufschrift ist nicht schlecht, aber dann ist man doch auf einen Computer angewiesen, wenn ich das richtig verstanden habe?
Übrigens: Hier gibts die Hardware und auch Software (auch für Computer) mitt 144 Kanälen:
www.blinkenleds.de
Wenn man das mit den ICs lösen könnt braucht man keinen Computer und muss nur einstecken und scn läuft alles.
Ich bin auch neu und wollte schon etwas ähnilches bauen, was aber über 5000 LEDs gabraucht hätte (nicht gebaut). Ich wollte das über mehrere ICs steruern, die ich irgendwie verbunden hätte, aber hab nie ein datenblatt zum IC gefunden. Den schaltplan mit einer 10-Kanal-LED-lichterorgel gibts hier:
http://www.knollep.de/Hobbyelektroni...e/20/index.htm
Ich dachte, dass man mehrere dieserICs irgendwie hintereinander schalten könnte, bis man die passende Anzahl an Kanälen hat. Aber Datenblatt hatte ich nie eins (vllt wärs dann was geworden.)
superbastler
Also wenn ich nach 74hc595 google werfd ich von Ergebnissen nur so erschlagen. Oder zu den Herstellern umschauen Infineon, SGS-Thomson, Texas, ST-Micro, National Semi, On-Semi, Intersil,
oder alldatasheet.com --> 74hc595, 74htc595,
evtl auch bei Distributoren Reichelt, rs-components, ...
Disclaimer: none. Sue me.
@sprinterSB das ist doch was! klingt super. Ich schau mir das mal an. dennoch (wie immer) meine Frage: gibs irgenwo einen schaltplan, wo ich mir das Zusammenspiel mit dem MC mal ansehen kann... Anfänger halt. Ziel bei mir ist, die Schaltung möglichst einfach und klein zu halten. In das Problem mit der MC-Programmierung möchte ich halt einsteigen. Löten ist zwar super mache ich auch gerne wenn es sein muss, aber das muss man ja nicht übertreiben .
Hier mal ein Beispiel aus einem kleinen Projekt mit einem Mega8 (IC
Er steuert ein VFD an und die 3*74HC595 (IC5, IC6, IC7). Die Ausgänge benutz ich hier um Eproms zu adressieren (IC1-IC4), aber das spielt mal keine Rolle.
Wenn du als Treiber nen ULN2803 o.ä. nimmst, kann der direkt neben dem 74*595 plaziert werden, weil die Ports direkt nebeneinander liegen.
Die Steuerleitungen heissen bei mir
SCK (taktet die Daten)
RCK (latchen der Daten)
Die Signalleitungen sind SER1, SER2, SER3. Der SER-Ausgang von IC7 (Pin9) wird nicht weiter verwendet. Wenn du in Modulbauweise baust, kannst du den auch rausführen auf nen Stecker (mit Vcc,GND,RCK,SCK,Power-VCC) und nochmal Module hintendranhängen. Die Ausgabemodule sind ja alle baugleich.
Das Beispiel verwendet nicht die SPI-Hardware zum Ansteuern der 74*595, die steuer ich per Software.
Disclaimer: none. Sue me.
Hallo!
@PickNick
74374 sind keine Schieberegister, sondern 8xD-Type Latches mit Tri State Ausgängen.
@pip_lim
Ich bin sehr zufrieden, dass Du so viel fragst. Das zeigt, dass Du es wirklich bauen und dabei was lernen willst. Als Schieberegister würde ich die von mir schon auf der Skizze gennanten 74xx164 nehmen. Je nach dem wieviel Strom so eine LED braucht, mußt Du noch ev. die von @SprinterSB erwähnte Treiber anwenden. Die Steuerung ist sehr einfach. Da die alle Schiberegister in serie geschaltet werden, enspricht der Zustand einer LED einem bit in dem "langen" Schieberegister. Du mußt immer so viel bits in den "langen" Schieberegister schicken, das er voll wird. Dass mußt Du jede Zeiteinheit machen. Wenn eine LED z.B 4 Einheiten leuchten soll musst Du für sie über 4 Einheiten das bit wiederholen. Du kannst also Deine Grafik "direkt" in den Register "einschieben", mußt Du aber die weißen Felder auch schwarz/gelb definieren. Je nach Schaltung den LED´s (Ausgang -> LED-> + oder Ausgang -> LED -> Gnd) wird das gelbe Feld mit 0 oder 1 definiert. Als erster wird der letzte "Punkt" (recht unten) der Grafik geschickt. Die Zuteilung der LED´s zu Kanälen ist dann biliebig. Ich habe versucht, das möglichst einfach zu erklären, aber wenn es noch nicht ganz klar ist werde ich weiter versuchen!
@PICture nochmal Danke. Klar will ich was lernen. (würde zwar auch so einen Schaltung kaufen, wenn es sie gäbe. Aber selbst ist der Mann!!! (vor Jahren flogen Menschen zum Mond, da sollte man doch 2005 so ein paar LEDs zum blinken bringen... selbst ich))
Nun raucht auch der Kopf. Mir ist noch micht ganz klar wie ich MC und Schieberegister und LED schalten muss. Damit werde ich mal anfangen. Vielleicht gibs ja was im Netz, was ähnlich ist...
Dann kommt die Progarmmierung.
sehr gespannt
der PiP
Die Schieber siehst du im Schaltplan oben oder in 74*595-Kaskade
SER(14): Da wandern die Daten im Gänsemarsch rein und in
QH*(9): wieder raus zum nächsten Register
SCK(11): Taktet die Daten. pro Takt wandern sie um 1 Position weiter
RCK(12): lädt die Daten vom Schieberegister an die Ausgänge, erst damit ändern QA-QH ihren Wert
SCL(10): Damit kann man alle Schieberegsiter auf 0 setzen. Wird hier nicht gebraucht und ist nach Vcc (+5V) verdrahtet.
G(13): Damit kann man die Ausgänge QA-QH hochohmig machen. Wird nicht gebraucht und ist nach GND (0V) verdrahtet.
Der 74*164 wird ähnlich angesteuert, hat aber 2 Pins weniger. Er ist also minimal kleiner, bringt aber den o.g. genannten Nachteil einer flackernden Anzeige.
Bei 25*50 LEDs, von der jede 20mA haben will, brauchst du satte 25A für dein Design-Objekt! *schwitz*. Jedenfalls dann, wenn die alle parallel hängen. Wenn du allerdings ne Versorge von 12V nimmst, kannst du mehrere LEDs in Reihe hängen, zB
+12V -- 75 Ohm -- 3 * Blau -- 1/8 ULN2803 -- 1/8 Schieberegister
oder
+12V -- 60 Ohm -- 6 * Rot -- 1/8 ULN2803 -- 1/8 Schieberegister
Dabei bin ich von 20mA/LED ausgegangen und 1.8V für Rot bzw 3.5V für Blau. Spannungsabfall am ULN nicht eingerechnet. Evtl. reicht auch ein kleinerer Strom für die LEDs (anderer Vorwiderstand), an den typischen Spannungen ändert sich aber nix, die ist i.w. abhängig von von der Bandlücke, also von der Farbe der LED.
Die Grundschaltung für nen Mega8 ist recht simpel:
Spannungsversorgung von 5V (Vcc. AVcc) und 0V (GND, AGND)
Reset, SCK, MSIO, MOSI gehen an einen Prog-Adapter, von wo aus du ein neues Programm aufspielen kannst, ohne den AVR immer aus deiner Zielschaltung rauszupopeln.
TxD, RxD, SCL, SDA brauchst du nicht, ebensowenig wie nen externen Quarz an Pin 8/9.
Port für SER an das erste Schieberegister. (evtl SCK)
Port für SCK an alle Schieberegister (evtl MOSI)
Port für RCK an alle Schieberegister
QH* an SER des nächsten Schieberegisters
Dazu kommen Kleinteile wie 7805, um aus den 12V die 5V Vcc für AVR und Schieberegister zu machen, und Kleinteile wie ein paar Kondensatoren und (Vor)Widerstände.
Disclaimer: none. Sue me.
Lesezeichen