16Kanal-16Bit-PWM in Hardware?

OP #986230
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
Gast #986240
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.
#986245
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
Moderator (Firma: Titel) Persönliche Seite #986246
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...
OP #986256
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...
#986279
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
#986309
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
#986315
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
#986320
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
Gast #988450
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,
Gast #1323377
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
Gast #1373222
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren