0
\$\begingroup\$

I'm powering five Arduinos and four LED strips (600 LEDs total) from an ATX power supply (CoolerMaster B2 Series 700W). Four Arduinos drive the four LED strips, and the fifth Arduino periodically cycles the power supply to keep the LED strip animations in sync.

The restart interval is approximately 2 minutes and will be running for about three hours per night over December (i.e. around 2700 restarts for the month).

Is it safe to be cycling the power supply this frequently? I'm a bit uneasy about leaving this to run whilst I'm not at home. I imagine my alternative would be to use relays or MOSFETs to cycle the Arduinos.

\$\endgroup\$
  • 2
    \$\begingroup\$ ..what? You are cycling power to sync animations? There are way easier ways to achieve this.. You could even use a single Arduino to control the 4 strips, if I'm not missing anything. \$\endgroup\$ – Wesley Lee Nov 20 '16 at 22:07
  • 5
    \$\begingroup\$ Cycling the power supply to sync the animations is just wacky. If you must seriously go that route, periodically reset the arduinos instead of the PSU. \$\endgroup\$ – marcelm Nov 20 '16 at 22:26
  • 1
    \$\begingroup\$ @BrianDrummond Arduino's (at least the uno/duemilanove I'm familiar with) have a 16MHz crystal. So you raise a fair point, why are they getting out of sync? Maybe the OP is using something else... Stab in the dark: the calculations required for the animations differ per arduino, and the OP is not using timers. \$\endgroup\$ – marcelm Nov 20 '16 at 22:37
  • 1
    \$\begingroup\$ I would prefer to have the master Arduino "kick" the slaves periodically, perhaps via an interrupt input, rather than cycling the power supply. What powers the master Arduino while the ATX supply is off? \$\endgroup\$ – Peter Bennett Nov 20 '16 at 22:40
  • 1
    \$\begingroup\$ @marcelm Maybe worth asking, but first : your reset trick is a good fix. \$\endgroup\$ – Brian Drummond Nov 20 '16 at 22:41
2
\$\begingroup\$

If you have your mind set on power cycling the Arduinos, why not do the following? This way you don't have to restart the whole PSU.

Make sure you get a FET that can handle all the Arduinos (or you can use one FET for each Arduino).

schematic

simulate this circuit – Schematic created using CircuitLab

Another solution that ocurred to me is.. why not control the ATX PSU the same way computers motherboards do?

Put a FET/relay (or even control it directly as per this tutorial) between the Pwr_On and GND pins (on which I believe you must have some jumper if you are using ATX PSUs).

enter image description here

So.. not many external components, the problem with inrush current in the input caps is gone, and.. you got the power cycle you wanted.

\$\endgroup\$
  • \$\begingroup\$ Thanks for the suggestion! If my current setup is considered unsafe, I'll definitely be looking to implement a setup like this, so having the schematic is really useful. However, hopefully my current setup will get me through the coming month, then I can focus on my ideal solution for next Christmas. \$\endgroup\$ – Chris Parton Nov 21 '16 at 3:18
  • \$\begingroup\$ @ChrisParton -- just ocurred to me, you can control the ATX output by the connector.. So no need for the FETs, and the input inrush current problem is kind of solved. I still think it is weird to power cycle the Arduinos though :P \$\endgroup\$ – Wesley Lee Nov 21 '16 at 3:53
  • \$\begingroup\$ This is how I'm currently cycling the power supply Wesley, I used that exact tutorial :) The whole power supply still seems to cycle down (i.e. the fans stop), but I don't know how to be certain. What are your thoughts about that? I agree that it's weird, but it's only a temporary solution :) \$\endgroup\$ – Chris Parton Nov 21 '16 at 4:30
  • \$\begingroup\$ Oh! So.. this is better than what I thought you were doing (like an SSR or Relay at the AC side) as its more similar to the daily use a computer would see (like turn on once or twice a day). 2700 restarts would be about 7 and a half years of daily boots, which seems viable for a good PSU (and you dont have cap aging problem in a month). If you are into learning electronics though, I'd give a go at the mosfets approach (or even syncing a reset pulse with a simialr fet schematic). If for whatever reason it doesnt work, you can still fall back to this method. \$\endgroup\$ – Wesley Lee Nov 21 '16 at 4:59
  • \$\begingroup\$ Thanks Wesley. My next approach will be entirely different. I'm going to use ESP8266 Wi-Fi chips to poll a server for animation data. This removes the synchronisation responsibility from the microcontrollers, which means there'll be no need for any cycling. Work in progress: github.com/chrisparton1991/sparkled. Hopefully self promotion in a comment isn't frowned upon too much :) \$\endgroup\$ – Chris Parton Nov 21 '16 at 5:04
