PWM Genauigkeit eines µC

Gast #718841
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
#718853
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
#718856
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...
Gast #718857
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.
#718858
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
Gast #718912
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.
#718920
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.
#718938
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren