Powering Arduino based CNC mill

Hi,

I am in the designing phase of an Arduino based DIY CNC mill.
I have the mechanical design done in CAD, and now I am designing my electronics.
I have a basic idea how it should work, but I am a bit confused about how I should power the system.

My electronics is planned to consist of the following parts:

  • an Arduino UNO R3 with the CNC Shield v3
  • 4 DRV8825 Stepper Motor drivers
  • 3 limit switches for homing
  • 4 Nema 17 stepper motors with a phase current of 1.7A (17HS4401S) (link to stepper)
  • a 300W, 12-48V, 3 000-12 000 RPM DC Spindle motor with an ER11 chuck attached (link to spindle)

My main concern is if I am supposed to have a separate power supply for the spindle motor.
I was reading a few articles and watching some youtube videos about DIY CNCs, but many of them were using a mains powered router as their spindle. And none of them gave me a definitive yes or no to my question.

I saw the 3018 DIY CNC kit as well, which seems to come with one power supply only (as I saw on youtube assembly videos.) But this one has significantly lower power spindle motor.
(link to 3018 CNC kit)

But I also saw people using a separate power supply for the spindle in some projects.
I know that the DC motors can cause a lots of electrical noise and draw a lot of current. But with proper noise filtering and a power supply capable of providing the necessary current, is it possible to power the steppers and the spindle with the same PSU without having any skipped steps or any other problems?

And if yes, what would be the proper way to get rid of the noise generated by the DC motor?

According to this article: Electronics 101. | OpenBuilds ,
I get the required current for the steppers by multiplying the phase current of the stepper by 2/3 and by the number of the motors used. In my case that would be 1.7 * (2/3) * 4 = 4,53 A.

I was thinking about using a 24V PSU. So in this case I assume that the spindle would be able to run at max 150 W and 6000 RPM. ( 3000 RPM / 12 V = 250 RPM/V => 250 * 24 = 6000 RPM)

I assume it would then draw a maximum current of 150W / 24 V = 6.25 A.
So in total i would need a PSU capable of outputing more than 10.78 A.

Thus I was thinking about using one of these 24V 15A PSU-s: link to PSU
They are advertised that they are mainly for dimming LEDs, but would it be sensible to use one of these to power the system up? (People seem to be using them for not only LEDs as I could see in comments,
and on youtube I saw a guy make a bench power supply using one of these. But i am not sure if its a good idea to use it for my project.)
Or would the sudden change of current because of the motors cause any harm in the PSUs or any protection circuit to activate?
If i am not supposed to power up the whole system from one of them, is it okay to use one of the 24V 6A for the steppers and another 24V 10A for the spindle?

(The Arduino would get powered by the PC via USB.)

If none of these ideas would work, what solutions would you recommend to power up the system?

I would like to use the machine to prototype simple PCBs, cut acrylic and later maybe some wood and thinner metal, depending on how the machine turns out.

Thans in advance for any help,
Best wishes: Agoston

A lot of your answers are in this thread along with some more useful info.

Personally I do reccomend a seperate PSU for the spindle and more so once you go above the 300W
I would actually suggest 500 or 800W myself.Even more so one you can easily replace the brushes in with the external brush caps.

Bob.

Hi Bob,
Thank you very much for linking that thread.
Just finished reading through all 20 pages of it, and I found a lots of useful information.
So now I am thinking about buying this spindle you and DangerToMyself have linked somewhere in the post with the separate PSU.

But I still have the question in mind if I can use the above mentioned PSU to power up my steppers? I have read in an article that stepper motors work better with unregulated PSUs but they seem to cost a fortune. I was thinking about DIYing one, but I couldnt really find a transformer with a decent price tag that has enough amperage for the steppers.

I can see you have a lots of experience with CNC machines. And thank you for sharing it with us beginners :slight_smile:

I saw you are not really fond of the 3D printed parts on CNC machines, but actually my design is based on that. I am planning to 3D print many parts on my Ender 3. Hopefully it would be stirdy enough for the jobs I am looking forward to do. I saw the mostly 3d-printed CNC projects, and they seem to work fine on youtube videos.

I will share some pictures of my design, and I would highly appreciate any advice on it, if you have some time to look at it :slight_smile: Of course I am happy to hear ideas and advices from anyone else as well :slight_smile:

Base.JPG

What cannot really be seen on the pictures, is that I am using 2 LM8UU bearings on each side of the Y axis, and 4 on the X axis carriage, and 2 LM8LUU on the spindle mount. Also using t8 anti back-lash nuts on each lead-screws, and 608 ball bearings on both ends of each lead screws. The blue, yellow, green, and red parts are planned to be 3d printed. I didnt model it, but planning to use drag chains for my wiring. (I am yet to design the mounting for them though.)

Thanks in advance for any help and advice,
Best regards,
Agoston

Base.JPG

Transfomer based PSU's are always expensive.

The ones Danger an me use are perfectly fine and meant to match the spindle but give you a very good degree of speed control.
I certainly cannot complain about mine.

Consider moveing to a central push pull rather than dual steppers.
Even in the real world most machines use a single motor for the longer axis.
It will save you a small amount of money and extra wiring and drivers.

Anti-backlash nuts are crucial if you are using T threaded rods so good choice but make sure you order extras.
The chinese ones are just brass and will wear out over time.

It would also be worth upgrading to 10mm rods as the price difference is negligable but the extra rigidity is much better.

Drag chains are optoional but in my mind well worth the small amount of extra effort. Dont skimp on the size of it though and go up a size. It will make getting wires in and out a lot easier and allow for extra wires is you needs them for anything.

