Forum: Mikrocontroller und Digitale Elektronik 16Kanal-16Bit-PWM in Hardware?


von Eve E. (qpqpqp)


Lesenswert?

Hallo

Ich bin auf der Suche nach Moeglichkeiten, 16Bit-PWM in Hardware ohne 
allzuviel Loet-Aufwand zu realisieren weil ich 16 Kanaele davon brauche 
und wenig Lust habe, mir 16 einzelne PWM-Schaltungen zu bauen.
Die PWM selbst soll um die 100Hz laufen, schneller waere egal. Das ganze 
ist fuer die zweite Inkarnation einer LED-Lampe mit insgesamt ca 50Watt 
in LEDs gedacht. Wegen der hohen Helligkeit muessen die Farben auch 
ordentlich werden, daher brauche ich die hohe Aufloesung.

Wegen der hohen Aufloesung bei recht vielen Kanaelen scheidet Soft-PWM 
wohl aus (und ich kann die Zyklen auch gut anderweitig gebrauchen).

Ich stelle mir mein Wunsch-Bauteil z.B. so vor: 16bit kommen seriell 
(oder auch parallel) rein. Das Ding bekommt einen 100Hz-Saegezahn, mit 
dem es die DA-gewandelten 16bit vergleicht und raus kommt das fertige 
PWM-Signal. Den Saegezahn mache ich extern einmal, den koennen die 16 
Bausteine gemeinsam benutzen. Also quasi 16er-Schieberegister plus 
DA-Wandler plus Komparator.

Macht die Idee ueberhaupt Sinn, bzw gibt es andere Moeglichkeiten, 
16Bit-PWM ohne mikrocontroller zu machen?

gruesse und danke

von Klaus (Gast)


Lesenswert?

Hmm, 16 Bit, Auflösung höher 1/65000, das sind ca. 0,0015 %

Wozu braucht man das, was baust Du denn für Schaltungen.
Woher beziehst Du gewöhnlich Bauteile wie Widerstände mit diesen 
Tolenanzen?

Mein Glückwunsch jedenfalls zu dieser Aufgabe.

von Falk B. (falk)


Lesenswert?

@  Eve E. (qpqpqp)

>Ich bin auf der Suche nach Moeglichkeiten, 16Bit-PWM in Hardware ohne

Vielleicht gibt es da diverse I2C oder SPI gesteuerte ICs.

>(oder auch parallel) rein. Das Ding bekommt einen 100Hz-Saegezahn, mit
>dem es die DA-gewandelten 16bit vergleicht und raus kommt das fertige
>PWM-Signal. Den Saegezahn mache ich extern einmal, den koennen die 16
>Bausteine gemeinsam benutzen. Also quasi 16er-Schieberegister plus
>DA-Wandler plus Komparator.

Viel zu aufwändig. Volldigital ist einfacher und genauer.

>Macht die Idee ueberhaupt Sinn, bzw gibt es andere Moeglichkeiten,
>16Bit-PWM ohne mikrocontroller zu machen?

CPLDs sind deine Freunde. Wobei 16 Kanäle schon viel sind. Muss man 
wahrscheinlich ein kleines FPGA nehmen. Dort kannst du dann auch einen 
Soft-Core reinpacken, der übernimmt dann die Steuerung. Ist da ein 
System On a Chip ;-)

MFg
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> bzw gibt es andere Moeglichkeiten,
> 16Bit-PWM ohne mikrocontroller zu machen?
Ja, z.B. ein kleines FPGA (Lattice MachXO) und die Daten über SPI 
reinschieben.
Für 16Bit/100Hz sind immerhin ca. 6,5MHz Zählfrequenz nötig.

Die Idee, das Ganze mit einem 16-Bit-Wandler nach analog zu verbiegen, 
und dann mit einem Sägezahn zu vergleichen, kannst du vergessen. Du 
bekommst so einfach gar keinen schönen Sägezahn für 16 Bit Auflösung 
gebacken...

