PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HILFE: mehrere LEDs mit versch. Rhytmen blinken lassen



pip_lim
27.10.2005, 11:48
Liebe Elektronik-Gemeinde,
als Neuling brauche ich Eure Hilfe! BITTE!

Für ein Modellprojekt möchte ich mind. 24 'Kanäle' in unterschiedlichen Rhytmen blinken lassen. An jeden 'Kanal' möchte ich bis zu 25 LEDs hängen.

Die genaue Anzahl der 'Kanäle' steht leider noch nicht fest aber max. 50 ebenso die genaue anzahl der LEDs pro Kanal

Die Frequenzen des Blinkens kann man so beschreiben (Einheit=0,25 sek)

Kanal1:aus,aus,aus,an,aus,an, aus,aus,aus,an usw.
Kanal2: an;aus,aus,aus,aus,an,aus,aus,an usw.
usw.

Ich habe Sie als Grafik angehängt.

Welchen Microkontroller nimmt man da? ... wenn überhaupt...
Gibt es Schaltpläne für so etwas irgendwo?

Hat jemand eine Idee, wie es einfach (und kostengünstig) umzusetzen ist?

schonmal 1000 Dank!!!!
Pip

herrma
27.10.2005, 12:00
Hi,
mal davon abgesehen, dass Du eine Menge LEDs benötigst, ist die Aufgabe mittels MC relativ einfach zu lösen.

Nachfragen:
Was verstehst Du unter "unterschiedliche Rhytmen?" Ich vermute mal, dass die "Rhytmen" durch externe Ereignisse gesteuert werden.

Warum sind einige Felder in der Matrix weiß? Werden dort keine LEDs benötigt?

Gruß Herrma

ghost0
27.10.2005, 12:15
Normalerweise ist ein uC (und nachgeschaltete Latches) oder ein (mehrere) (E)(E)PROM mit an den Adressleitungen vorgeschalteten
Zaehlern die bessere Wahl.

Diskret kann man das ganze mit Zaehlern, Decodern und Dioden
aufbauen --- ich wuerde hievon bei der Kanal/Zustandsanzahl abraten,
zumindest wenn Du nicht noch riesige Menagen an Altbestaenden
hast :-)

Heinz

pip_lim
27.10.2005, 12:16
Hallo,
mit Rhytmus ist wohl eher die Blinkfrequenz gemeint. Gelb=an Schwarz=aus
Weiss = nix d.h. Sequenz beginnt von vorne.

in der Grafik, erster Balken heisst das 0,5 sek an; 1,5 sek aus; 0,5 sek an; 5 sek aus, 0,5 sek an; 2,5 Sek aus. von vorne

und ensprechent die anderen Balken.


Von Aussen nichts beeinflusst werden (d.h. keine Lichtorgel oder sowas). einfach blinken und gut ist... wenn's mal soweit ist.... :-)

herrma
27.10.2005, 12:45
Na dann.
Nimm einfach einen MC (z.B. PIC). Darin legst Du den "Rhytmus" im EEPROM ab.
Die Info für jeweils eine Spalte rufst Du aus dem EEPROM synchron zur Taktfrequenz aus dem EEPROM ab und schaltest die aktuelle Spalte z.B. mit einem ULN auf GND.
Als Spannungsversorgung für die LEDs reicht dann eine regelbare Stromquelle vollkommen aus.

Ich habe vor Jahren eine Fahrzielanzeige für Reisebusse entwickelt. Die Matrix war damals 128 x 32 Pixel für die Frontanzeige. Natürlich sind andere Raster ebenfalls möglich.

Gruß Herrma

PICture
27.10.2005, 12:55
Hallo pip_lim!
Dein Projekt ist in sich einfach, aber die Anzahl von LED´s ist riesig (ca.1250). Das Problem sehe ich hier vor allem bei der Verkabelung der LED´s. Es ist möglich das mit 2 Steuerleitungen seriell zu steuern, aber pro 8 LEDS braucht man dann einen Schiberegister ( insgesamt ca. 150 Schieberegister). Ist das annehmbar?
MfG