Take a look at Dangers spindle holder as I really do like the way it was made to make best use of space and add extra strength at the same time.

I am sure he wouls share it with you in exchange for toilet roll during the crisis. :grinning:

Oh and dont forget some good rubber feet for it !
Otherwise it will sound like a can of rusty bolts and have a tendance to wander around your bench looking for and escape route to the floor

Hi,

So I had a closer look at the 3020 CNC and now I have an idea how I can redesign my machine to have only one stepper on the leadscrew but it means basically a complete redesign :slight_smile:
But better now then after building it, haha :slight_smile:

So my idea to make the base higher to fit the leadscrew and the rods below the "cutting board" (sorry for my terminology lol... I cant remember the correct word now...) to use 2060 aluminium extrusions instead of the originally planned 2040 on the front and the rear and to use 2020 profiles on the sides. This way I think I would have enough room underneath for everything to fit. But this way I guess I would need 2 more 2020 extrusions to join the sides of the gantry (hope my terminology is correct here) underneath.

So I think I will opt for the 10 mm rods as well, they dont seem to be much more expensive. The 2060 extrusions cost a lot more though than the 2040s. Especially that i cannot seem to find it at sellers in my country so need to order from aliexpress as well.

And I saw Danger's design of the spindle holder, and I quite like it as well :slight_smile: So I will ask him to share more details about it :slight_smile: But as far as i could see, there was no room for bearings for the lead screw in his design. Or did I just not look carefully enough? On the bottom I can see enough room to fit one in the design but on the top I cannot see any room for a bearing. Is it okay to have only one bearing on the Z axis? Or should I have 2 there as well?

Haha, yes your gif illustrates very well the need for the rubber feet :slight_smile:
Thanks for the good advices :slight_smile:

Best regards,
Agoston

Ohh, one more thing came in my mind. What is your opinion about supporting the spindle motor from the bottom and using the bottom mounting screw holes ?
I haven't seen this type of mounting on other machines i watched so far, but for me it feels safer this way because I have a feeeling that the screws that hold on to the spindle from the side might get loose over time and the spindle might fall off, or just get slightly lower, or get pushed higher while auto-levelling?

Dont bother with the bottom spindle motor mount as there will be occasions you want to slide that motor up or down to get a little more travel on some materials.

If you get the dia right for the motor it will grip.
Done some seriously crazy moves here and the stepper motor just clanks as it cannot push the spindle down and it stays locked in its holder.

It doesnt really matter if the bed moves or the gantry moves.
I find bed movement to be a little quieter overall and currently run both styles.

There are two parts to Dangers "Z".
One is the Y carriage and the other is the spindle mount both with intergrated bearings and even grease runs no less !
There are so many ways they can be done but I found Dangers a little more robust looking from my standpoint.

If this is your first CNC build I would suggest that you use a fixed gantry design. It's much more forgiving and rigid (even when 3d printed)

Ohh, In that case I am not worried about the spindle coming loose. In this case I might be able to use the mount that comes bundled with the spindle in the link above. That metal stuff looks to be nice and sturdy and saves some printing time.

I chose to have the gantry moving instead of the bed because as far as i could see from my 3d printer and also from the 3018 CNC and other DIY CNCs the moving gantry style is more space efficient. For example my 3d printer requires around 480 mm of space in the Y direction to have a usable workspace of 230 mm. That is slightly more than 100% extra space reqired. On the first version of this CNC i use 540 mm to have 340 mm usable workspace. Which is 'only' 60% more room than the workspace. Im sure my design is not the most space efficient though.

I myself would have never thought about adding grease runs :slight_smile: But thats why I am here to learn :slight_smile: I thought that it would be enough if I add the grease on the rod and it would grease the bearings as well. But i guess there is a good reason for those grease runs :slight_smile:

Best regards,
Agoston

If this is your first CNC build I would suggest that you use a fixed gantry design. It's much more forgiving and rigid (even when 3d printed)

In what terms is it more forgiving? :slight_smile:

Build errors. Rigidity. "oh, I forgot a hole here" "oh, cable is too short" "oh, wire broke due to movement" ... just stuff like that. And the build is not much bigger than a moving gantry - at least not in this size.
Btw, your design lacks a backplane on Y.

Oh, accuracy: you'll either need a dam good way to calibrate your CNC or you'll need a controller that can handle skew angles.

Ohh, I see what you mean now, thanks.
What do you mean under a backplane on the Y?
A connecting piece between the 2 sides at the back of the machine?

And about the skew angles. Is it only if I have 2 motors on the Y?
Or in any moving gantry assembly?

A connecting piece between the 2 sides at the back of the machine?

Yes, like that.

skew angles: you always have skew angles, it's just the question if you can measure them and/or if they are inside your tolerances. And if you can correct them mechanicly or not.

Thanks :slight_smile:
And is there a way to compensate for the skew angles if I am using an UNO with Grbl?

You could write a gcode converter that does it ... or you could invest some time in planing mechanical means to compensate ... or you could use LinuxCNC :slight_smile:

Generally if you are careful setting everything up most of the skew factors can be avoided.
Some of that will depend on what accuracy you are looking for.

At best a lot of the cheaper chinese models will go down as low as 0.03mm out of the box but lower if you take the time to measure everything as you set things up.

My first machine ( alas no longer with us :slightly_frowning_face: ) was simply thrown together with misc parts like drawer runners and was down to about 0.1 in the X and 0.07 in the Y with the Z a bit worse at 0.5 (all mm)

The second home brew ( similar design and still alive but in storage) improved greatly on those numbers as I used some linear rods on the Y and linear drawer runners in other aspects.
It should have been worse on the Z as that was side mounted but it was better.

Second version pic.