cancel
Showing results for 
Search instead for 
Did you mean: 

Custom board MCU shorted and sensed voltage too low.

MEmmo.1
Associate II

I am having trobule getting a custom motor control board to work. The design of the custom board is really close to the STEVAL SPIN 3201. So it uses the STSPIN32F0 and is supplied with 24V.

When I start the motor and ramp up to the point where the board draws around 10A from the voltage source - a speed feedback or under voltage fault occurs or the mcu gets shorted (no smoke or any visible signs).

I noticed that going up in speed the MC Workbench Monitor shows that the board detects lower bus voltage than the supply voltage (which stays constant during motor Operation at 24V) so that eventually an under voltage fault may occur if there is no speed feedback fault before..

On two boards the MCU got shorted (VDD connected to GND) after running the motor a few times.

Currently I have no idea what could cause the sensed voltage to be too low and the shortage in the MCU. I think these two issues are connected to each other.

I verified that the bus voltage sensing network is correct. When the motor does not spin the sensed voltage matches the supplied voltage. The sensed voltage continuously decreases when spinning the motor faster.

After removing one of the dead MCUs from the circuit I could confirm that the GND VDD shortage comes from inside the MCU.

Could the shortage in the MCU be caused by EMC problems?

At first I thought the minimum dead time configured in MC Workbench might be too low for the mosfets but after calculating the exact values I noticed that the minimum dead time is set far higher than the required minimum dead time (required below 100ns but Minimum dead time is set to 700ns). I also did not connect any input or output pins when the MCU got shorted (I did only modify the firmware using MC Workbench and I did not include any custom code).

Do you have any suggestions where the problem could come from or what I can do to find the error?

4 REPLIES 4
Danish1
Lead II

What I suspect you're seeing is "destructive latch-up" of your stm32 microcontroller. This can happen when any of the input pins is brought more-positive than Vdd or more-negative than Vss.

It used to be very common with early CMOS devices made in the 1970s. Modern components are much more robust but that does not mean they are totally immune.

Are you certain that none of the pins on the stm32 ever go outside the range Vss to Vdd? Particularly with switching spikes - all motors are very inductive so turning off the current through any of the coils can cause a huge voltage spike. Unless you clamp that spike very effectively, or isolate the stm32 e.g. by opto-isolators, then sufficient energy from the spike can get back to your microcontroller to kill it.

Regards,

Danish

Dvorak.Peter
Senior II

I suspect PCB layout or low quality capacitors are the culprits

MEmmo.1
Associate II

@Dvorak.Peter​ @Danish​ Thanks a lot. I think it might be a problem with switching spikes and I will try to use external capacitors as soon as I can (there is no working board right now). The only thing that remains unexplained for me is how the voltage spikes could cause the bus voltage sensing to deliver values that are too low, because the switching voltage spikes should be really short. I hope external capacitors will help anyway.

Laurent Ca...
Lead II

Dear @MEmmo.1​ 

Do you have still this problem to solve?

And just in case, if not, do not hesitate to share the final solution you found.

Best regards

Laurent Ca...