cancel
Showing results for 
Search instead for 
Did you mean: 

Drone stability issues were observed during testing after assembling the drone with the B-G431B-ESC1

Research_Associate
Associate II

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.

7 REPLIES 7
GMA
ST Employee

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?

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA

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:

  • Our drone becomes unstable only during takeoff, and we are currently testing in Loiter mode.
  • We are focusing solely on FOC, so we have not tested the 6-step algorithm.
  • I’ve attached a reference image for your review.
GMA
ST Employee

Hello @Research_Associate,

Could you run a test with 6-step algorithm that is more efficient for a small high-speed motor?

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA

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.

Research_Associate_0-1745918401047.png

 

Hello @Research_Associate,

ESC input uses TIM2. You have to select another timer for the speed sensing config.

GMA_0-1745920484803.png

 

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA

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.

GMA
ST Employee

Hello @Research_Associate,

Which MCSDK version are you using? 
With MCSDK6.3.2, I do not have such error.

If you agree with the answer, please accept it by clicking on 'Accept as solution'.
Best regards.
GMA