cancel
Showing results for 
Search instead for 
Did you mean: 

Microcontroller getting damaged when connecting to a VCU

Gladson
Associate III

I am using STM32G0c8t6 microcontroller to make a BLDC motor controller. I am connecting the Rx and Tx of UART to a VCU and they are sharing the same battery. Apart from these, there is no other connection between them. And sometimes, for some unknown reason the microcontroller is getting shorted when UART is connected. It is not happening every time, so I am unable to monitor the voltages, etc at the exact moment. On one of the damaged microcontroller, the Tx pin of microcontroller was shorted to ground and Vcc. Rx pin as intact. What could be the potential causes or how can I identify the root cause? how can I protect microcontroller in this case?

This is how they are connected.

Untitled (1).png

1 ACCEPTED SOLUTION

Accepted Solutions
ONadr.1
Senior III

I would put a resistor (1k-2k) in the Rx and Tx signal lines. I would put them in place of those OR jumpers. It will limit the current of potential spikes into the substrate diodes and thus prevent them from breaking through. If this didn't help either, I would solve it with an optical separator, which would also solve the problems with interfering with data transmission by noise in the GND distribution.

View solution in original post

7 REPLIES 7
ONadr.1
Senior III

The problem is most likely caused by the presence of a higher voltage than is acceptable on the MCU pins assigned to the USART. It can be caused by a bad design of the GND line, incorrect values of Hi,Lo signals on the serial line, etc... Try to see with an oscilloscope what is happening on the serial line (relative to the GND of the MCU). Level converters, buffers, optical separators can be used as protection.

I checked it on oscilloscope, but it did occur that time. It happens occasionally. But when checked on oscilloscope, I noticed that the ground was lifted above the ground level in some parts of the signal. Also there is noise on the signals when the switching circuit draws current above 7 to 8 amperes.

UART issue.png

This shift at higher engine power indicates a fundamental problem with the GND rail topology,or the conductors are wrongly dimensioned for the given currents. A diagram and a photo of how it is actually implemented would help, otherwise it is impossible to come up with a specific recommendation.

The MCU doesn't want to be the conduction path for 7 to 8 Amps..

Make sure there are more direct paths 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

tx rx (1).png
This is how the ground and 3.3v are placed near microcontroller and UART pins.
The unused pins are also connected to ground, is this the correct approach to deal with the unused pins?

The higher current is passing only through the switching circuit, MCU and the switching circuit shares the same battery but the MCU has a power regulator circuit between it and battery. So except Rx and Tx (it is connected to VCU), all other pins are not in conduction path of higher current.
The Rx and Tx also operates on 3.3v, but not sure what happens at the exact moment the MCU is damaged.

ONadr.1
Senior III

I would put a resistor (1k-2k) in the Rx and Tx signal lines. I would put them in place of those OR jumpers. It will limit the current of potential spikes into the substrate diodes and thus prevent them from breaking through. If this didn't help either, I would solve it with an optical separator, which would also solve the problems with interfering with data transmission by noise in the GND distribution.