Hardware-PWM zeigt seltsames Verhalten bei bestimmten Werten

  • Mit einem der Hardware-PWM-Ausgänge steuere ich einen Motor an. Eigentlich ist alles, wie es sein soll.

    Nur bei bestimmten Werten "spinnt" die Ausgabe.

    Nachvollziehbar ist es immer, wenn ich kontinuierlich von über 50% auf 30% Ausgabe gehe und dann noch weiter nach unten, dann bleibt die Ausgabe solange auf 30% stehen, bis ich etwa 24% unterschreite.

    Beim Hochfahren das gleiche, ab 30% bleibt die Ausgabe stehen bis ich mehr als 40% vorgebe, dann ist wieder alles ok.

    Das Verhalten ist gleich,ob ich einen Raspberry Pi 3B oder ZeroW nehme, auf GPIO 12/13 wie auf 18/19. Auch habe ich verschiedene GPIO-Bibliotheken ausprobiert und auch die Steuerung über das sys-Interface ergibt das gleiche Verhalten.


    Mit diesem Beispiel für sys lässt sich das einfach reproduzieren:

    Code
    root@rpi3:/sys/class/pwm/pwmchip0# echo 10000000 > pwm0/period
    root@rpi3:/sys/class/pwm/pwmchip0# echo 8000000 > pwm0/duty_cycle
    root@rpi3:/sys/class/pwm/pwmchip0# echo 1 > pwm0/enable

    das ergibt 80% Ausgabe.


    mit

    echo > 3000000 > pwm0/duty-cycle

    erhält man jetzt 30%


    echo > 2600000 > pwm0/duty-cycle

    sollte jetzt 26% ergeben, die Ausgabe bleibt aber bei 30% (Voltmeter bzw. Oszi)


    echo > 2000000 > pwm0/duty-cycle

    damit ist der Spuk vorbei und die Ausgabe folgt wieder mit 0,1% Genauigkeit der Eingabe (zumindest bis ich wieder an die 30% komme).

    Auch die Chipsatz-Doku gibt dazu nichts her.


    Hat das schon jemand beobachtet oder gar eine Lösung parat? Bei gedimmten LEDs fällt das vielleicht nicht so auf, aber ich muss bestimmte Drehzahlen sicher einhalten.


    Ich würde mich über jeden Hinweis sehr freuen.

    Grüße Tom

  • Die echo-Angaben oben sind falsch, da ist ein > zu viel. Ich vermute mal das ist dir hier beim reinschreiben passiert, aber da will ich sicher gehen.


    Und was dein eigentliches Problem angeht: ist die PWM zu dem Zeitpunkt belastet? Also, macht der irgendwas damit?

  • Die echo-Angaben oben sind falsch, da ist ein > zu viel. Ich vermute mal das ist dir hier beim reinschreiben passiert, aber da will ich sicher gehen.


    Und was dein eigentliches Problem angeht: ist die PWM zu dem Zeitpunkt belastet? Also, macht der irgendwas damit?

    Ja, das > hinter dem echo ist ein Tippfehler hier beim abtippen . Danke.


    Der Effekt ist unabhängig von der Belastung, ich beobachte das auch immer gleichzeitig auf dem Oszi. Es ist echt das Taktverhältnis, das sich nicht mehr ändert.

    Ich hatte noch vergessen zu sagen, dass das Ganze bei der Betriebsart Mark/Space auftritt. Den Modus Balanced kann ich hier nicht gebrauchen.

  • Oh jeh, Asche auf mein Haupt!

    Ich nehme alles zurück. Mein gutes ICE-Multimeter, das mir seit 1971 treue Dienste leistet, klemmt in der Skalenmitte.


    Beendet

    Edited once, last by hyle: Ein Beitrag von Tomh55 mit diesem Beitrag zusammengefügt. ().