Electronic – Why did this arduino burn out? SilentStepStick (TMC2130) stepper at 24V

atmega328pgroundgroundinggroundloopsstepper-driver

I'm new to electronics.

Attempting to bench-test a SilentStepStick stepper driver board, (based on a TMC2130)

Using: Arduino Uno, a SilentStepStick driver board, a 0.6A stepper motor, and waterott example code (using SPI).

The motor turned as expected, code and wiring appeared to function, for about 30 seconds, Then "all the smoke leaked out" of the ATmega328P, in the Arduino, and the Stepper Driver burnt out also.

Process & Problem Description:

  1. Turned on 24v power, as per datasheet 24v must be connected before 5v (VIO).
  2. Plugged in arduino USB-B plug, did notice some faint blue sparks, between the grounding parts of the connectors. Didn't realise significance.
  3. Motor turned, code worked.
  4. After about 10 seconds noticed a very faint burning smell, disconnected arduino and checked motor and driver for heat, none found.
  5. Reconnected for 10 seconds, faint burning smell resumed again, disconnected arduino.
  6. Reviewed code, found example code was setting current to 50%
  7. Changed code, lowered current to 6%.
  8. Reconnected, motor turned ok, smell returned, then a few seconds later the ATmega328P visibly fried, stepper driver was fried also.

I have triple checked all wiring prior to posting this, all seems correct. Perhaps too much current was applied?
If so, I am unsure why that would affect the arduino – isn't it just providing signalling? Or did 24v somehow make it's way to the arduino?

Here is the wiring diagram:
enter image description here

I have power from the arduino 5v rail to Vio, and GND->GND, and the 24v power supply is connected to VM & the second ground. All SPI and stepper control pins are connected.

Why did it blow up?

UPDATE:
-If I measure voltage between the ground of the USB cable, and the arduino ground, when the cable is not plugged into the arduino – then I see 24 volts (!)
– It is clear that 24v is going through the driver, and into the arduino, over the 5v rails (Vio).

  • Per helpful advice from comments, issue is likely with grounding: Arduino is powered via USB, from an Intel NUC Desktop, which is powered by DC only – no ground.
  • The 24v power supply is grounded to earth.

UPDATE – Solved:
-Thanks to the gracious advice from the comments, solution found.
-The Arduino logic power suppy was via USB, from a "Intel NUC" DC-powered desktop – there is no earth.
-The 24v comes from an earthed power supply.
-The two devices do not share a common ground, & the 5v is not earthed. I presume this to mean the 5v power supply is "floating" relative to the 24v power supply, and this is what caused the issue.
-The problem was resolved by obtaining an earthed 5v DC power supply, and connecting the ground of the 5v supply to the ground of the 24v power supply.
-Images provided below to clarify. Only power wiring shown for clarity

Original Problematic Wiring:
Problematic Wiring

Solution Wiring
enter image description here

I would be very happy to accept a formal answer to this – if someone wishes to state in technical terms, what likely occurred in the first wiring diagram, that would be great and perhaps make this a useful question.
Summary: In the first diagram, one power supply was not earthed, and the two power supplies did not share a common ground. The result was: a visually burnt TMC2130 driver, a visually burnt ATmega328p in the arduino, and some black burn marks in some sockets on the breadboard.

Best Answer

I'm not entirely sure, but I think your 24V somehow ended up in the Arduino. I would place the 24V rail and the 5V rail on opposite sides, that's why your breadboard should have one rail on each side. Sometimes they even come with 4 rails, indicated with a small gap in the lines on the side rails.

Technical schematics often use + and minus opposite to the way they work in reality. So these two grounded transformers can indeed create a potential of 19V across the 24V and the 5V connection. That's how you get 7V if you want to run a 12V fan silent/slower in a PC.