Forum: Mikrocontroller und Digitale Elektronik Richtiger Controller


von Andreas Posch (Gast)


Lesenswert?

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

von Manos (Gast)


Lesenswert?

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.

von Bernhard S. (bernhard)


Lesenswert?

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

von KoF (Gast)


Lesenswert?

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 ;-)

von Andreas Posch (Gast)


Lesenswert?

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

von Manos (Gast)


Lesenswert?

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 :)

von Oliver (Gast)


Lesenswert?

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

von Hagen R. (hagen)


Lesenswert?

>>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

von Robert Teufel (Gast)


Lesenswert?

@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
Noch kein Account? Hier anmelden.