von Eve E. (qpqpqp)


Lesenswert?

Klaus wrote:
> Hmm, 16 Bit, Auflösung höher 1/65000, das sind ca. 0,0015 %
> Wozu braucht man das

Es wird ja nicht jede Stufe benutzt. Die zum mikrocontroller eingehenden 
z.B. 8 oder 10 Bit werden aehnlich wie in LED-Fading darauf 
abgebildet.

> Woher beziehst Du gewöhnlich Bauteile wie Widerstände mit diesen
> Tolenanzen?

Tu ich nicht. Wenn das alles ein wenig verschoben und verzerrt ist, wird 
das nicht stoeren.

An die anderen: urgs, ein FPGA war nicht die schoene einfache Loesung 
die ich im Auge hatte... ist das nicht mit Kanonen auf Spatzen 
geschossen?

Die Qualitaet des Saegezahns ist natuerlich ein guter Punkt. Aber 100Hz 
sind ja so langsam, dass man einigermassen schone hinbekommen muesste? 
Es muss ja wie gesagt nicht ganz perfekt sein. Zur Not kann ich das 
sicher teilweise durch Rumspielen an der Mapping-Funktion ausgleichen.

> Für 16Bit/100Hz sind immerhin ca. 6,5MHz Zählfrequenz nötig.

Genau deshalb bin ich ja auf die Idee mit dem Analogen gekommen...

von Falk B. (falk)


Lesenswert?

@ Eve E. (qpqpqp)

>An die anderen: urgs, ein FPGA war nicht die schoene einfache Loesung
>die ich im Auge hatte... ist das nicht mit Kanonen auf Spatzen
>geschossen?

Nicht unbedingt.

>Die Qualitaet des Saegezahns ist natuerlich ein guter Punkt. Aber 100Hz
>sind ja so langsam, dass man einigermassen schone hinbekommen muesste?
>Es muss ja wie gesagt nicht ganz perfekt sein.

Ist trotzdem zu aufwändig.

>> Für 16Bit/100Hz sind immerhin ca. 6,5MHz Zählfrequenz nötig.
>Genau deshalb bin ich ja auf die Idee mit dem Analogen gekommen...

Wir leben nicht mehr in den 1950er Jahren, wo Analogrechner schneller 
als Digitalrechner waren. . .

Alternativ gibt es diverse TLC???? Bausteine, eineige machen immerhin 12 
Bit PWM für LEDs.

MFG
Falk

von B e r n d W. (smiley46)


Lesenswert?


von J. K. (rooot)


Lesenswert?

wie wärs mit nem 2. µC ?

den schickst du seriell ... die Werte. Dieser hat dann nichts anderes zu 
tun und dürfte zeitlich kein Problem werden?!

Find ich viel weniger Aufwand als irgendwelche Analogschaltungen!

mfg
J.K

von Falk B. (falk)


Lesenswert?

@ J. K. (rooot)

>wie wärs mit nem 2. µC ?

>den schickst du seriell ... die Werte. Dieser hat dann nichts anderes zu
>tun und dürfte zeitlich kein Problem werden?!

Nein? Mal überlegt wie ein uC 16 PWM Kanäle mit 16 Bit Auflösung 
erzeugen soll?

MFG
Falk

von Patrick W. (seennoob)


Lesenswert?

Naja ich muss dir mal recht geben da Falk 6,5MHz sind in dem Zeitalter 
ein Klax.
Wenn du echt vor hast eine Freiprogrammierbare Logik Schaltung zu nehm 
würd ich dir einen CPLD wenn möglich empfehlen (merkt sich die 
Konfiguration wegen Flashspeicher).

Ok dann schießen wir mal mit Kanonen auf Spatzen. Seh dir mal die 
Tricore Architekture an das Teil hat so 64 Timer. Wenn du jeweils ein 
zum Einschalten und einen zum Auschalten benutzt (was ich glaub möglich 
ist) kannst so 32 16Bit PWM's machen.