herrma
27.10.2005, 13:08
@PICture: Was um Gottes Willen willst Du denn mit 150 Schieberegistern machen? ;-)
Die LED-Matrix kann man übrigens prima als Platine fertigen lassen. Da brauchst dann quasi keine Kabel, aber das Einlöten der LEDs bleibt natürlich.

Gruß Herrma

PICture
27.10.2005, 13:22
Hallo Herma!
Ich selber nichts. Das ist nur eine Möglichkeit, über eine LED-Matrx war bis zu meinem Beitrag noch keine Rede. Ich glabe nicht, dass es so gemacht wird. Was sollte so eine Platine mit über 1000 blinkenden LED´s für einen Zweck erfüllen? Über das, wo und wie die LED´s untergebracht werden, muß uns der @pip_lim noch ein paar Wörtchen schreiben, oder?
MfG

pip_lim
27.10.2005, 13:24
Hallo,
so viele LED's werden es sicher nicht.
ich vermute es werden ca. 5-10 pro Kanal und nur in der Ausnahne mal 50 Stück. (muss aber für die Planung damit rechnen)

Es wird auch keine Matrix-> Kabel Löten, löten, löten (sollte kein Problem werden)

Gibt es denn für sowas irgentwo einen Schaltplan (den man abwandeln kann).
Wie gesagt ich bin Neuling auf dem Gebiet MC. Welcher MC kann 24 oder mehr 'Kanäle'?

Habe im Netz was von dem LED Treiber Max7221 gelesen. Ist das was für mich?

schon mal 1000 Dank für Eure antworten

Pip

herrma
27.10.2005, 13:29
Über das, wo und wie die LED´s untergebracht werden, muß uns der @pip_lim noch ein paar Wörtchen schreiben, oder?

Stimmt ;-)


.. über eine LED-Matrx war bis zu meinem Beitrag noch keine Rede.

Aber liegt doch nahe und entnehme ich auch der Grafik so.


Was sollte so eine Platine mit über 1000 blinkenden LED´s für einen Zweck erfüllen?

Nja, solange die Funzeln einfach nur so rumblinzeln, könnte es unter "modern art" laufen. ABer ich denke pip_lim wird schon gute Gründe haben, wenn er sich ein solches Projekt zur Brust nimmt.
Wer weiß - vielleicht verrät er´s uns ja noch. Nur Geduld!

Gruß Herrma

PICture
27.10.2005, 13:37
@pip_lim!
Ich kenne den Max nicht, muß ich in Datenblatt gucken, was er kann. Die MC´s haben meistens 8-pinnige Ports, das werden dann 3 nötig. Solche MC´s gibt es genug. Melde mich wieder nach dem MAX Kennenlernen!
Bis bald!
MfG

pip_lim
27.10.2005, 13:40
Sorry, für die Verwirrung. Das ganze soll zur Ausleuchtung eines Modells dienen: ein Teil (evtl 4 leds) soll in der einer Frequenz blinken, ein anderer Teil (evtl 8) ind er anderen Usw.

Die Grafik gibt nur die Tacktung der einzelnen Kanäle wieder.
An jeden kananl sollen "ein paar" LEDs angeschlossen werden.

Wie gesagt, die Verkabelung bekomme ich hin. bei dem MC iund der Schaltung habe ich so meine Probleme...

PICture
27.10.2005, 14:11
Hallo!
Bin schon wieder da. Der Max 7221 ist gleich wie 7219. Es gibt beim Reichelt nur den 7219 zu 7,90 bzw. 8,80 EUR, je nach Gehäuse (SOL/DIL 24-pin). Es eignet sich für dich, weil es können bis zu 64 LED´s durch 3 MC pins angesprochen werden. Wenn Du schon Dein Projekt bezüglich genauer Anzahl der Kanäle und LED´s im Kanal abgeschlossen hast, dann kann man mehr konkret reden.
MfG

