www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM Genauigkeit eines µC


Autor: stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wollte fragen wie genau man im allgemeinen bei µC eine bestimmte PWM 
Rate am PWM Ausgang einstellen kann. die Frequenz liege im Bereich 
zwischen 30Hz und 200Hz, also eher niedrig. mit welchen Toleranzen muss 
man rechnen ? Ich habe nämlich eine Schaltung dimensioniert die sich bei 
verschiedenen PWM Raten unterschiedlich verhält. Wird die Schaltung mit 
einer bestimmten PWM Rate gespeist, so darf die Abweichung maximal +/- 
2% betragen (zb. 70% PWM +/-2%). Wäre das machbar ? oder sollte ich im 
Hinterkopf behalten dass manche µCs solche Toleranzen nicht einhalten 
können... ?

mfg

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2% sollten kein Problem sein...

>Ich habe nämlich eine Schaltung dimensioniert die sich bei
>verschiedenen PWM Raten unterschiedlich verhält.

Sicher, dass die auf unterschiedliche PWM-Raten reagiert und nicht auf 
unterschiedliche Duty-Cycles?

Was genau möchtest du denn genau kriegen?
- stabile PWM-Frequenz? -> Gutes Quarz/guten Oszillator verwenden und 
abgleichen. Einige µCs haben interne Oszillatoren, die sich 
feinjustieren lassen - reicht für viele Fälle aus.
- Den Duty-Cycle? -> Sinnvollen Wert für die Obergrenze festlegen und 
ausreichende Auflösung wählen. Wenn du nur diskrete Duty-Cycles mit 
linearem Abstand erzeugen willst, sind oft nahezu 0% Abweichung drin.

Wenn du nur Die Frequenz änderst und nicht das Tastverhältnis, würde ich 
es eher als Frequenzgenerator als PWM bezeichnen. Wenn es das ist, was 
du willst gib nochmal Bescheid, dann rechne ich das durch.

Sag einfach mal genau, was du brauchst - ggf. mit Beispielen.

Gruß

Kai

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für ein µC? Mit nem 16-Bit-Timer hast Du bis zu 65536 PWM-Schritte. 
Wenn der Takt-Input entsprechend gewählt wurde, dass Du den maximalen 
Zählbereich genau auf die benötigte Periodendauer abbilden kannst, dann 
kannst Du eine Auflösung von 1/65536 = 0,015 Promille erreichen...

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wollte fragen wie genau man im allgemeinen bei µC eine bestimmte PWM
> Rate am PWM Ausgang einstellen kann.

Im Allgemeinen hängt das vom µC und davon ab, wie du es programmierst.

> die Frequenz liege im Bereich zwischen 30Hz und 200Hz, also eher
> niedrig.

Bei PWM ist die Frequenz in der Regel fest. Nur das Tastverhältnis wird 
geändert.

> mit welchen Toleranzen muss man rechnen ?

Mit irgendwelchen. Ohne Infos über den µC kann man nicht mehr sagen.

> Wird die Schaltung mit einer bestimmten PWM Rate gespeist, so darf die
> Abweichung maximal +/- 2% betragen (zb. 70% PWM +/-2%). Wäre das
> machbar ? oder sollte ich im Hinterkopf behalten dass manche µCs solche 
Toleranzen nicht einhalten können... ?

Soll deine Schaltung denn nachher von jedem beliebigen µC angesteuert 
werden können? Es gibt bestimmt welche, die das nicht schaffen, wenn man 
Software-PWM macht und die ungünstig programmiert ist. Außerdem hängt es 
von der Taktquelle ab.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ stephan (Gast)

>zwischen 30Hz und 200Hz, also eher niedrig. mit welchen Toleranzen muss
>man rechnen ?

Rechnen ist das Stichwort.

>Ich habe nämlich eine Schaltung dimensioniert die sich bei
>verschiedenen PWM Raten unterschiedlich verhält. Wird die Schaltung mit
>einer bestimmten PWM Rate gespeist, so darf die Abweichung maximal +/-
>2% betragen (zb. 70% PWM +/-2%).

???
Kann es sein, dass du PWM-Frequenz und Tastverhältnis in einen Topf 
wirfst?

PWM

> Wäre das machbar ? oder sollte ich im
>Hinterkopf behalten dass manche µCs solche Toleranzen nicht einhalten
>können... ?

Informiere dich über die Funktionswise von PWM bei Mikrocontrollern.

AVR-Tutorial: PWM

Dann wirst du feststellen, dass dort die PWM voll digital erzeugt wird 
und sehr genau ist.

MFG
Falk

Autor: stephan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke soweit...

die 30Hz bis 200Hz soll heissen, dass die Grundfrequenz des Signals in 
diesem Bereich liegen soll und nicht darüber hinaus.
d.h. meine schaltung funktioniert bei 30Hz identisch wie mit 200Hz.
Meine Frage bezieht sich nun auf die Duty Cycle.

Ich denke der wesentlische Unterschied der für mich zu beachten wäre, 
ist ob der µC die PWM softwaregesteuert oder über eine feste PWM 
Schnittstelle einstellt. Bei SW Steuerung über Timerinterrupt z.B. hängt 
die Auflösung von der Timerfrequenz und dem Interruptdelay ab.

Meine Schaltung soll universell angesteuert werden können.
Ich denke mit den 2% kann ich mehr als gut leben.

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine 8-Bits-PWM hat eine Genauigkeit von
1 / 2^8 * 100% ~= 0,4%
d.h. du liegst maximal +-0,2% daneben

Bei 16 Bits: 0,0015% bzw +-0,000763%

Willst du nur diskrete Stufen erreichen wie z.B. 10%, 20%, 30%, usw.? 
Dann kann die Genauigkeit ohne Zusatzaufwand noch deutlich gesteigert 
werden.

Wenn möglich würde ich von der Software-PWM aus oben genannten Gründen 
abraten.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kai Giebeler wrote:
> Eine 8-Bits-PWM hat eine Genauigkeit von
> 1 / 2^8 * 100% ~= 0,4%
> d.h. du liegst maximal +-0,2% daneben
>
> Bei 16 Bits: 0,0015% bzw +-0,000763%

Soweit ich das weiß, ist das nicht die Genauigkeit, sondern die 
Auflösung (siehe johnny-m)

Autor: Kai G. (runtimeterror)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hehe... ich hatte es befürchtet ;)
danke für die Korrektur.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Witz einer PWM ist, daß die Genauigkeit = Auflösung ist.

Die Anstiegs- und Abfallzeiten sind vernachlässigbar gegenüber der 
Bitzeit.

Die Gesamtgenauigkeit hängt natürlich von der nachgeschalteten 
Schalterstufe, Referenzspannung und Filterstufe ab.

Für 16 Bit Genauigkeit nehme ich vorzugsweise einen 74HC04 als 
Schaltstufe, der von der Referenz versorgt wird.


Peter

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.