Nicht regelmäßige Motor lauf bei kleine Drehzahl mit Wirkung auf Motor Lärm

Hallo!

Bei der Closed-Loop-Geschwindigkeitsregelung „Velocity Control“ machen alle meine getesteten Motoren bei sehr niedrigen Geschwindigkeiten (ca. 0,1 bis 0,3 rad/s) kleine Sprünge, ähnlich wie ein Schrittmotor, jeweils um ca. 1 bis 1,5 Grad. Das verursacht Probleme beim Fahren (Direktantrieb mit einem Rad mit 120 mm Durchmesser).

Zusätzlich führt dieser Effekt bei höheren Geschwindigkeiten (ich verwende bis zu 16 rad/s) zu einem starken Brummen des Motors. Meiner Meinung nach liegt das an den zu groben Winkelschritten bei der Sinus-Ansteuerung.

Getestet habe ich das mit Gimbal-Motoren mit einem Durchmesser von 60 mm und 21 PP sowie einem weiteren Motor mit 43 mm und 7 PP. Alle Motoren laufen mit der Gimbal-Elektronik vollkommen geräuschlos (getestet bis 120 RPM) und linear bei einer Winkelgeschwindigkeit von 5 Grad pro Minute (langsames Fahren, fast im Stillstand). Die Gimbal-Elektronik wird dabei ohne Motor-Kalibrierungstabelle betrieben.

Meine Software-Versionen:

  • Arduino IDE 2.3.3
  • Simple FOC 2.3.4 (auch mit 2.1.1 getestet)
  • CPU: ESP32
  • Testprogramm: 4_close_loop_velocity_example.ino

Das gleiche Problem tritt auch im Open-Loop-Modus auf.

Wie kann dieses Phänomen beseitigt werden?

Grüße aus Bayern
RomanF

Hello!

With the closed-loop speed control “Velocity Control”, all of my tested motors make small jumps at very low speeds (approx. 0.1 to 0.3 rad/s), similar to a stepper motor, of approx. 1 to 1.5 degrees each. This causes problems when driving (direct drive with a wheel with a diameter of 120 mm).

In addition, this effect leads to a strong humming of the motor at higher speeds (I use up to 16 rad/s). In my opinion, this is due to the too coarse angular steps in the sine control.

I tested this with gimbal motors with a diameter of 60 mm and 21 PP and another motor with 43 mm and 7 PP. All motors run completely silently with the gimbal electronics (tested up to 120 RPM) and linearly at an angular velocity of 5 degrees per minute (slow driving, almost at a standstill). The gimbal electronics are operated without a motor calibration table.

My software versions:

Arduino IDE 2.3.3
Simple FOC 2.3.4 (also tested with 2.1.1)
CPU: ESP32
Test program: 4_close_loop_velocity_example.ino
The same problem also occurs in open loop mode.

How can this phenomenon be eliminated?

Greetings from Bavaria
RomanF