Forum: Mikrocontroller und Digitale Elektronik Welcher AVR - Aufgabe: 16 RGB PWM


von Raffi T. (Firma: ABB) (schattenfall)


Lesenswert?

Hallo liebe Gemeinschaft

Ich will mich erst einmal kurz vorstellen: Mein Name ist Raffael, ich 
stamme aus der Schweiz und bin Elektroniker.

Nun etwas genauer zu meinem Problem:

Ich baue mit einem Kollegen ein "Ambienteobjekt", also genauer gesagt 
eine Raumbeleuchtung. Aus technischer Sicht kann man das Ziel 
folgendermassen formulieren:

---------------------------------------------------------------------
Ziele
------

- RS232 Schnittstelle soll als Bussystem verwendet werden um vom  PC auf
die yP (realtime) zugreifen zu können.

-jedes LED soll einzeln angesteuert werden können (mit einem RGB-Wert, 
vom PC aus)

-Ich würde gerne PWM zur Dimmung der einzelnen Kanäle (RGB) verwenden.

-Die Anzahl LEDs beträgt in der Lampensäule 128 und ist auf 8 Prints 
aufgeteilt (also 16 RGBLEDs pro Print)

-Eine einfachere Lösung darf auch mehr kosten

-Ich programmiere lieber mit C als mit Assembler

-LEDs brauchen ca 50mW pro Kanal -> es ist ein Treiber notwendig

---------------------------------------------------------------------
Recherche
---------

Bisherige Recherche hat ergeben, dass man mehrere AVR seriell auf 
"listen" an den RS232 schalten kann, deshalb würde ich 8* einen AVR mit 
48  (16LED*3(Leitungen/LED)) Ausgängen verwenden um die Treiber 
anzusteuern (ohne Multiplexen)

---------------------------------------------------------------------
Die Frage:
----------

Welcher AtMega soll ich für das Problem verwenden. Ich tendiere zu 
ATMega 2560 / 640 /1280

Gruss

Raffael

von avr (Gast)


Lesenswert?

Hallo Raffi,

klar geht es mit AVR und Soft-PWM.

Die Suchfunktion wird dir genügend Beispiele auflisten.

Wenn es etwas kosten darf, würde ich nur einen
Atmel einsetzen für die PC-Schnittstelle und die
LED-Einstellung.
Für die LEDs selber würde ich fertige PWM-Bausteine
mit I²C verwenden.

http://www.nxp.com/acrobat_download/datasheets/PCA9685_2.pdf

Für einen Print gäbe es dann 3 Bausteine (für R G B) a
16 PWM mit 12 Bit.

Dein Atmel sagt dann nur an Baustein mit der Adresse (von I²C)
die LED 5 auf PWM-Wert 500 setzen.

Durch Gruppenbildung könnte man auch z.B. alle Roten
mit einen Befehl ändern.

Die Prints wären alle Baugleich und durch Dipschalter/
Lötbrücken konfigurierbar.

Der Atmel benötigt dann nur wenige IOs.

avr

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.