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.
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
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%.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.