0
\$\begingroup\$

I have an Atmega4809 (Arduino Nano Every) connected via UART (Rx,Tx,5V,GND) to a BLDC controller. Then I have connected a little display (Rx,Tx without GND.)

When it is connected everything works fine. When I follow the connection, disconnection steps, nothing gets damaged.

The BLDC controller and display are connected to a DC source of 42V and GND separately

When I disconnect the BLDC controller and reconnect it, it gives a spark because the capacitors are charging. The display remains attached.

When this happens it destroys my Atmega4809. It gets very hot and it is irreparably damaged.

Could it be that some current flows through from the BLDC Controller to the Atmega4809 to the fisplay to GND and not over the connector when it sparks?

Can this fixed by an electrical circuit or component?

\$\endgroup\$

2 Answers 2

2
\$\begingroup\$

A diode from GND pointing to 5V is a good idea. Also, resistors in series with the RX and TC (maybe 270 ohms). When you connect the BLDC, perhaps it is actually 'bouncing connection' with many small spikes over a few milliseconds. With these high currents you will get spikes of a few hundred volts lasting only micro-seconds. These will be discharging wherever they can. The diode from ground to 5V should help, the resistors are on the TX and RX are an extra precaution.

\$\endgroup\$
3
  • \$\begingroup\$ 1N4004 or higher should do that job? With the risistor the Rx, Tx should be protected because the current search the less resistance? Can you add me, where i can inform more about "why high current spikes, creates high voltage", thank you very much, maybe i will kill another Atmega. \$\endgroup\$
    – G.Vitelli
    May 10, 2020 at 15:33
  • \$\begingroup\$ I used a 1N4007 GND -->|-- V5 created alot of sparks and the Atmega keeps running, the 5V supply comes from the drv8302 of the bldc controller. So i will test it more. \$\endgroup\$
    – G.Vitelli
    May 10, 2020 at 19:37
  • 1
    \$\begingroup\$ Why high current causes voltage spikes: The wire has a magnetic field. If you wind it in a coil then it has a more concentrated magnetic field (inductor). But even if it just a straight wire, it still has some magnetic field. Think of it as momentum, like a moving car or a spinning wheel. When you suddenly disconnect the wire, you are jamming on the brakes. The current wants to keep flowing, the magnetic field keeps pushing electrons. The voltage spikes up, you will see sparks as the electrons are pushed across the air gap, (it happens in micro seconds). \$\endgroup\$ May 13, 2020 at 9:58
0
\$\begingroup\$

You shouldn't connect/disconnect circuitry while power is applied - if the ground is disconnected first you can put damaging currents through the signal path.

\$\endgroup\$
3
  • \$\begingroup\$ The bldc controller has very large capacitor that create the charging currents, when i plug the XT60 connector sparking happens everytime without motor load or any other consuming source. \$\endgroup\$
    – G.Vitelli
    May 10, 2020 at 19:27
  • \$\begingroup\$ @G.Vitelli - you must have power on if you get sparks. You shouldn't be plugging anything if the power is active. What signals go through the same plug? \$\endgroup\$ May 10, 2020 at 21:40
  • \$\begingroup\$ I don't have a power switch it's a 10p5S Lithium Battery that gets connected. So when the capacitor are empty and i connect the XT60 it will spark. I tested the fly back diode and it seems to solve my problems. I had connected before the 5V from the BLDC Controller to the VIN of the arduino and not the atmega was gone, it was the voltage regulator, the power led starts to blink and the regulator starts smoking. \$\endgroup\$
    – G.Vitelli
    May 11, 2020 at 4:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.