mikrocontroller.net

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


Autor: Eve E. (qpqpqp)
Datum:

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

Autor: Klaus (Gast)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

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

Autor: Eve E. (qpqpqp)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: B e r n d W. (smiley46)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: J. K. (rooot)
Datum:

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

Autor: Falk Brunner (falk)
Datum:

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

Autor: Patrick Weinberger (seennoob)
Datum:

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

Autor: Feier Foxx (feierfoxx)
Datum:

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

Autor: BrainHunter (Gast)
Datum:

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

Autor: Ladde (Gast)
Datum:

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

Autor: Eve E. (qpqpqp)
Datum:

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

Autor: feierfoxx (Gast)
Datum:

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

Autor: Eve E. (qpqpqp)
Datum:

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

Autor: Mark de Jong (Gast)
Datum:

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

Autor: Time (Gast)
Datum:

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

Autor: Markus C. (ljmarkus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..

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


lg, markus

Autor: Alex (Gast)
Datum:

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

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.