mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Richtiger Controller


Autor: Andreas Posch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manos (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Andreas Posch (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Manos (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: Oliver (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hagen Re (hagen)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Robert Teufel (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.