MFG Patrick

von Feier F. (feierfoxx)


Lesenswert?

@Falk
>
> Nein? Mal überlegt wie ein uC 16 PWM Kanäle mit 16 Bit Auflösung
> erzeugen soll?

Doch!

Es gibt Controller die 16 PWM Kanäle schon in der Peripherie bereit 
stellen.

Es stellt sich nur die Frage, ob die Diskussion über 16Bit Auflösung 
sinnvoll ist.

@EVE
> 16Bit-PWM in Hardware ohne
> allzuviel Loet-Aufwand zu realisieren

Das klingt nach, "Gott erschuf die Welt an einem Tag, um dann 6 Tage zu 
ruhen"

Von nix kommt nix.

Werde mir morgen nen Pentium HEX-Core aus nur einem HC14 zusammenbauen.

Mit der Einstellung solltest Du lieber die Finger davon lassen.

Sorry, meine Meinung!

Gruß

FF

von BrainHunter (Gast)


Lesenswert?

wie wärs mit nem ATxMega16 ? der hat 16 pwm und ich mein sogar 16 bit.

von Ladde (Gast)


Lesenswert?

Wie wärs mit diesem LED-Treiber von TI? 16 Kanäle, jeweils 16 bit PWM.

http://focus.ti.com/docs/prod/folders/print/tlc5943.html

von Eve E. (qpqpqp)


Lesenswert?

Ladde wrote:
> Wie wärs mit diesem LED-Treiber von TI? 16 Kanäle, jeweils 16 bit PWM.
> http://focus.ti.com/docs/prod/folders/print/tlc5943.html

den hatte ich eben nach Bernd Weebers Hinweis auch gefunden und werde 
ihn nun bei Farnell bestellen. Sieht genau nach dem aus was ich haben 
will.

Danke jedenfalls euch allen.

von feierfoxx (Gast)


Lesenswert?

Hallo Eve,

das kappiere ich nicht.

Oben schreibst Du noch "ohne viel Lötaufwand"
und bestellst dann einen Chip, den es nur im HTSSOP28 oder QFN 32 
Gehäuse
gibt???

Fake???

von Eve E. (qpqpqp)


Lesenswert?

feierfoxx wrote:
> Oben schreibst Du noch "ohne viel Lötaufwand"
> und bestellst dann einen Chip, den es nur im HTSSOP28 oder QFN 32
> Gehäuse gibt???

Ja, EINEN Chip. Nicht 16mal x Bauteile.

> Fake???

Geh woanders spielen, ja?

von Mark de Jong (Gast)


Lesenswert?

Hallo,

Schau mal bei Infineon, nach der C167 familie,
 oder bei ST, nach der ST10 familie.

Die machen bis zu 32 kanäle 16-bit PWM mit der CAPCOM unit.

Ich benutze denn um 32 modelbau servos zu steuern.

Grüße Mark,

von Time (Gast)


Lesenswert?

Brauche ebenfalls einige (30) 16bit PWM-Kanäle. Die Infineon-Controller 
sehen interessant aus. Wer kennt die zugehörigen Entwicklungsumgebungen 
und Programmierhardware? Würde mich auf Tips freuen.

Gruss ti-me

von Markus C. (ljmarkus)


Lesenswert?

Hallo..

kann Dir die MBI5030 empfehlen. Verbaue ich hier zu hunderten.


lg, markus

von Alex (Gast)


Lesenswert?

@Time:
Es gibt meines wissens für die Infineon XC16x und neuen XC2xxx Familien 
low-cost Kits. Ich selbst hacke meinen XC167 Code auf einer Keil IDE 
(gibt kostenlose Code-Size limitierte Versionen, reichen für den 
Anfang). Weiterer Anbieter ist Tasking (da gibts meines wissens für 
1Jahr einen Free-Version des Compilers). Setup würde ich über DAVE 
machen, ist ein kostenloses Tool.........einfach Googeln.

Grüße,

Alex

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.