cancel
Showing results for 
Search instead for 
Did you mean: 

Why does the ST Motor Profiler blow up the B-G431-ESC1 development board?

MAnde.11
Associate III

I have loaded the ElectronicSpeedControl_ESC-G4 example onto the B-G431-ESC1. When I start the profiler it changes the code to be whatever it wants. I put in the Max current=5 Apk in the gui to be safe. If I limit the current on the power supply to 10 A or so and then run the profiler, the power supply will current limit and the Over Voltage fault will occur on the profiler about half way through the cycle while the motor is spinning. If I raise the current limit up, it blows the B-G431-ESC1 with an impressive display of sparks.

This is ST Motor Pilot V1.1.5 - profiler after installing into non default location so that it can connect with ST-Link.

What am I getting wrong here?

5 REPLIES 5
MAnde.11
Associate III

Cool, guess nobody really uses this. Or I'm doing something really dumb. Or both.

JKong.3
Associate III

@MAnde.11 Hi, I had the same issue. My situation was

PSW : 22.2V, 10A

Profiler : 12 pole pair, 8000 rpm, 10A(Ipk)

I reduced the max current of the PSW to 3A and peak current for profiler to 3A, and it works well.

I'm not sure how this got to be the accepted solution. It is interesting to know...but it doesn't really solve my problem. I was more wondering why the software isn't capable of limiting the current to a safe level for the hardware. And if I shouldn't run it at 5A where is that information.

Gael A
ST Employee

Hello MAnde.11,

First of all, we would like to apologize for the delay in replying to your post.
If your point is still relevant, I may have some answers to the issue you were facing.

- The B-G431B-ESC1 board is designed to be used in a cooled environment (usually air-forced cooling such as in a drone) as it is heavily subject to heating.
The Overcurrent is designed with a maximum of 45 A as long as the cooling is respected. To be precise, given a Rshunt of 0.003 mΩ, the maximum Vshunt would be Vshunt = Imax * Rshunt = 45 * 0.003 = 0.135 V.

This leads to a voltage at comparator input of 0.2V

The value of the DAC (DAC_OCP_Threshold in mc_parameters.c) is set at 4083, which gives a maximum of Vmax = 4083 / 65336 * 3.3 = 0.2 V.  The DAC reference seems to be set correctly in regard to the maximum current.
However, the Profiler is designed in a way that the start-up phase may be repeated several times to tune a set of different parameters. This implies injecting high current into the board and heating it even more. This phenomenon is especially true for motors with unusual values of Rs and Ls, or if the arbitrary speed gains given by the Profiler are not fitted enough for your specific motor. This may be the reason why the Profiler blew your board up.
By downloading MCSDK 6.2, know that the Profiler flow has since changed and it now allows you to update your Profiler speed gains to a more suitable value.


- Another reason would be that when facing an overcurrent, the Profiler stops immediately the current by shorting your motor phases. This can cause a surge in current coming from your motor, thus damaging your board.

- A control loss is always possible, leading to an uncontrollable speeding up of your motor, and current increase until board damage. A speed limit through Profiler UI should solve the issue.

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.

Hope this will help,
Gaël A.

It is still relevant, and I thank you for the reply. I will try again with the latest software and see how it goes.