Forum: Mikrocontroller und Digitale Elektronik LED Matrix zum x.ten


von Harry S. (littlegonzo)


Lesenswert?

Hallo Leute,
ich weiß vom Betreff her...gab es doch x-mal.. nun kommt aber mein 
aaaaber:

Ich möchte eine LED Matrix oder so was in die Richtung bauen und 
überlege im Moment noch wie es am sinnvollsten gehen könnte.
Meine bisherigen Überlegungen: Max 695x, 6219? oder ganz diskret...
Grund der vielen Überlegungen, die Matrix soll in einen Flur als Art 
Sternenhimmel installiert werden. Bei den ganzen Max irgendwas handel 
ich mir doch sicher massive Störungen (evtl. im ganzen Haus) durch das 
Multiplexing ein oder es läuft unter Umständen mit den ICs überhaupt 
nicht. Dazu fehlen mir einfach wohl das "Hintergrundwissen".
Die Fläche der Matrix sind ca. 1,5x5m. Hab auch schon dran gedacht 
einfach ein paar Tinys(2313) zu nehmen jeweils 5-10 pro Tiny und dann 
vernetzen (RS485)
Hätte zwar auch den Vorteil PWM für alle, einzeln steuerbar aber ich 
denke der Aufwand ist einfach ein bissel zu hoch. So und nun Ihr, habt 
ihr noch Ideen wie man es anders (günstig, praktisch) zu lösen ist?
Einzige Voraussetzung alle LED (ca. 150-200) einzeln ansteuerbar evtl 
Helligkeit wobei das nicht vorrangig ist.
Ach so, vielleicht noch interessant, als LED kommen kleine 5mm weiße 
LEDs zur Anwendung (schon vorhanden).

Würde mich über Vor- und/oder Ratschläge freuen.

Grüße Harry.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die Sache mit den mehreren Controllern und einem Bussystem ist gar nicht 
so dumm. Die Möglichkeiten sind unendlich größer. Wenn Du Controller mit 
UART nimmst, hast Du auch ein zuverlässiges Interface, was sehr einfach 
zu programmieren ist. Unter Verwendung des 
Multiprocessor-Communication-Modes kannst Du die Slaves vom 
Mastercontroller her sehr einfach adressieren. Durch die 
Eigenintelligenz der Slaves kann man das Busprotokoll auch schön mager 
halten. Wenn die Slaves einen Bootloader erhalten, wäre sogar ein 
späteres Updaten über den Bus möglich ;-). EMV-gerechter Aufbau ist bei 
so vielen PWM-geschalteten LEDs natürlich Pflicht, nicht daß sich die 
Nachbarn beschweren. Die Flanken der Signale von den 
Ausgangstransistoren kann man mit R/C Tiefpässen ganz gut bügeln, so daß 
keine hochfrequenten Überschwinger auf den Leitungen zu den LEDs 
entstehen.

von Harry S. (littlegonzo)


Lesenswert?

Hallo Travel Rec,
auch ein Nachtschwärmer gelle?

Also das was Du geschrieben hast geistert auch schon Tage durch meinen 
Kopf auch wenn ich mich um Multimasterprotokolle bisher noch nicht 
gekümmert habe. Bisher nur I2C, RS232 mit AVRs..
Würde es denn mit reinem RS232 mit Multiprozessormode gehen? Also ohne 
RS485 Treiber z.B. oder lassen sich MAX232 nicht zusammenschalten?

Würde es denn grundsätzlich auch mit den MAX6952 z.B. gehen?
Da könnte ich dann nämlich alle LEDs (5x28 Matrix) an ein ICs 
anschließen, ISP bzw. I2C zum Proz. und schön ist ;-)

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Würde es denn mit reinem RS232 mit Multiprozessormode gehen? Also ohne
>RS485 Treiber z.B. oder lassen sich MAX232 nicht zusammenschalten?

RS485-Treiber kann man ohne Weiteres zusammenschalten, wenn´s nur um den 
Empfang von Daten geht, kann man alle Treiber außer dem des 
Mastercontrollers auf "Lesen" schalten. Bei MAX485 ist allerdings bei 32 
Treiberlasten pro Busleitung Schluß. MAX232 lassen sich gar nicht 
zusammenschalten. Meine Lösungen waren bisher immer als Open-Collektor 
wired AND ausgefüht, bei reinem Empfangsbetrieb seitens der Slaves 
hängen also alle Slaves mit ihrer RX-Leitung über eine Schutzbeschaltung 
an der gepufferten TX-Leitung des Mastercontrollers, bei beidseitigem 
Senden und Empfangen senden die Slaves auf Anfordreung vom Master auf 
ein und dieselbe Rückleitung. Siehe auch hier: 
Beitrag "TWI bus für die Modellbahn."

