GM6208 calibration

Hi,

this is the sister post related to this ticket. I am now testing the GM6208 and the situation is even more problematic: the zero angle ranges from 2.4 to 3.2. As in the other ticket, if I launch the calibration from the same spot the angle is very repeatable. If I move by hand the rotor before each calibration the values are really different. I have checked the encoder: I find the 2 holes PCB very problematic as it does not lock the PCB at one given position. I have tried 6/7 times to align the encoder to the rotational axis as much as I can do by eye. To me it seems reasonably aligned and the magnitude values range between 2930 and 3200 over a complete revolution. AGC gain is always fixed at 255. Any advice?

2 Answers

2

Hi @modo,

Are these calibration values problematic?
If you do not get a big disparity in speed reached in different directions of the motor, this might not be a big issue.

If you want a better value, I’d suggest using either:

  • higher motor.voltage_sensor_align which will force more current through the motor and potentially overcome the cogging more systematically
  • use CalibratedSensor class from the drivers repo. This will do the calibration of the motor/sensor to eliminate the potential missalignement, as well as estimate the zero angle using the full motor rotation, not just one position what we do now.

Hi,
thanks for the answer: I see that some values are really bad to steer the motor. To make it better, I fine tune the angle manually till the current consumption is low and the motion is smooth. I have tried with different voltage_sensor_align values (from 2.5V to 7V), but the behavior is the same. After the calibration, depending on where the motor is, the smoothness of the motion (with the same dynamic in terms of angle to travel and related speed) varies: I thought about an encoder displacement but as I said I can not detect any big misalignment of the AS5048A. I will try the CalibratedSensor for sure. As a side note, do you think it would be beneficial to add some parameters to the default calibration (e.g. multiple points check / travel extent / whatever)? If so I am willing to help with the implementation.

Thanks