2
\$\begingroup\$

Some power supplies use an NTC thermistor for inrush current limiting. This works by initially presenting a large resistance while cool, so that the input capacitors charge slowly, then reducing in resistance as it heats up, allowing larger currents. The problem is that if you cycle power quickly, the thermistor may not have a chance to cool down, and you would get a huge inrush current, potentially blowing a fuse or overheating the capacitors.

This is not all that likely to actually happen (especially since many power supplies uses other inrush limiting approaches), but it is theoretically a problem. Everyone telling you that it's a bad idea to cycle the power just to synchronize animations is correct.

\$\endgroup\$
  • 1
    \$\begingroup\$ Thanks Abe. I keep the power supply switched off for around 5 seconds before turning it back on, but if cooldown is an issue then that amount of time would do little to help. I think I'll look at using a FET as suggested. \$\endgroup\$ – Chris Parton Nov 21 '16 at 3:45
  • \$\begingroup\$ Abe, do you think this inrush current problem applies when cycling the power supply by controlling the PWR_ON pin as per Wesley's answer? This is what I'm currently doing. \$\endgroup\$ – Chris Parton Nov 21 '16 at 4:32
  • \$\begingroup\$ No, I'd expect cooldown to only be an issue when cutting the input power. The PWR_ON control is likely turning on the active circuitry, which would all be after the input stage. (If the inrush current limiting is for some odd reason controlled by PWR_ON, then it's active and so not a thermistor, so cooldown still isn't an issue.) \$\endgroup\$ – Abe Karplus Nov 21 '16 at 4:35
  • \$\begingroup\$ Thanks for the quick reply! It sounds like my admittedly ugly solution should suffice for the next month then. \$\endgroup\$ – Chris Parton Nov 21 '16 at 4:38
1
\$\begingroup\$

Addressing the question at hand, I do not see a problem with reseting an ATX power at that frequency. The only moving parts in there are the cooling fans if I'm not mistaken. Since this is the only non-resistive load, I think it should be fine.

***Not sure what I was thinking, clearly the cooling fans aren't the only non-resistive load. My mistake.****

\$\endgroup\$
  • 1
    \$\begingroup\$ If anything, ATX supplies are a dime a dozen. A new retail one is 15 to 50, and you can find them thrown out with computers all the time. Even if the supply dies from these constant reboots, its not even a bother to replace. \$\endgroup\$ – Passerby Nov 21 '16 at 3:08
  • 1
    \$\begingroup\$ Good point Passerby, I have a few spares laying around if my current one dies. My main concern is ensuring that frequent cycling won't start a house fire :) \$\endgroup\$ – Chris Parton Nov 21 '16 at 3:15
  • \$\begingroup\$ And thanks for the direct answer to my question Kurt! \$\endgroup\$ – Chris Parton Nov 21 '16 at 3:16
  • \$\begingroup\$ "... the cooling fans ... Since this is the only non-resistive load ..." - What, that's not even close to true. The PFC circuitry, the rectifier / smoothing stage, the chopper, the transformer, all are highly non-linear and all are likely to suffer from power cycles. (the question is: suffer how much?) \$\endgroup\$ – marcelm Nov 21 '16 at 11:15
  • 1
    \$\begingroup\$ Oh crap, don't know how I let the damn transformer slip past me. Thank you for calling out my garbage answer... I should have put more thought into it. \$\endgroup\$ – Kurt Ostrom Nov 21 '16 at 21:04

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.