>Würde es denn grundsätzlich auch mit den MAX6952 z.B. gehen?
>Da könnte ich dann nämlich alle LEDs (5x28 Matrix) an ein ICs
>anschließen, ISP bzw. I2C zum Proz. und schön ist ;-)

Grundsätzlich sicher schon.

von Harry S. (littlegonzo)


Lesenswert?

...hm und wie sehe das praktisch aus?
Verträgt der MAX die Kabellängen von ca. 5-6m bis zur LED?
Oder wird meine Schaltung dann zum Sender und ich habe dann bald die
Nachbarschaft in der Wohnung?! ;-)

von Kai F. (kai-) Benutzerseite


Lesenswert?

Hallo,
ich glaube es wird wieder Zeit meinen neuen Lieblingcontroller in den 
Raum zu werfen *schmeiß
TLC5922
Damit könntest du jede einzelne LED einzeln ansteuern und auch mit 128 
Steps dimmen. Die obigen Lösungen lassen eine Dimmung ja nicht zu. Ich 
stell mir einen Sternenhimmel mit Sternen, die alle gleichhell leuchten 
auch irgendwie nicht so toll vor..
Weiterer Vorteil wäre, dass dieser Wunderchip keine PWM zum Dimmen 
benutzt, sondern Konstantstrom und damit auch nicht bis zum Nachbarn 
sendet.

Gruß
Kai

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Die obigen Lösungen lassen eine Dimmung ja nicht zu.

Na aber sicher doch - zumindest die Variante mit den Controllern. Und 
wie schon angedeutet, kann man die Flanken der PWM mit R/C-Kombinationen 
entschärfen.

von Harry S. (littlegonzo)


Lesenswert?

Ich bin für neues ja auch zu begeistern, wo bekommt man den TLC5922 denn 
her, wie viele LEDs lassen sich pro Chip denn nutzen? Vielleicht auch 
nicht ganz uninteressant, welche Bauform?
Es geht nämlich um ca. 150-200 Stück. Wenn ich dann Unmengen an ICs 
brauche fällt die Lösung wahrscheinlich weg (auch eine Kostenfrage). Bei 
dem Max würde ich mit einem IC nämlich 140 LED mit einem Chip Steuern 
können und 2 hätte ich sogar als Sample da ;-)
Das einzige bei dem Max hätte ich nur eine gesamte Dimmung für alle 
gleichzeitig. Bei der Version von Travel könnte ich alle einzeln 
ansteuern inkl. Dimmung bräuchte aber auch relativ viele ICs 
(Kontroller) die ja miteinander vernetzt wären...

Man ich dachte paar LED und jut ist... nix da ;-)
Das muß ich nun noch meiner Regierung hier klar machen das da noch so 
einiges dazukommt bis der Himmel versternt ist ;-)

1 großes LCD Display (240x128) mit Touchscreen hab ich bereits der soll 
zur Eingabe und Musterauswahl, Helligkeit dienen.
Wobei..mal sehen hab auch noch ein kleineres 128x64 als Touch, das würde 
wohl auch reichen dafür ;-)

Echt nicht so einfach so ein an sich kleines Projekt.
Netzteil dachte ich an ein PC Netzteil, davon hab ich noch massen hier 
rumfliegen. Über dem "Sternenhimmel" ist reichlich Platz da die Decke 
abgehängt ist.

Grüße
Harry

Ach Travel, bei dem Beitrag "TWI bus für die Modellbahn." ist es doch 
garkein RS485 sondern die normale RS232 oder seh ich das falsch? 
zumindest das Schaltbild welches dort abgebildet ist, macht eine Art 
EX-Oder mit dem Eingang oder?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Ach Travel, bei dem Beitrag "TWI bus für die Modellbahn." ist es doch
>garkein RS485 sondern die normale RS232 oder seh ich das falsch?
>zumindest das Schaltbild welches dort abgebildet ist, macht eine Art
>EX-Oder mit dem Eingang oder?

