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