pip_lim
27.10.2005, 14:40
OK! machen wir es konkret:
24 Känäle á 5 LEDs

kann ich den so viele LED pro Kanal mit dem Max7219 betreiben?

Kannst Du mir auch sagen, welches ein günstiger Programmer für diesen MC ist?

meci
Pip

lion1984
27.10.2005, 15:31
hiho,

den chip mußt du nicht programmieren, denn musst du nur ansteuern über 3 leitungen, von einem µC, näheres hierzu:

http://www.fernando-heitor.de/pic/projekte/max7219/index.htm

ivelleicht hilft der link

SprinterSB
27.10.2005, 16:00
Es kommt darauf an, wie du die LEDs anschliesst. Wenn du 5 LEDs hast un die in Reihe schaltest, dann musst du nur den gleichen Strom schalten wie bei einer LED. Allerdings muss dann die Versorgingsspannung hoch genug sein. Be 5 blauen LEDs bist du dann locker über 15V. Die Reihenschaltung hat weiter den Vorteil, daß man nur einen Vorwiederstand brauchst für alle LEDs am Port und der Verlust geringer ist.
Wenn du die N Dinger parallel schalten musst, dann muss der Ausgang den N-fachen Strom einer LED treiben können, idR sind das 20mA oder 2mA pro LED. Das ist einfacher zu erweitern. Eine LED mit Vorwiderstand am Kanal dazu und gut ist; der Vorwiderstand der anderen LEDs muss nicht angepasst werden.
Teilweise können Portexpander LEDs bei konstrantem Strom treiben, was allerdings voraussetzt, daß du sie nicht parallel schaltest, weil sie sich dann den Strom teilen müssten.

Treiber wie ULN ist wohl angesagt. Als Portexpander gibt es Versionen die an SPI oder I2C arbeiten. Alternativ so was wie 74*595 bzw CD4094 (8-bit-shift mit Latch). Die kann man auch mittels SPI-Hardware treiben und kaskadieren. Sind preiswerter und schneller als I2C-Expander und einfacher anzusteuern (3 Ports erforderlich). Zudem brauchst du die ja nur als Ausgang.

Der Vorteil von Expandern ist auch, daß das Layout einfach bleibt. Du musst nicht von einem fetten Controller 64 Leitungen routen, sondern nur den Bus mit 3 Leitungen zu den Expandern.

Bevor du weiter machst, musst du erst mal wissen, welchen Strom du treiben musst.

PICture
27.10.2005, 16:04
Also brauchst Du zwei solche MAX 7219 und einen MC, der mind. 6 Portpins hat . Theoretisch müsste es der kleinste PIC12F629 (8-pin)schafen, wenn man an GP4 einen pull-up Resistor hängt. Der PIC kostet beim Reichelt 1,20 EUR und hat internen Generator, braucht also kein Quartz. Über andere weiß ich nicht viel, weil ich mich nur mit PIC´s beschäftige.

pip_lim
28.10.2005, 11:46
schaut Euch das mal an
http://www.woe.onlinehome.de/projekte.htm -> LED-Laufschrift

theoretisch müsste das doch die Hardware Lösung meines Problems sein.
Zu ändern: Die LED Matrix = 64 einzelne LEDs die einzeln gesteuert werden. Das sollte doch duch Programmieren möglich sein. Gut, damit hinge zwar nur eine LED an einem 'Kanal', aber es wäre ein Anfang.......

SprinterSB
28.10.2005, 12:53
Jo, damit bist du auf 64 Knäle beschränkt, falls das keine Probleme macht. Allerdings sind die LEDs in einer 8x8 Matrix verschaltet und werden gegeneinander gemultiplext. Dadurch hast du auch nur 1/8 der Helligkeit, wobei das vom Auge wiederum anders wahrgenommen wird.

