mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM ?


Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo,
eine Frage zu PWM.
ich hab ein Timer der mit 5kHz ein Signal(SIG_OUTPUT_COMPARE)
auslöst.
In dem SIGNAL() mache ich ein SW PWM.
dh. counter =300
    speed =200
PWM so dass in 200 von 300 Zeiteinheiten mein Signal am Motor 1 ist.
bei speed = 100 läuft der Motor aber ruckartig,
was ist jetzt die beste Lösung um bei niedrigen Geschwindigkeiten immer
noch einen "runden" lauf der Räder zu bekommen ?
Counter erhöhen ?
ich denke die Frequenz erhhöhen ?
ich werd natürlich mit allem jetzt mal probieren, aber ich dachte
vielleicht hat jemand von euch schon ein Erfahrungswert ?
  Danke
   Chris

Autor: Quacks (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die Frequenz erhöhen auf ca.20kHz, auch hat dies den Vorteil
das man die PWM nicht mehr hört (leises fiepen)

Gruß

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um eine hohe (Software-) PWM-Frequenz zu erreichen, muss der Controller
effektiv arbeiten. Bei "200 von 300 Zeiteinheiten" kann ich keine
Effektivität erkennen, da ich nicht nachvollziehen kann, wie die 300 in
ein Byte (Register) passen soll. Der Zählumfang der (Software-) PWM
sollte also unbedingt so gewählt werden, dass mit 8-Bit-Arithmetik mit
Registern gearbeitet werden kann. Alles Andere wird zu langsam. Es
bieten sich also (für den Zählumfang) Werte von 256, 128, oder noch
kleiner an. Je kleiner der Zählumfang, umso schneller die Frequenz,
aber auf Kosten der Anzahl der Stufen. Da ist nun ein dem
Verwendungszweck angepasster Kompromiss zu finden.

Übrigens ist 20 kHz für eine mehrkanalige Software-PWM mittels AVR kaum
erreichbar. Hohe Frequenzen stellen übrigens auch hohe Anforderungen an
die Ansteuerung der Schalttransistoren (Treiber für FETs).

...

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,
also ich hab mich jetzt mal für 5kHz und 200 entschieden.
Da ich aber wenn ich 100 eingebe, nur einen minimalen Unterschied bei
der Drehahl meines Motors als bei 200 messe, werde ich da wohl noch
weiter runter gehen.
Ich weis nur nicht wie sensibel meine Regelung reagiert, d.h. ob mir
Werte 0-100 reichen.
  Chris

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.