More Power to you!
So, you are building a CNC machine. You may have selected your stepper motors and stepper drivers. No matter what, you need a power supply unit (PSU).
tl;dr - Select a PSU that has less than 80% of the max stepper driver voltage and can deliver more than 2/3 of the sum of the max current of each stepper motor.
I see a lot of questions about how to select a power supply. And, I see almost as much dubious advice about how to do it. The reality is that there is a lot of engineering in the decision process. In this post, I will try to reduce the complexity and make it easy to select a power supply that is right for you. A key theme here is you want to avoid having to replace burned out electronics. My recommendations here build in safety margins to help ensure your machine will run cool and give you years of use. You will surely see advice that pushes the boundaries outlined below. Often accompanied by "it works perfectly fine on my machine". It may well be fine on their machine but will it work in all cases? On a hot summer day? Or stalling on some particularly hard material? Or for a 10 hour job? Have they actually pushed their machine? Engineering is about examining the limit cases, not the common or easy ones.
Power supplies are usually rated by voltage, current and power (wattage). The manufacturer is claiming that the device will deliver X volts at up to Y amps continuously. Power is just X * Y Watts. The manufacturer is saying that it will work correctly for up to the maximum wattage. What many people making recommendations don't often say is that running at it the fully rated power will also run it at its maximum safe temperature. And, that will be reached in an ideal ambient temperature environment. Put the power supply in a poorly ventilated box or run it on a hot summer day and it will surely be at a higher ambient temperature. And, that means the max safe temperature could be exceeded. Heat is the enemy of electronics and engineers will often derate (reduce the maximum limits of) electronics when they are in non ideal situations. Running any electronic device at or above its max temperature for extended periods will surely shorten its life Here is a derating chart from a large PSU manufacturer showing the effects of elevated temperature. Note, I have transcribed this chart as I was unable to secure permission from them but it is a faithful rendering of the data. As you can see, above a certain point the PSU will not deliver full power so why risk it?
Let's break the PSU sizing question down into two parts: voltage and current (amperage).
The first thing people typically look at is voltage. Stepper drivers have a max voltage rating and some think that is the power supply voltage they should select. No. That is a very bad idea. You need to build in a safety margin. For one thing, a lot of manufacturers, especially those no-name far east "brands", are pretty optimistic with their specs. But another reason comes from reading the fine print (AKA data sheet). The power supply manufacturers specify the output voltage as a range. Typically the range is 5% plus or minus the listed voltage. That 48V PSU might actually output 45.6V or 50.4V and still be in spec. Do you want to run a 48V stepper driver at 50V? It might be ok. It might not. Do ya feel lucky? Seriously though, running the driver at it's top voltage will produce more heat. Heat is the enemy.
You could spend a lot of time digging into the design of your Stepper Drivers to see what they really can do. Maybe they were over designed and can really handle higher voltage and temperature that comes from it. Maybe they were built with cheap components and the specs are utterly wishful thinking. Or, you can just apply a safety margin and not worry about it too much. My rule of thumb is get a PSU that delivers no more than 80% of the max driver voltage. While that won't protect you from truly shoddy products, it should be good enough for the vast majority of cases. An example, if you have drivers that are rated to 48V, get a PSU that delivers no more than 48 * 0.8 = 38.4V. 36V is a common PSU voltage.
One question that comes up a lot is what is the best voltage to run the stepper motors at. It depends on the motors but for the typical ones you buy on Amazon/eBay/Aliwhatever the answer is the highest voltage you can safely use with your stepper drivers. The long answer is given by examining the stepper datasheet to find the motor's inductance - L, in milliHenrys (mH). It allows us to determine maximum voltage to use - Vmax. We use this formula
Vmax = 32 * Sqrt(L)
Above this voltage, the motor coils start saturating. Voltage above this will generate heat rather than add to the torque. And, well, heat is the enemy. For most common motors Vmax is well above what the stepper drivers can handle so this point can often be ignored safely. And, a lot vendors don't actually list the motor's inductance.
Figuring out the amperage needed is a bit different because stepper motors are active devices that draw a highly variable amount of current. The simplistic approach of just adding up the max current draw of each motor will work but gets you a PSU that is significantly bigger (and more expensive) than you need. Let's look at a common operation - cutting a circle in the X-Y plane. When the X motor is at its top speed, the Y motor is at 0 RPM and when the Y is at its top speed, the X motor is at 0. When you add up the current draw at any point in the circle, it will never even come close to the max current draw of X + Y. In fact, it will never be more than about 75% of that and often closer to 50%. You can concoct special cases where all the motors are at maximum current draw but they will never last that long. Also, it is quite common for 1 or 2 motors sitting idle while the other(s) are running. Taken over time, current draw is often 1/4 of the sum of the maximum current of all the motors.
Looking at the internet, you find a lot of conflicting advice on sizing a PSU for current. Power supply vendors are happy to suggest the multiply-max-current approach - that sells you a more expensive PSU than needed. Driver manufacturer Gecko recommends 1/3 of the sum of all the motor currents though that is for a special case of motor windings. For the typical bipolar/4-wire motors, they recommend 2/3. This is a reasonably safe approach and it is what I recommend. Pick the smallest size PSU with max current above that. This provides some safety cushion to minimize heat buildup in the power supply. An example, if you have a 4 stepper motor CNC machine and each motor driver is set to 3A max, you would size your PSU current to
4 * 3A * 2/3 = 8A
There are also a couple of additional things you can do to reduce motor current draw in your machine. Almost all modern drivers have an idle detect option which reduces current consumption - you should use that. Typically, it causes holding current to be reduced by 40 or 50% after the motor is idle for a short period of time - often in hundreds of milliseconds. You should also use the enable input on your drivers. Your motion controller will disable them when not stepping and thus reduce current draw to close to 0. There may be cases where you don't want that though, a heavy spindle on the Z axis for example.
Switch Mode vs Unregulated Linear Supply
There are lots of power supplies to choose from and they broadly fall into 2 categories: Switch Mode or Simple Unregulated Linear. It is easy to assume that a switch mode power supply (SMPS) is the better way to go - it generally has good regulation and over voltage protection. And an unregulated power supply seems crude. Yet, the SMPS can behave strangely in the face of power surges on motor startup or back EMF under rapid deceleration of the motors. And, being unregulated is not actually a detriment as it is the current that is most important here. Also an unregulated supply is very simple and repairable while an SMPS is complex and probably not repairable. That said, either will probably work fine for your application. Personally, I prefer unregulated.
Multiple power supplies vs one
I see this question a lot. Some builders go to the extreme of one power supply per stepper motor in the belief that will give the best performance. The only thing that improves is the PSU manufacturer's financial performance. It creates significant unused (ie wasted) power supply capacity. The best approach is to get a PSU with enough capacity to drive all the motors based on the formulas above. Where multiple supplies can make sense is if you can't find a supply with enough current capacity or you want to run your motors at different voltages. Another case is where you run two PSUs in series to get a higher voltage. I recommend this only if you are well versed in electronics.
Select a PSU that has less than 80% of the max stepper driver voltage and can deliver more than 2/3 of the sum of the max current of each stepper motor.
I'm a CNC enthusiast. I run a small company, Brookwood Design, that makes a 32-bit Grbl breakout board for grblHAL and love to help people get the most out of their CNC machines.