Bei einem Feld von a*b Kanälen brauchst du a+b Ports, die einen gehen an die Anoden-Treiber, die anderen an die Kathoden-Treiber, wobei auch ein µC als A-Treiber und/oder K-Treiber fungieren kann, falls es mit Spannungen/Strömen hinkommt. Am Effizientesten was den Portverbrauch angeht ist die Aufteilung a=b bzw a~b. Wenn du nur ein 1:4 Mupltiplex haben willst, brauchst du bei 64 Kanälen 64/4 + 4 = 20 Ports.

LEDs im MUX-Betrieb verkraften teilweise höhere Stöme als spezifiziert, damit lässt sich die Helligkeitseinbusse teilweise wieder reinholen. geMUXte LED-Anzeigen neigen ausserdem zum Flimmern. LEDs haben im Vergleich zu floureszierenden Fernsehbildschirmen praktisch keine Trägheit, so daß man auch noch weit über 50Hz ein Flimmern wahrnimmt. Vor allem dann, wenn LEDs/Auge bewegt werden oder die Anzeige am Rand des Gesichtsfelds liegt. Ich mag sowas nicht, zB bei den LED-Rücklichtern neuerer Autos.

Als µC reicht dir ein ATMega16 oder ein AT90S8515 oder AT90S8535. Die brauchst du vor allem wegen der Anzahl der Ports. Ob man sich für PIC, AVR oder 8051 entscheidet ist Geschmackssache. Meine Wahl würde auf AVR fallen.

PICture
29.10.2005, 01:13
Hallo pip_lim!
Habe mir die Schaltpläne des Projektes angeschaut. Es wäre aber für Dich, glaube ich, nicht besonders günstig. Nachteile: jedes LED muß mit zwei Leitungen an MAX angeschlossen werden, komplieziertes Programm um die einzelnen LED´s zu steuern (in dem MAX werden einzelne LED´s als Segmente einer 8-stelligen Zahl betrachtet). Deswegen wollte ich Dir meine Lösung, die das ganze vereifacht, vorstellen. Du brauchst dann zwar ein Schieberegister pro 8 LED´s, aber nur insgesamt 2 Steuerleitungen vom MC. Also wenn Du 24 Kanäle je 8 LED´s nimmst, hast Du 24 Schieberegister, die aber insgesamt billiger als zwei MAX sind. Schau mal Dir meine Skizze bitte an . Du musst das nicht so machen, wenn Dir nicht gefällt.
MfG


VCC
+ | |
| | Vcc |
+-+-+-+-+-+-+-+--------------------+-+-+-+-+-+-+-+
| | | | | | | | | | | | | | | | | |
V>V>V>V>V>V>V>V>-> | | V>->V>V>V>V>V>V-->
- - - - - - - - | | - - - - - - - -
| | | | | | | | | | | | | | | | | |
Data .---------------. | Data | .----------------.
>-----| |------------------| |
MC Clock| 164 | | Clock | | 164 |
>--+--| | +---------------| |
| '---------------' | | | '----------------'
| erster Register | | | letzter Register
+---------------------+ | |
A | | A
| | Gnd | |
>--+---------+-----------------------------------+
| | |
=== | |
GND

pip_lim
31.10.2005, 13:21
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...

PicNick
31.10.2005, 13:45
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.

SprinterSB
31.10.2005, 13:53
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...

superbastler
31.10.2005, 15:12
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/Hobbyelektronik/projekte/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

SprinterSB
31.10.2005, 16:41
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, ...

pip_lim
01.11.2005, 09:37
@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 :-).

SprinterSB
01.11.2005, 10:21
Hier mal ein Beispiel aus einem kleinen Projekt mit einem Mega8 (IC8)

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.

PICture
01.11.2005, 12:11
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! :)

pip_lim
02.11.2005, 09:31
@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

SprinterSB
02.11.2005, 10:46
Die Schieber siehst du im Schaltplan oben oder in 74*595-Kaskade (https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=231)

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 (https://www.roboternetz.de/phpBB2/album_pic.php?pic_id=12) 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.

pip_lim
02.11.2005, 11:32
Danke @SprinterSB!
und direkt nachgefragt mit eigenen Worten:

Das klingt ja einfach:

1.Ich schalte den Mega8 an die Kaskade (beide 5V)

Port für SER an das erste Schieberegister. (evtl SCK) =?
Port für SCK an alle Schieberegister (evtl MOSI) = pin 19 = auch Prog-Adapter
Port für RCK an alle Schieberegister = ?
QH* an SER des nächsten Schieberegisters =?

2. an die Kaskade Bit 0-N
die ULN2803
korrekt?

3. an die ULN2803 mit Vorwiderständen die LEDs

Habe ich das in Etwa verstanden? Sorry wenn nicht....

PicNick
02.11.2005, 11:54
@PickNick
74374 sind keine Schieberegister, sondern 8xD-Type Latches mit Tri State Ausgängen.
Richtig. aber ..374 hat kein LE , sondern latched mit Flanke, daher kannst du ein Bit auf Inp-0 legen, und die Ausgänge (zusätzlich) forwarden, dadurch entsteht ein Schiebregister.
Ist nicht die erste Wahl, aber ich hab um ein paar Zerquetschte Euro zirka 900 Stück davon gekommen, die muß ich abfackeln. :-b

EDIT Schaltung attached, was soll's

pip_lim
02.11.2005, 13:31
noch was @sprinterSB

wohin denn die Kondensatoren? denke den quartz (Mega8 Grundschaltung) brauche ich nicht?

LG
PiP

SprinterSB
02.11.2005, 13:40
Du hast -- wie gesagt -- 2 Wege, die Regs zu betreiben. Mit SPI-Hardware, die AVR Mega mitbringt, oder du wackelst selber per Software an den Pins. Ich würd die zweiteres empfehlen.

Mit HW-Unterstützung bist du auf die SPI-Pins des µC festgelegt und musst vom ISP-Anschluss entkoppeln, sowie die Hardware richtig ansteuern. Ob du die volle Speed eines HW-SPI ausnutzen kannst ist auch fraglich.

Daher Lösung 2: Per Software. In der SW-Lösung kannst du irgendwelche Port-Pins zum Steuern nehmen -- 3 Stück an der Zahl -- und irgendein µC, auch ohne HW-SPI. Der Algorithmus ist simpel. Zu beachten ist dann, daß es 2 verschiedene SCK-Netze gibt. Einmal das SCK für ISP und einmal das SCK für deine Regs.

Das SCK.Regs kommt an den SCK Eingang aller Regs und an den µC-Port, der das Signal generiert. Analog für RCK. SCK.Regs und SCK.ISP sind unterschiedliche Netze und werden NICHT miteinander verbunden! Der µC-Port, der SER für das erste Reg generiert, kommt an das erste Reg(SER), dessen Shift-Ausgang QH* an den SER-Eingang den nächsten Regs und immer so weiter.

Ja, die 8 Ausgänge (Qx) des 595 jeweils an die 8 Eingänge des ULN
Ja, wobei es egal ist ob
ULN -- LEDs -- R -- Plus
oder
ULN -- R -- LEDs -- Plus
Kan aber sein, daß das eine oder andere zu einem günstigeren Layout führt.

Wenn das Layout groß wird und einzelne Module über Steckverbinder hintereinandergehängt sind, müssen eventuell noch kleine C von den Signalleitungen nach Vcc oder GND, um Störungen abzufangen. Gefühlsmässig so um die 100pF.

::Edit::
Das gestrichelte Modul wird einfach so oft hintendran geklatscht, wie man's noch braucht.

SprinterSB
02.11.2005, 13:42
@PicNicK: ein Glück, daß du nicht nen Sack voll 7400 ergattert hast!

PicNick
02.11.2005, 13:52
@PicNicK: ein Glück, daß du nicht nen Sack voll 7400 ergattert hast!
O:) Wer sagt dir das ? Du, Ich bin mit vielen Säcken heimgegangen. Die ..374 waren halt die meisten.

