Forum: Mikrocontroller und Digitale Elektronik Wertebereich 1 Byte (PWM)


von Dan (Gast)


Lesenswert?

zu Hilfe und Hallo!

1 Byte kann 256 Werte annehmen. 0...255. Soweit bin ich ja auch an Bord. 
Wenn ich jetzt eine PWM mit 8 Bit Auflösung einstelle, kann ich auch 256 
Werte einstellen:

0 - PWM aus, Signal immer 0
255 - PWM immer an, also Signal immer 1


aaaaber was ist jetzt 50% Tastgrad? Kann ich gar nicht einstellen, außer 
ich habe eine ungerade Anzahl an Werten im möglichen Bereich.

Ich weiß, das ist vielleicht ein lächerliches Problem, aber ich 
verzweifle gerade. Und nicht nötig zu flamen....

Kann mir wer helfen?

von was (Gast)


Lesenswert?

Dan schrieb:
> aaaaber was ist jetzt 50% Tastgrad?

127

0-127 = 128 Zyklen an
128-255 = 128 Zyklen aus

von Dan (Gast)


Lesenswert?

Ich bin noch raus.

Wenn ich statt 255 einfach mal 3 annehme also von 0..3, sprich 4 Werte 
die angenommen werden.
Dann ist doch einfach keine Mitte als 50% da?

0 aus
1 ?%
2 ?%
3 an

von Herman Kokoschka (Gast)


Lesenswert?

Dan schrieb:
> 0 aus
> 1 ?%
> 2 ?%
> 3 an

0 aus
1 aus
2 an
3 an

Genau 50%.
Wo ist das Problem?

von Dan (Gast)


Lesenswert?

Irgendwie das es keine richtige Mitte gibt wenn man rechnet...

Bei 4 Möglichen werten gibts doch keine 'richtige' Mitte. seufz

von Wolfgang (Gast)


Lesenswert?

Dan schrieb:
> Bei 4 Möglichen werten gibts doch keine 'richtige' Mitte.

Die Mitte liegt zwischen 1 und 2. Da wird umgeschaltet.

von Teo D. (teoderix)


Lesenswert?

0...4 = 5 Zustände

0 aus
1 aus
2 ??? <-- Mitte
3 an
4 an

Welchen Zustand soll den Deine Mitte den einnehmen?!

von Mathias A. (mrdelphi)


Lesenswert?

Dan schrieb:
> aaaaber was ist jetzt 50% Tastgrad? Kann ich gar nicht einstellen, außer
> ich habe eine ungerade Anzahl an Werten im möglichen Bereich.

So ist es...

War das schon die Frage? Oder was man dagegen tun kann?

von was (Gast)


Lesenswert?

Es gibt auch Microcontroller und PWM-Modi, wo 0 nicht "immer aus" 
bedeutet.


--> "Es kommt darauf an"

Wenn es so genau geht, musst du eben probieren+messen und/oder dir das 
Datenblatt reinziehen, allgemein gültig sagen kann man es nicht.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Dan schrieb:
> 0 - PWM aus, Signal immer 0
> 255 - PWM immer an, also Signal immer 1

Deutlich weniger Probleme bei solchen Definitionen macht:
  0 - PWM aus, Signal immer 0
255 - Signal fuer 255 Takte 1, 1 Takt 0
256 - Signal immer 1 (Kommt aber halt nicht vor, weil's nicht mehr in 8 
bit passt)

Gruss
WK

von Rolf M. (rmagnus)


Lesenswert?

Herman Kokoschka schrieb:
> Dan schrieb:
>> 0 aus
>> 1 ?%
>> 2 ?%
>> 3 an
>
> 0 aus
> 1 aus
> 2 an
> 3 an
>
> Genau 50%.
> Wo ist das Problem?

Dass du die Frage falsch verstanden hast. Was er wohl meine, war der 
Wert im Compare-Register:

0 = Tastgrad 0% ("aus")
1 = Tastgrad 33,3%
2 = Tastgrad 66,6%
3 = Tastgrad 100% ("an")

Da gibt's dann kein "genau 50%", es sei denn, du kannst einen Wert von 
1,5 ins Compare-Register laden. :)
Das setzt aber voraus, dass die beiden Tastgrade 0% und 100% überhaupt 
einstellbar sind. Prinzipiell sollte man der Doku des µC entnehmen, wie 
das gehandhabt ist. Beim AVR z.B. kommt im Fast-PWM-Mode bei 0 ein 
Tastgrad von 1/256 raus. Exakt 50% hat man dann bei 127 (entspricht 128 
Takte an und 128 Takte aus).

von c-hater (Gast)


Lesenswert?

Dan schrieb:
> Irgendwie das es keine richtige Mitte gibt wenn man rechnet...
>
> Bei 4 Möglichen werten gibts doch keine 'richtige' Mitte. seufz

Doch, natürlich gibt es die:

Wert   Takte an  Takte aus  Duty %
0             0          4     0
1             1          3    25
2             2          2    50
3             3          1    75

Dein Problem ist, dass du nicht verstanden hast, dass es bei Fast-PWM 
keine
100% gibt (oder auch wahlweise: keine 0%). Es gibt an einem der beiden 
Enden der Skala immer einen Glitch von der Dauer eines Taktes.

Bei 8 Bit bedeutet das, dass das Maximum 255/256 = 99,6% ist.

Das steht aber alles auch im Datenblatt. Man muss nur seine Faulheit 
überwinden und dieses auch lesen...

von Wolfgang (Gast)


Lesenswert?

c-hater schrieb:
> Das steht aber alles auch im Datenblatt. Man muss nur seine Faulheit
> überwinden und dieses auch lesen...

Mit lesen alleine ist es nicht immer getan ...

Man muss auch akzeptieren können, dass sich bei einm PWM modulierten 
Signal mit endlicher Auflösung nicht jeder Tastgrad mit beliebiger 
Genauigkeit einstellen lässt. Runde Zahlen im Dezimalsystem führen bei 
einem realen PWM-Generator nicht unbedingt auf genau einstellbare Werte. 
Es gibt immer die Möglichkeit, den Tastgrad zu modulieren, d.h. 
beispielsweise laufend zwischen 127 und 128 umzuschalten, um sich im 
Mittel Zwischenwerten möglichst gut anzunähern.

von M. K. (sylaina)


Lesenswert?

Wolfgang schrieb:
> Mit lesen alleine ist es nicht immer getan

Stimmt, über das Gelesene nachdenken muss man natürlich auch, am Besten 
mit Brain 1.0.0 oder aktueller, nicht mit z.B. Brain 0.2.7 oder 
Ähnlichem. Aber mehr ist nicht nötig ;)

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.