Forum: Mikrocontroller und Digitale Elektronik programmierbare PWM Module/IC's


von Paul Roßmann (Gast)


Lesenswert?

Guten Abend!

Aufgabenstellung:
Mindestens 5 PWM Kanäle für RC Servos bereitstellen.

Problem:
Die 5 Kanäle sollen von einer C-Controll gesteuert werden.
D.h. der Prozessor ist nicht schnell genug, die 5 Kanäle durch manuelles 
Portpinwackeln zu erzeugen.

Deswegen suche ich nun ICs, die
   a) die PWM erzeugen und
   b) bei denen das Tastverhältniss per I2C/SPI/... einstellbar ist.

Nur irgendwie finde ich ausschließlich ICs, bei denen man Frequenz und 
Tastverhältniss über R/C Netzwerke einstellen kann.

Das wäre dann auch meine "Notfallösung:" PWM mit fester Frequenz per 
NE555 aufgebaut und Tastverhältniss mit digitalem Potentiometer 
einstellen.

Meine Frage also: kenne jemand derartige programmierbare PWM ICs? Oder 
weiß jemand, ob es sowas überhaut gibt? Ich bin offen für Vorschläge :)

Gruß, Paul


von S. W. (Gast)


Lesenswert?

> Deswegen suche ich nun ICs, die
>    a) die PWM erzeugen und

Es gibt einen AVR mit 7 (und 10) PWM-Ausgängen. AT90PWM1, 2 und 3. Wenn 
ich mich  nicht irre, eine Entwicklung von OSRAM und Atmel, speziell für 
Lampen.

Gute Nacht!

von Hannes L. (hannes)


Lesenswert?

http://www.hanneslux.de/avr/mobau/7ksend/7ksend02.html

Das ist spannungsgesteuert, aber das lässt sich mit Sicherheit auch auf 
Steuerung per UART, SPI, I²C oder was auch immer umschreiben.

...

von Weinga-Unity (Gast)


Lesenswert?

Hi, das kann man voll supi per Software machen. Man macht eine Routine, 
die einen Impuls von 1-2ms generiert und in Summe 2 ms lang benötigt, 
und kopiert diese 10 mal hintereinander (nur dass jedesmal ein anderer 
Port gesetzt/gelöscht wird). Somit hat man automatisch die 20ms 
Periodendauer.

von Simon K. (simon) Benutzerseite


Lesenswert?

Weinga-Unity wrote:
> Hi, das kann man voll supi per Software machen. Man macht eine Routine,
> die einen Impuls von 1-2ms generiert und in Summe 2 ms lang benötigt,
> und kopiert diese 10 mal hintereinander (nur dass jedesmal ein anderer
> Port gesetzt/gelöscht wird). Somit hat man automatisch die 20ms
> Periodendauer.

Seine C-Control ist aber nicht schnell genug..


PS: Soll ich eher weinen oder lachen bzgl. der C-Control?

von Hannes L. (hannes)


Lesenswert?

Simon Küppers wrote u.a.:
> PS: Soll ich eher weinen oder lachen bzgl. der C-Control?

Weder noch, würde ich sagen. ;-)

Er hat das Teil und ich werde mich nicht drüber lustig machen. Trotzdem 
wird es wohl sinnvoll sein, die übrige Rechnerei auch noch mit in den 
Mega48 zu verlegen. Der macht das mit links bei 1MHz internem Takt 
(falls kein UART gebraucht wird).

...

von Basstler (Gast)


Lesenswert?

Man könnte auch mehrere µC als reine PWM "Module" verwenden und per SPI 
ansprechen. Müsste halt nur selber programmiert werden...

Nur so eine Idee....

von Weinga-Unity (Gast)


Lesenswert?

Hallo! Is mir klar, dass das die C-Controll nicht pakt. Da aber vorher 
von einem AVR mit PWM gesprochen wurde habe ich diese Vorraussetzung 
bereits als gegeben angenommen. Wir vor diesem Beitrag erwähnt schließe 
ich mich dieser Konfiguration an: C-Control<->Serial Port<->AVR-Board 
mit 10 Servo PWM

Ich selbst sitze gerade vor der Problematik, benötige 3 PWM mit 10bit 
und ca. 50kHz Periodendauer. AVR zu langsam. Der ATTiny26 hat nur 8 bit 
dafür sau schnell (bitte korregiert mich, falls falsch), mein CPLD hat 
zuwenig MAKRO-Zellen für 1 PWM mit 16-Bit Schieberegister und 16-Bit 
Latch (werde noch probieren, alles auf 10 Bit umzustellen, bis auf das 
Schieberegister). Möchte auch SPI<->PWM machen. Falls hier jemand eine 
Idee hat, rein damit.

von Hannes L. (hannes)


Lesenswert?

> benötige 3 PWM mit 10bit
> und ca. 50kHz Periodendauer.

Puuuhhh.... - Das erfordert ja selbst bei Hardware-PWM einen Timertakt 
von über 50 MHz bei Fast-PWM und über 100 MHz bei Auf-Ab-PWM (Phase 
correct). Das ist doch etwas viel...

...

von Weinga-Unity (Gast)


Lesenswert?

Jo, das is mir klar. Nur hab ich ja gelesen, dass der ATTiny26 (glaub 
ich) intern 64MHz oder so für die Timer/Counter generiert. Aber leider 
alles 8bit, soweit ich mitbekommen habe.

Hab übrigens so einen PWM-Generator auch diskret aufgebaut 
(Schieberegister für SPI, Counter, Comparator, ..) Funktioniert sogar 
bei 48 MHz :)

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.