2025-04-23 11:08 PM
Hello,
We are currently developing a drone using B-G431B-ESC1 motor control boards, and we have encountered stability issues during flight testing.
Components Used.
Radiolink Flight Controller
Readytosky 920KV BLDC Motors
3S LiPo Battery
1045 Propellers
We characterized the motors using Motor Profiler firmware generated with Motor Control SDK v6.3.0. The resulting motor JSON file was used to generate the ESC firmware for testing.
After assembling and configuring the drone, we observed that the drone is not stable during flight.
To address an issue related to motor ramp-up during startup, we modified the PID integral term initialization in the mc_tasks_foc.c file. Specifically, we replaced:
PID_SetIntegralTerm(&PIDSpeedHandle_M1,
(((int32_t)FOCVars[M1].Iqdref.q * (int16_t)PID_GetKIDivisor(&PIDSpeedHandle_M1))
/ PID_SPEED_INTEGRAL_INIT_DIV));
with:
PID_SetIntegralTerm(&PIDSpeedHandle_M1, 2);
This was done in an attempt to eliminate the motor ramp-up to max RPM in the initial phase. However, the stability issue still persists.
We would appreciate any guidance or suggestions to help resolve this issue.