Hallo, Ich bin auf der Suche nach einen richtigen Controller für meine Anwendungen. Ich hoffe ihr könntet mir vielleicht ein paar Tipps geben. Ich entwickle gerade Schaltungen für LED-Anwendungen. Es handelt sich um RGB-LEDs, die ich natürlich farbwechseln aber auch irgendwelche anderen "Spielchen" machen lassen will. Dabei ist es wichtich, dass ich soviele Kanäle wie möglich zur Verfügung habe (>50). Ich habe Testweise einen ATmega8 mit 4 Schieberegistern verwendet. Hat zwar gut funktioniert, jedoch war es ziemlich aufwendig immer mit 32Bit-Zahlen zu arbeiten. Welche uCs sind da besser geeignet? Ich habe z.B. den mega2560 gefunden, der 100 Pins hat; ist aber ziemlich teuer. Gibt es vielleicht andere Möglichkeiten mit so vielen Kanälen zu arbeiten? Sind da Schieberegister am besten geeignet? Übrigens: Das ganze sollte mit PWM laufen. Vielen Dank schon mal im Voraus; freu mich schon auf eure Antworten! mfg Andy
Entscheidend ist auch die Frage, wie werden die LED's angesteuert... hast Du einen uC mit 50 Ausgängen kannst Du noch lange keine 50 LED's direkt dranhängen da die Leistungsaufnahme zu groß sein dürfte (Low-Current ginge vielleicht, gibt es meines Wissens aber nicht in RGB). Insofern wirst Du eine Treiberstufe benötigen und könntest dann auch gleich schon wieder bei Deinem Schieberegistern bleiben... dann reicht vielleicht schon ein Tiny85 :) Wobei ich mir nicht sicher bein ob man mit >50 über Schieberegister noch eine brauchbare PWM-Frequenz zum Dimmen hinbekommt. Vielleicht könnte man hier einfach jedes Schieberegister an einen eigenen Pin anschließen - das dürfte die Zykluszeit verbessern.
Und wenn man einfach mehrere µC miteinander per USART oder SPI kaskadiert? Bsp: 1 x ATmega8 als MASTER 10 x ATmega32 als SLAVE Jeder SLAVE arbeitet für sich und generiert PWM nach besten Wissen und Gewissen, wird nur durch den einen Master zentral gesteuert. Bernhard
Ich würde eher 1 mal ATmega8 als Master X mal ATtiny2313 als Slave benutzen Die ATTiny2313 sond soweit schön, da sie 4 PWM`s in Hardware machen und bis zu 20 MHz schnell sind (also zur not auch ein SoftwarePWM ausreichend schnell sein müßte). Hatte selber vor, mir ein großes (1²m) Pannel zu bauen zu 9 Modulen und es unter die Decke zu hängen. 3PWM`s für RGB und einen zusätzlichen für super helles weiße LED`s... (Ja, ich weiß, Weiß hätte ich auch mit RGB machen können, aber nicht in der Helligkeit!) Treiber: der altbekannte uln2803 ;-) Dazu noch ein kleines 100W/12V Schaltnetzteil und fertig ;-)
Danke erstmal für Eure Antworten. @Manos: Die LEDs werden sowieso über Treiberstufen angesteuert --> da gibt es keine Probleme. Mir geht es nur mal um die Anzahl der Kanäle. Das mit den Schieberegistern ist ja das Problem. Wenn ich da z.B. 60 Kanäle ansteuern will, wird es schwierig eine augenfreundliche Frequenz zu schaffen. Die Lösung von Bernhard gefällt mir eigentlich recht gut, nur wäre es mir lieber, wenn ich "alles in einem" hätte. Ich werde diesen Vorschlag aber auch mal testen --> danke dazu! Hätte ich für solche Sachen vielleicht mit anderen Controllern (z.B. ARM-Controller) mehr Erfolg? Ich bin für jeden Tip dankbar! mfg Andy
Wenn sowieso Treiber vorgesehen sind und es DIP bleiben soll würde ich wahrscheinlich auch mit den Tiny2313 überlegen und Kommunikation vielleicht über I2C. Dann bleiben pro Tiny immer noch 16 I/O's übrig für (Software-)PWM. Oder Du bliebst beim Mega8, dann hast Du max. 21 Kanäle (z.B. 7xRGB/Mega8). Mit einem Mega16 könntest Du auch auf 10xRGB kommen, aber die Bauform ist doch deutlich größer :)
Schaltest Du die LEDs am Schieberegister zyklisch per anliegenden Daten ein und aus um zu dimmen? Dann nimm mal 74HC595 und gib auf den Output Enable Input (Pin 13) ein entsprechend moduliertes Signal. Eignet sich wunderbar zum Dimmen. Da kannst Du Dir dann viel Schieberei ersparen. Gruß Oliver
>>Mir geht es nur mal um die Anzahl der Kanäle. >>Das mit den Schieberegistern ist ja das Problem. Wenn ich da z.B. 60 >>Kanäle ansteuern will, wird es schwierig eine augenfreundliche >>Frequenz zu schaffen. Dann schaue erstmal in das Datenblatt. Die meisten Register schaffen lässig 20 Mhz Taktfrequenz. 20Mhz/60 = 333Khz Wiederholrate. Deine augenfreundliche Frequenz beträgt somit 333.000 Bilder pro Sekunde. Das ist 3330 mal mehr als dein teuerer 100Hz Fernseher schafft. Bei einem ATMega8 und 8Mhz SPI takt kannst du immerhin noch 133333 Hz Wiederholrate rausholen. Naja, und dann gäbe es noch die Fertig-Tüten-Teile von Maxim. Einfach deine 60 LEDs dranpappen, mit SPI deine Daten senden und dann macht der MAX???? LED Controller alles selber, angefangen mit dem richtigen Strom für die LEDs, über die integrierte Heligkeitssteuerung bis hin zum korrekten Multiplexing der LEDs, auch in augenfreundlicher Frequenz ;) Gruß Hagen
@Andreas, Danke fuer das ARM Stichwort. Schau Dir doch mal den LPC2101/2/3 an, der hat 4 timer drauf, die kontrollieren insgesammt 14 sogenannte Match Outputs. Diese Timer koennen sehr schnell laufen und taetsaechlich ohne CPU Einwirkung 14 PWM Signal mit 4 verschiedenen Basisfrequenzen erzeugen! Der 70 MHz 2101 kostet in etwas dasselbe wie ein ATmega8, allerdings braucht er zwei externe Spanungen, 1.8 und 3.3V laeuft aber wie ein Wiesel ;-) Gruss, Robert
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.