www.mikrocontroller.net

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


Autor: Paul Roßmann (Gast)
Datum:

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


Autor: Steven Wetzel (steven)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

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

...

Autor: Weinga-Unity (Gast)
Datum:

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

Autor: Simon K. (simon) Benutzerseite
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

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

...

Autor: Basstler (Gast)
Datum:

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

Autor: Weinga-Unity (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

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

...

Autor: Weinga-Unity (Gast)
Datum:

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

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.