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.
2025-04-24 5:50 AM
Hello @Research_Associate,
Are you using sensor less ST Observer FOC algorithm to drive your drone motors? If yes, Speed ramp-up initial phase will be improved for next delivery.
Do you have also stability issue in steady state?
On the other hand, did you try BLDC 6-Step algorithm?
2025-04-24 6:10 AM
Hello @GMA,
Thank you for your Replay.
We use the sensorless FOC (Field-Oriented Control) algorithm to drive our drone.
Could you please clarify your earlier question:
If yes, speed ramp-up initial phase will be improved for next delivery.
We would appreciate more details on the improvements expected in the next firmware delivery regarding the initial ramp-up phase.
For context:
2025-04-28 2:10 AM
Hello @Research_Associate,
Could you run a test with 6-step algorithm that is more efficient for a small high-speed motor?
2025-04-29 2:20 AM - last edited on 2025-04-29 2:34 AM by Andrew Neil
Hello @GMA
Thank you for your response.
As per your suggestion, we implement 6 step algorithm using MC Workbench 6.3.0. but we are getting the below error, as mentioned in the attached image. we are using B-G431B-ESC1 inverter board from ST Microelectronics.
2025-04-29 3:01 AM
Hello @Research_Associate,
ESC input uses TIM2. You have to select another timer for the speed sensing config.
2025-04-29 4:35 AM
Hello @GMA
We tried your suggestion and used Timer 3, but we are still encountering the same error.
Error Details.
File Name : mc_config_common.c
line number 113.
2025-04-29 5:14 AM
Hello @Research_Associate,
Which MCSDK version are you using?
With MCSDK6.3.2, I do not have such error.