2022-07-22 08:24 AM
Hello,
The first torque ramp command that I start always has a strong overshoot/an unwanted motion. The same command applied right after, with or without having stopped and restarted the motor, behaves as expected.
All the next speed ramps are executed without this overshoot.
I expect the motor to not moves when I set and start a torque ramp to 0 s16A in 0.05s and that the motor is already not moving, and without resistive torque applied.
What could be the cause of this phenomenon ?
Setup:
2022-07-22 08:24 AM
Test sequence (pseudocode), executed on a "master" microcontroller that sends MCP commands over UART to the Nucleo G474 attached to the IHM08M1:
/// Initialization sequence
HardResets of NucleoG474RE + IHM08M1;
Delay 10ms, /* Let time to boot */
Delay 500ms; /* Time to charge capacitors on IHM08M1. Motor may run out of control if commands are sent before this delay */
/* Trigger encoders aligment */
SetSpeedRamp(0.0 rpm, 0.0 ms);
StartMotor();
Delay 1s /* Executing current ramps to force the motors in a known position. Aligment ramp duration 700ms configured in MotorControlWB GUI */
StopMotor();
// Few seconds later, this command will make the motor spin very quickly during 100-300ms,
// The speed decreses very quickly until it stops spinning
// Excpected behavior: the motors does not moves as it is idle and orque ramp final value is 0.
SetTorqueIrefRamp(0.0 s16A, 0.05s);
MotCtrlStartMotor();