PWM-Werte beim Raspberry Pi Pico

Gast #6945079
Lesenswert?

Hallo zusammen,

heute ist mir beim Herumspielen mit dem Pi Pico etwas Merkwürdiges 
aufgefallen.

Lt. Datenblatt RP2040 Kapitel 4.5 verfügt die (HW-) PWM über einen 16bit 
Counter.

Also nach meiner Rechnung ein range von 0 (entsprechend 0% Tastgrad) bis 
65.535 (entsprechend 100% Tastgrad).

Mit einem Oszi auch leicht zu überprüfen bzw. zu sehen.

So weit so gut.

Nun hab ich mal aus Neugier größere Werte als 65.535 rausgeschickt.

Der Tastgrad bleibt merkwürdigerweise auf vollen 100% bis zum Wert von 
68.717 (auch gut auf Oszi sichtbar, siehe Anhänge). Ab dem Wert 68.718 
springt er auf dann urplötzlich auf 0%.

Ich weiss mit diesen Werten partout nichts anzufangen. Wo kommen die 
her?
Subtrahiere ich bsp. 65.536 von 68.718 erhalte ich 3.182, aber der Wert 
ist ebenfalls nichtssagend da keine 2er Potenz oder sowas.

Danke für eure Hilfe.
Angehängte Dateien:
Gast #6945086
Lesenswert?

Florian Wilhelm schrieb:
> Danke für eure Hilfe.

Guck in der Doku und im Source Code zu pwm.duty_u16 wie die übergebenen 
Werte verarbeitet werden und was letztendlich ins PWM-Register 
geschrieben wird.

Ansonsten gilt: "PWM.duty_u16([value])
Get or set the current duty cycle of the PWM output, as an unsigned 
16-bit value in the range 0 to 65535 inclusive.", d.h. die von dir 
verwendeten Werte liegen außerhalb der Spezifikation und können damit zu 
einem beliebigen Ergebnis führen.
https://docs.micropython.org/en/latest/library/machine.PWM.html
Gast #6945193
Lesenswert?

Florian Wilhelm schrieb:
> springt er auf dann urplötzlich auf 0%.

Sinds wirklich exakt 0% oder könntens auch 0,17% sein?

Florian Wilhelm schrieb:
> Subtrahiere ich bsp. 65.536 von 68.718 erhalte ich 3.182,
> aber der Wert ist ebenfalls nichtssagend da keine 2er Potenz
> oder sowas.

Na ja, er ist zumindest recht nah an der Summe 2er aufeinander folgenden 
2er Potenzen: 2^10 + 2^11 + 10*11 = 3182

Und 110 als PWM-Wert wären eben ~0,17%.

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