Richtig beobachtet. Kein Treiber-IC, dafür wired OR von OpenCollector 
Ausgängen. Ist sehr einfach, robust und zuverlässig. Im Übrigen mußt Du 
ja nicht einen Controller für eine LED opfern, Du kannst auch 8 oder 16 
LEDs pro Slave-Controller mit Software-PWM ansteuern. 64 Stufen reichen 
da eigentlich, 255 sind aber auch kein Problem, wenn die Taktrate des 
Controllers hoch genug ist.

von Harry S. (littlegonzo)


Lesenswert?

Hi Travel,
ja das mit den 8-16 LED's pro Controller war mir schon klar, aber bei 
150 LED's sind das auch schon 10-18 Stk. Ich meine klar so'n Tiny2313 
z.B. kostet wirklich nicht mehr die Welt... 10 Stk. wären immer noch 
günstiger als ein MAX5962 wenn man Ihn kaufen müsste. Ich denk mir mal 
ne Schaltung aus ;-)
Auf jeden Fall bekommen sie das Wired-OR aus dem Beispiel, das gefällt 
mir echt gut.

Sag mal würden die Keramik-Resonatoren wirklich reichen als Taktgeber?
Mit welcher Baudrate könnte/sollte man die Schnittstelle denn 
so(Wired-OR) max. nutzen?

Ich hab mir eben mal den Tiny2313 angeschaut, würde 8 pro Tiny machen 
und die restlichen Pins für Adresse und Datenleitungen. D.h. jede Zeile 
in meinem Fall 1 Tiny. Hatte erst nach dem ATMega8 geschaut aber dem 
bleiben auch nur 16Pins wenn ich Datenleitung / Takt abziehe. Würde auch 
damit nicht auf 16 kommen.
Mal sehen bastel mal ne Schaltung und dann so 1-2 Platinen ätzen zwecks 
Test erstmal. Den Master mit Display hab ich als Test bereits, nur die 
Serielle muß ich noch anpassen...

Grüße
Harry

von Kai G. (runtimeterror)


Lesenswert?

An einen ATmega8515 sollte sich auch problemlos eine 8x8-Matrix mit 256 
Dimmstufen betreiben lassen. 16x8 ist ggf. auch möglich - I/Os hat der 
ja genug. Dann wärst du mit 3 billigst-Controllern dabei...

Als Kommunikation haben wir für ein ähnliches Projekt RS232 vorgesehen. 
Ein Master-Controller steuert seine ganzen Sklaven-Controller dann mit 
Soft-USART. Vielleicht wär das ja 'ne Option für dich.

Gruß
Kai

von Kai F. (kai-) Benutzerseite


Lesenswert?

den TLC5922 gibt es nur in SMD Bauform. Mit einem kannst du 16 LEDs 
dimmen,
du bräuchtest also 10 Stück. Bekommen könntest du sie von mir, da ich 
mir jetzt erst einen Batzen von digikey bestellt habe. Einen genauen 
Preis kann ich dir noch nicht sagen, da noch Zoll dazu kommt, aber es 
wird wohl unter 2€/Treiber bleiben.
Klar kommst du mit einem gesampleten Max billiger davon, aber da bist du 
mit deinen Möglichkeiten eben auch schnell am Ende.
Die Alternative mit den Tinys ist auch nicht schlecht, zumal du wohl 
aufs gleiche Ergebnis kommst. Einziges Problem, was ich sehe ist, dass 
die Programmierung um einiges aufwendiger ist, weil du sehr viele Slaves 
ansteuern musst. Die TLCs kannst du einfach wie Schieberegister 
hintereinanderschließen und die gewünschten Helligkeitswerte einfach nur 
durchschieben. Geschwindigkeitsprobleme wird es auch nicht geben, der 
interne Oszillator reicht also locker aus.

Grüße
Kai

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Sag mal würden die Keramik-Resonatoren wirklich reichen als Taktgeber?
>Mit welcher Baudrate könnte/sollte man die Schnittstelle denn
>so(Wired-OR) max. nutzen?

Die Keramiken haben 0.5% Toleranz und 0.5% Drift zwischen -20 und +80°C, 
das reicht für UART dicke. Bei der aufgezeigten Treiberschaltung kannst 
Du mit 57600 Baud 9ep1 arbeiten. Die Resonatoren von Murata (mit 
integrierten Lastkapazitäten) gibt es als SMD bei Reichelt. Die sind 
auch entschieden kleiner, als ein Quarz :-)

von Harry S. (littlegonzo)


Angehängte Dateien:

Lesenswert?

