3

The unsolved: when I connect power and signal lines to my Arduino - while power is on - I potentially kill it. I have fried 2 so far.

Situation:

  • I have build an DMX-controlled lighting fixture, which consists of the fixture and a Controller Box.
  • The fixture houses 2 Arduino's (5V), 2 steppers, 2 drives (36V), 2 fans (24V) and some temperature sensors.
  • The controller box houses 1 Arduino, amongst other electronics.

The controller box receives DMX and does calculations an send controls via I2C to the fixture.

There is a 8 pole connector between fixture and controller box.

1 - GND
2 - 5v
3 - 24v
4 - 36v
5 - CLK (i2c)
6 - SDA (i2c)
7 - signal line (used as charge pump)
8 - reset

All wires are shielded(but the shield is only connected AFTER the initial pins make contact)

When the power on the controller box is ON and i connect the light Fixture with the 8-pole connector my arduino goes to heaven.

My own idea's so far:

  1. Voltage spike, because the connection wires is grounded after it connects the pins.
  2. Some strange flyback? via the Arduinos in the light fixture? I connected everything straight to the 5v pins, not using the regulator.
  3. no idea

Any help on a way to search for the most likely cause of the problem would be greatly appreciated.

  • This apparatus may well have dangerous design defects to begin with which would desperately need correcting, but even if not you should not try to hotplug it. Think about what would happen if the 5v and 36v lines were connected but the ground was not yet - while the grounds of the 36v and 5v systems are presumably connected together on the remote side. It seems like you could easily end up with 31v across the series combination of the 36v load and the Arduino... backwards. – Chris Stratton May 18 '15 at 17:59
  • Hmm, i dont understand fully. But would it mean that the 36V uses the 5v as a gnd? somehow and thus it puts 31V on the 5v side? That would really hurt the feelings of the arduino. – captainSpark May 18 '15 at 18:17
  • Yes - current will flow through whatever path exists. Consider if that 36v gizmo has a big capacitor across the supply input. Discharged, it will initially look almost like a dead short. So pretty much the entire difference between the 36v and 5v rails briefly shows up across the Arduino components - and backwards at that. – Chris Stratton May 18 '15 at 18:27
  • Thanks Chris, Yes that gizmo has a big capacitor so this makes sense and is indeed a major design flaw. Hmm so 2 things to do. 1 find a connector that grounds first. 2. use SSR or relay to switch on the 36v powerdrive, only after i have a proper I2C connection made. – captainSpark May 18 '15 at 18:52
  • Also consider a Ruggedino as a 2nd tier kind of protection. While it's possible it would survive, I'd suggest making the design improvements first. ruggedcircuits.com/microcontroller-boards/… – Chris K May 29 '15 at 0:06
1

There's usually a number of scenarios that can cause hardware to go poof when you plug it in to a live system. Most of them you have managed to identify, so I won't go into detail here.

Suffice it to say that creating hot-pluggable devices isn't as straight forward as you would at first guess.

There are two main critical things to consider when designing your system:

  • Suppression

Invest in TVS diodes to suppress ESD. All the IO pins that connect to the outside world that will be liable to be disconnected or connected at any time should be protected by adequate suppression. Any inputs should also ideally be tied to a default state with pullup or pulldown resistors so they aren't left floating.

  • Connector

The connector itself is pretty critical. Hot-plug connectors typically have different pins of different lengths so that they connect in a specific pre-determined order. Normally you want your ground and shield to connect first. Then your power supplies, and finally your IO pins. Doing it in any other order is asking for trouble - such things as back-powering through the IO pins if the supply hasn't been connected.

If you can't use a proper hot-plug connector then there are ways you can simulate it internally. You can add hardware (buffers, reed relays, FETs, whatever, depending on your signals) which normally isolate the signals from the MCU, and only when the MCU is powered up and ready does it then activate the buffers to allow the signals through. Of course, the buffers themselves have to be able to withstand any possible back-powering etc while the plug is being inserted.

One other small trick is to ensure that all your IO lines have a series resistor in them. This limits the maximum current that can ever go in or out of a pin (at a specific voltage of course) to a level that is safe for the hardware. 470Ω - 1KΩ are good values.

  • 1
    that makes a lot of sense to have a connector with different pin lengts to connect to ground first. I'm going to try and source that. Would those TVS diodes influance the fast i2c signals? The idea was nto to make a Hotswapable device, its just that the poroject got out of hand and it needs to go on tour for 1 or 2 years and i'm sure this will happen.... – captainSpark May 18 '15 at 18:23
  • TVS diodes shouldn't affect the signals, no. They only come into effect when you get out-of-range voltages. For more info on hot swap connectors you can read wikipedia: en.wikipedia.org/wiki/Hot_swapping – Majenko May 18 '15 at 18:26
  • Thank you Majenko, you gave me new leads to research. thats great help, thank you. – captainSpark May 18 '15 at 19:19
1

If you ever drive an I/O more than a diode drop above or below its power supply rails, the internal ESD protection structure will begin to conduct. The internal structure is only there to keep the part alive during normal handling, i.e. in a factory but not for the situation described above. If the current in this structure is allowed to go high enough, it looks like an SCR and "Latches" up. When latch up occurs the device, like an SCR, will keep conducting as much current as the power supply rails are capable of until the current is removed and usually results in device destruction. The way around this is to limit the current that may flow into a pin, and prevent current from forward biasing the ESD structure: http://www.tayloredge.com/reference/Electronics/EMIESD/InputProtection.pdf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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