Kraftsteuerung eines DC-Motors

Hallo Zusammen

Wie so oft als Neuling in diesem Forum habe ich eine Frage. :D

Ich bin auf der Suche nach einer Möglichkeit das Drehmoment eines DC Getriebemotors zu steuern und dadurch die Zugkraft in einer Schnur zu regeln. Der DC Motor funktioniert wie eine Winde, jedoch ist der zu ziehende Angriffspunkt mehr oder weniger fix befestigt. Die Zugkraft im Seil wird mit einer Kraftmessdose gemessen und ausgewertet. Zu einem späteren Zeitpunkt soll der Angriffspnkt sich langsam 0.02m/s bewegen und die Kraft soll konstant bleiben.

Aktuell haben wir einen Prototypen, welche die Zugkraft misst und über einen PID-Regler wird die PWM für die Ansteuerung der Motoren angepasst. Dies entspricht jedoch nicht der gewünschten Regelung, da wir das Drehmoment beziehungsweise die Stromstärke regeln möchten.

Ich bin noch auf folgende Links gestossen:

Ist es möglich für diese Anwendung einen Stromkreis mit steuerbare Stromstärke zu generieren und eignet sich dies für einen Motor.

https://lonetechnologist.wordpress.com/2016/07/01/programmable-switching-current-source-using-arduino-as-a-pid-controller/

Gibt es für diese Anwendung bestenfalls ein Bauteil.

http://www.banggood.com/0-30V-2mA-3A-Adjustable-DC-Regulated-Power-Supply-DIY-Kit-p-958308.html?rmmds=detail-left-hotproducts

Hier noch die Daten zu den aktuell verwendeten Bauteilen:

Mikrocontroller

  • Arduino UNO

Kraftmessung

  • SparkFun Load Cell Amplifier - HX711
  • Load Cell - 10kg, Straight Bar (TAL220)

Motoren

  • Micro DC Gear Motor 1:48 - Dual Axis
  • L298N

Freundliche Grüsse

Aktuell haben wir einen Prototypen, welche die Zugkraft misst und über einen PID-Regler wird die PWM für die Ansteuerung der Motoren angepasst.

Erscheint mir richtig so!

Dies entspricht jedoch nicht der gewünschten Regelung, da wir das Drehmoment beziehungsweise die Stromstärke regeln möchten.

Was soll das bedeuten? Wo ist das Problem dabei?

Ist der L298N nicht um die Geschwindigkeit und die Drehrichtung zu steuern, jedoch nicht direkt die Stromstärke.

“This allows you to control the speed and direction of two DC motors”

https://tronixlabs.com.au/news/tutorial-l298n-dual-motor-controller-module-2a-and-arduino/

Das Problem besteht darin, dass der Motor sich beim Erhöhen und Senken der PWM schlagartig bewegt (siehe Anhang). Der Graph im Anhang zeigt die gemessenen Daten der Kraftmessdose. Die Stellgrösse beträgt 10 [-].

Das Problem besteht darin, dass der Motor sich beim Erhöhen und Senken der PWM schlagartig bewegt

Dann machst du was falsch!

  1. Die Änderung des PWM Signals erfolgt asynchron zum Signal.
  2. PWM Frequenz viel zu niedrig.

Die PWM verändert sich schlagartig, weil der Motor schlagartig das Drehmoment erhöht oder senkt. Ich habe nochmals ein Bild angefügt, welches das Problem besser vermittelt. Die schlagartigen Veränderungen sind deutlich zu sehen.

Vielen Dank für die rasche Antwort :slight_smile:

Hallo,

kann es sein, dass der innere Aufbau des Motors für den Zweck ungeeignet ist? Der Motor hat wahrscheinlich drei Spulen auf dem Anker. Je nach dem wie der Motor steht und die Spulen durch den Kummator bestromt werden, kann dadurch die Kraft stark variieren. Vielleicht kommt ihr genau zu den Kipppunkten. Diese Motoren sind ja gedacht mit einer gewissen Drehzahl zu laufen, so dass die Massenträgheit die Ungleichmäßigkeiten ausgleicht.

Vielleicht kommt ihr genau zu den Kipppunkten.

Durchaus möglich.

Sollte das nicht die PID ausregeln?

Aber trotzdem passen PWM und Dosenwert nicht zueinander.

Was ist das für eine "Dose"'? Wie werden die Messwerte aufbereitet?

combie:

Theseus: Vielleicht kommt ihr genau zu den Kipppunkten.

Durchaus möglich.

Sollte das nicht die PID ausregeln?

Nimm mal einen primitiven Spielzeugmotor, wo man beim händischen Drehen deutlich die Magnete merkt. Lege eine Spannung an, dass er so gerade losläuft. Stoppst du ihn jetzt mit der Hand und drehst du ihn langsam mit der Hand, merkst du sehr deutlich diese Kippmomente. In einem Punkt wirkt er total kraftlos einen Hauch weitergedreht ist plötzlich volle Kraft da. Das geht sehr digital. Das sind die Schaltpunkte des Kommutators. Das kann man durch PID nicht ausregeln.

Da habe ich ja grundsätzlich nichts gegen…

Sehe aber noch nicht, dass das hier wirklich das Problem ist.

Der Motor steht ja fast. Ein wenig Bewegungsspielraum hat er durch Elastizität des Aufbaus und das Getriebe. Im Bereich der langen Steigungen der blauen Kurve sieht man, dass sich die Kraft des Motors nachvollziehbar mit PWM ändert. Dann kommt der Umschaltpunkt, wo die Kraft einen plötzlichen Sprung macht, PWM wird stark reduziert, Kraft reduziert sich langsam, die mechanische Flexibilität des Aufbaus sorgt dafür, das der Motor wieder vor den Umschaltpunkt springt, der Motor lässt urplötzlich nach. Die Reglung zieht an, die Kraft des Motors springt wieder nach oben usw…

Das ist meine Interpretation des Diagramms

Für mich macht das Diagramm keinen Sinn.

PWM steigt kontinuierlich an (das dürte der I-Anteil sein), aber die Kraft (gelb) ändert sich nicht. Dann springt die Kraft plötzlich nach oben, warum ist völlig unklar, der Regler reduziert die PWM langsam, ohne dass sich die Kraft ändert.

Der Drehmoment sollte normalerweise proportional zum Strom, also proportional zur PWM sein. Da der Motor hier aber weit ausserhalb seines Nennbereiches betrieben wird, wird das so nicht mehr stimmen. aber zumindest muss eine direkte Abhängigkeit vorhanden sein.

Interessant wäre hier wirklich noch der Weg, um zu sehen, ob die "Sprungpunkte" mit der Ankerzahl zusammenpasst.

Es ist schwierig hier eine Aussage zu treffen, außer dass sich das System extrem nichtlinear verhält.