Hm, okay jetzt bin ich soweit wie vorher grins... aber die TLC würden 
mich vielleicht interessieren. Ich schau mal nach einem Datenblatt. Das 
Problem ist aber wahrscheinlich die länge/größe der Matrix. Ich will ja 
1,5 x 6m Fläche bespannen...
Deswegen bin ich ein wenig von "Matrix" weg, denn da wird sicher zuviel 
Schmutz EMV erzeugt und ich möchte nicht unbedingt Sender hier im Haus 
spielen.

UPS.. habe eben mal nach dem TLC geschaut, der hat Pinabstände von 
0.65mm sowas soll ich noch mit der Hand löten? Oha...müßte ich wohl 
erstmal testen..
Vor allem weils ja gleich 10 Platinchen werden würden.
Zum Anderen wie bitte lötet man von Hand das Thermal PAD?!?!
Oh Mann...entweder ich mache es mir im Vornherein so schwer oder es ist 
doch komplexer als ich dachte.
Vielleicht doch 200LED in Reihe/Parallel alle eine Helligkeit und gut 
ist, aber da fehlt dann einfach das "Extra" ;-)
Momentan entwickel ich gerade eine Platine mit Tiny2313, klein aber 
lötbar ;-)

Könnte sich jemand mal das Schaltbild ansehen und mir sagen ob das 
laufen würde?

Danke schonmal für die vielen Antworten!

Gruß Harry

von Harry S. (littlegonzo)


Lesenswert?

Danke Travel, die von Murata kenne ich. Hab ich bisher immer als 
"normale" Bauteile genutzt. Wie kommt es eigentlich das die Resonatoren 
so wenig/selten in Verbindung mit AVRs genutzt werden? Bei den PICs war 
es damals "normal" diese zu nutzen.

Die SMD Variante hatte ich noch nicht, werde sie mir bei Reichelt mal 
ansehen und bei der nächsten Bestellung mal einen packen mit bestellen, 
werden ja nicht schlecht.

Gruß Harry

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Könnte sich jemand mal das Schaltbild ansehen und mir sagen ob das
>laufen würde?

Sieht gar nicht so schlecht aus. Unbeschaltete Pins aber bitte nicht 
fest an Masse legen. Im Programmfehlerfall raucht´s dann, wenn die mal 
Ausgang und High sind. Ich nehme an 90S2313 soll Tiny2313 heißen? Eine 
ISP-Buchse fehlt noch oder willst Du die Controller vor dem Löten 
proggen? Und später?

>Wie kommt es eigentlich das die Resonatoren
>so wenig/selten in Verbindung mit AVRs genutzt werden?

Weil viele Leute immer gleich nach Quarz schreien, obgleich ein 
Resonator auch 10x genauer als der interne OSC ist. Für 80% der Fälle 
tut´s auch ein Resonator. Zumal alle nötigen Bauteile in einem Gehäuse 
verpackt sind. Quarze nehme ich nur, wenn ich genaue Sekunden brauche 
oder an hochsensiblen Schnittstellen (USB oder RFID) hänge.

von Kai F. (kai-) Benutzerseite


Lesenswert?

Hallo Harry,
für das Löten der TLCs braucht man tatsächlich etwas feingefühl, ist 
aber ohne größerer Probleme möglich. Das mit dem Thermal Pad hab ich mir 
auch erst komplizierter vorgestellt, allerdings habe ich es einfach mal 
ohne Anlöten versucht und komme mit 20mA pro Ausgang auf 70C°(gemessen). 
Wenn du sowieso nur weniger als 20mA anschließen willst und unter das 
Thermal Pad ein wenig Wärmeleitpaste schmierst, sollte das alles kein 
Problem mehr sein.
Ich habe für die TLCs auch noch Adapterplatinen hier rumliegen, die auch 
ein "Kühlfläche" unter dem TLC haben. Wenn du einen oder zwei TLCs bzw 
Platinen zum Testen haben willst, kannst du mich gerne anschreiben. In 
der Codesammlung findest du auch noch Code von mir zur Initialisierung

Gruß
Kai

von Harry Sk, (Gast)


Lesenswert?

Hallo Travel,
die Pins dienen zur Adress-Unterscheidung. So sind sie allen low, und 
bei Bedarf werden mit Leiterbahnunterbrechungen und Interen Pull-Ups 
dann auf High gesetzt. Sollte doch gehen oder?

