Non-liearities correction calibration does not work
  • I have 3 14-pole motors on my gimbal, Firmware ver.: 2.63 b0, board ver.:3,6.

    For some reason when I try to calibrate motor non-linearities correction I get a message "Error: failed to process calibration".
    Yes, I have deleted previous calibration data and selected all axises for calibration.

    What can be the problem here and how to fix it?
  • Hello!
    Actually I can not say why it is not working, because there are no detailed error status send by the firmware. Check the following conditions:
    1. Motors are turned ON and stabilization is working.
    2. you selected at least one axis to calibrate.
    3. you understand what all other parameters mean and they are set correctly.

  • I have the same problem...

    Using SimpleBGC32 GUI v.2.63 b0 on a Windows machine
    Using a board labeled SBGC v.3.7 "Extended" (GUI reports it as 3.6)
    Firmware: 2.63 b0 (with encoders)

    The motors are ON, I deleted the previous data, and selected just the PITCH motor to calibrate
    I'm using the default calibration parameters: 180 deg., 30% smoothing, speed = 30, period = 10 (auto-detect selected), 2 iterations

    MAVLink is disabled, RC_ROLL pin mode = Normal, there are no I2C errors

    I've tried starting the calibration with my encoder enabled and disabled. I've tried starting the calibration when I'm connected to the board by WiFi and by USB. Nothing makes a difference -- I always get the "Failed to process calibration" message.

    Has anyone ever gotten this function to work? What else can I try?
  • Hello!
    Does gimbal works in the "encodedr" mode? It means that encoders are enabled, functional and calibrated for offset and el.field offset. The "motor power" indicator is near zero.
  • Hello Alex,

    Thank you for your response! Admittedly, when I first set up my system I just skimmed through the "Using encoders with SimpleBGC 32 controllers" document -- so I did not realize that the EL Field Calibration and Offset MUST be performed for the motors to start working in the field-oriented control mode (I assume this is the "encoder" mode you were referring to). I thought just enabling them for each axis would do the trick since I was able to read their output on the Monitoring tab...

    Now that my encoders are properly calibrated the Non-linearities Correction starts without any issues!

    One last question(s) for you: I noticed that the Non-linearities Correction only sweeps in one direction. I have some slight misalignment which makes my axes "stiffer" at certain angles. The N-L Correction does not sweep through these angles (they are in the opposite direction)... How is the look-up table (LUT) implemented? Does it create a periodic pattern of corrections based on the motor's poles? Or is it a "full" look-up table (every angle swept through is assigned a "unique" correction)?

    Thanks again!
  • Glad that it works now.

    It is very important to have free run of motor to calibrate non-linearities and low mass linked to it, because the range of forces that non-linearities produce, are pretty small. If you have bad balance or friction in the system, this calibrations will give wrong result. Calibration should make 2 passes, forth and back - it is important, too.
    Calibration LUT is full. Period is detected, but it's used for smoothing and optimizing of LUT size only.
  • Good to know! Thanks for the information