SprinterSB
02.11.2005, 14:35
Ich hab im Keller auch noch kistenweise alte ICs, die ich eher in Kilos messe als in Stück. Als die Firma mal ausgemistet hat hab ich zugeschlagen, "irgendwas davon kann ich bestimmt brauchen", dacht ich mir. Nur gammelten da die veralteten Bauteile erst mal 20 Jahre irgendwo rum, bis man sich sicher war, daß man sie *wirklich* nicht mehr braucht. Ich weiß gar nicht mehr, was alles dabei war...

Ich hatte dann die Idee, ein Kunstobjekt draus zu schaffen. Die Dinger mit Silberdraht aneinander zu wickeln oder zu löten und zu kleben, um ne Skulptur zu machen, vielleicht sogar mit blinkenden LEDs im freischwebenden Wirrwar. Angegangen bin ich's nie.

Oder die Käfer mit dem Rücken aufn Holzbrett gepappt und als Fakir-Brett. Oder auf ne Holzrolle und als Haarbürste oder Pickelwalze um Pizzateig aufzustechen, damit der keine Blasen wirft, was man sonst mühsamst mit ner Gabel machen muss. Oder ein Teil für nen Akupunktur-Prediger, der gestresste Elektro-Fuzzis bepiekt. Oder ne Spezialanfertigung für'n Domina-Studio. Schwarz und Chrom sind da sehr angesagt! Und bei den zahlkräftigen Kunden die da verkehren... Jau, das mach ich!!!

PicNick
02.11.2005, 14:49
..sich sicher war, daß man sie *wirklich* nicht mehr braucht.

Normalerweise braucht man altes Zeugs immer drei Tage, nachdem man es nach Jahren dann doch weggeschmissen hat.

PICture
02.11.2005, 15:52
Hallo PickNick!
Deine Erfindung ist O.K. Aber für jemanden, der noch keine Bauteile hat sicher nicht die optimalste. :)
@pip_lim
Ich kenne die AVR´s nicht. Deswegen kann ich dir weiter nur beschränkt helfen. Ich werde das Thema noch beobachten.
Viel Spass und Erfolg! :)
MfG

PicNick
02.11.2005, 15:57
Für so reine Outputsachen ist der SPI ohne irgendwelche Extras zu verwenden. Man braucht ja nur SCK und MOSI. Ich hab ein Display mit Schiebregister (egal jetzt wie) da hab ich gleich einen ISP Stecker drauf, da ist Saft auch gleich dabei.

Bei einer permanenten Verbindung zeigt er beim programmieren natürlich einen Käse her. Wenn das stört, dann ev. mit SS enablen.

SprinterSB
02.11.2005, 17:16
Ich bin ja immer faul und lass den Prog-Adapter draufstecken und progge im Zielsystem.
Ja nach dem, welchen Adapter man hat, kommen Progger und µC sich dann bei SCK quer, weil das am Prog-Adapter OUT ist und der µC das auch als OUT schaltet.
Gleiches bei MOSI: beim Proggen ist das IN am µC (Slave) also OUT am Progger und beim Betrieb OUT am µC (wird sind jetzt Master).

Ohne weitere Vorkehrungen rennt der µC doch direkt los, oder steh ich jetzt aufm Schlauch?

PICture
02.11.2005, 17:44
Hallo SprinterSB!
Ich habe aus von Dir genanntem Grund auch mein Programmer permanent am LPT hängen. Um Probleme mit beliebigen Hardware die auf meinen PIC angeschlossen ist zu vermeinden, habe mir eine ICSP Schnitstelle "entwickelt". Die ist nicht für konkreten MC vorgesehen. Schau Dir, bitte, in das Thema "ICSP Eigenbau" in diesem Forum. Vielleicht gefällt Dir. :)
MfG