Hallo Kai,
ich schau mir mal erstmal die Variante mit den Tinys an, sonst komme ich 
gern mal auf dein Angebot zurück. Ich hoffe es geht relativ schnell 
vorran, nicht das deine Muster dann weg sind...
Die Adapterplatinen machen genau was? Nur das Raster größer?
Hast Du für Eagle ne Lib mit den TLC's?

Gruß
Harry. (Gerade nicht Eingeloggt da in Firma)

von Kai F. (kai-) Benutzerseite


Lesenswert?

hallo,
die Adapterplatinen führen die Pins auf ein 2,54mm Raster raus, damit 
man auf Lochraster experimentieren kann.
Meine "Muster" werden noch eine ganze Weile halten, habe weit über 100 
Stück hier rumliegen.
Für den TLC hab ich selbstverständlich auch eine Eagle Lib erstellt, 
allerdings ist die bei der letzten Laptop Reperatur draufgegangen. Du 
solltest sie allerdings hier irgendwo im Forum finden.

Gruß
Kai

von Harry Sk. (Gast)


Lesenswert?

Moin Kai,
sag mal was willste denn für 2 TLC inkl. Adapterplatinen haben?
Würde 2 mal einfach zu testen nehmen wollen.

Mal kurz ne andere Frage natürlich auch an die anderen: Hab mir nochmals 
ein paar Gedanken gemacht.
PWM über Schieberegister? Würde das denn laufen für sagen wir mal 16-24 
LEDs?
Dann hätte ich pro Controller immerhin schon 24 LEDs(3 Zeilen) 
abgedeckt.
Ich bin mir nur nicht sicher ob Software PWM und Schieberegister 
zusammen schnell genug sind das es nicht flackert. Ich meine max 
Frequenz SPI F_OSC/2
4 MHZ (da ich 8MHz nutzen möchte) aber wie rechne ich dann weiter bei 
sagen wir mal 16 Dimmstufen, welche mir wohl reichen würde. Flackerfrei 
würde heißen  min 50-60 Hz aber wie jetzt auf die passende SPI Frequenz 
bei sagen wir mal 3 Schieberegister.

Danke Euch auf jeden Fall schon mal für die vielen klärenden Antworten!

Gruß Harry

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Flackerfrei heißt PWM-Frequenz über 1kHz (bei LEDs, da diese sehr 
schnell schalten), alles darunter fällt im Vorbeigehen und bei kleiner 
PWM-Stufe auf (siehe alte VW-LED-Rückleuchten). 32 Stufen sind das 
Mindeste. 32x24x1000=768.000. Wird knapp. Dann lieber ´nen Controller 
mit mehr Ports und die LEDs im Timer-Interrupt PWMen ;-)

von Kai F. (kai-) Benutzerseite


Lesenswert?

Hallo Harry,
du kannst mir auch gerne eine eMail schicken ;)
Für die Adapterplatinen will ich 1,50€/Stück (Selbstkostenpreis) und für 
die TLCs 2€/Stück, also insgesamt 7€ + Versand. Wenn du willst, kann ich 
es dir auch in einem Brief schicken, würde aber auch eine Maxim Sample 
Box opfern ;)
Gruß
Kai

von Harry S. (littlegonzo)


Lesenswert?

Kai hast Mail ;-)

Travel ich versteh deine Rechnung nicht... 32x24 komme ich ja noch mit 
aber was ist 1000?? 1000Hz? 1KHz Bildwiederholfrequenz sozusagen?
Warum reichen denn 16 Dimmstufen nicht? Würde die SPI Frequenz auch 
gleich halbieren und damit "machbar" machen...

Vielleicht nehme ich wirklich einen größeren Controller.. 8 pro Tiny ist 
zu viel Aufwand. Dann lieber nen Mega16 oder sowas..
Muß nochmals schauen und durchrechnen.

Gruß Harry

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

1000 ist die Bildwiederholrate, da Du, wenn Du dimmen willst, die 
Schieberegister ständig umlaufend schieben mußt. Du kannst es auch nur 
100x die Sekunde machen, aber das Geflacker wird Dich nerven. Wenn Du 
einen Controller mit 24 LEDs direkt an den Ports nimmst, machst Du zwar 
auch 1000 Bilder pro Sekunde, aber für alle LEDs gleichzeitig. Somit 
mußt Du nur noch mal 32 rechnen, was dann aber immer noch 32.000 
Interrupts pro Sekunde sind. Auch noch genug Holz.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.