Skip to content

hannobraun/cnc-mill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CNC Mill

Goal

I'd like to have a 3-axis CNC mill. I've considered buying one, but everything I can find violates one or more of the following constraints:

  • Budget: It's going to be my first CNC mill, so spending a lot of money doesn't make much sense. The main purpose is to learn, and figure out what I actually need in a CNC mill. For that reason, I'd like to keep the budget below 1000€.
  • Capability: At the same time, I don't want to buy a machine that I will outgrow within the first week. It should be capable of cutting aluminium.
  • Space: I'm severely limited on space. It needs to comfortably fit on a desk.
  • Environment: I don't have a proper workshop, unfortunately. The machine will need to run in my apartment, preferably without disturbing the neighbors.

There simply doesn't seem to be a machine like this, which is not a surprise. For this reason, I'd like to try and build my own, purpose-made for my use case.

I suspect it might simply be impossible to fulfill all of these requirements within the limited budget. If that is the case, I'm looking forward to learning what the limitations are specifically. I'm also aware that there's a high risk that a self-built machine will fall short in some or all of these areas. I think it's still likely to be a good investment, for the learning experience alone.

Status

This project has stalled while in the planning phase. I was at the point where the calculations I wanted to do were way beyond my knowledge, so I had to do quite a bit of studying to make progress. Then my daily schedule shifted from under me and I was left with very little time to continue doing that.

I'm sure at some point, I'll have both the desire and the time to design my own CNC mill again. Whether I'll pick back up here when that time comes, or if I decide to start fresh, I don't know.

License

This project is open source. All documents, design files, and software in this repository are available under the terms of the Zero Clause BSD License (0BSD, for short). This basically means you can do anything with them, without any restrictions, but you can't hold the authors liable for problems.

See LICENSE.md for full details.

Design Decisions

Here are some high-level design decisions I've made. None of them are final, and they might still change as I do more research:

  • Configuration: Fixed gantry. The advantages are just too big, and I think I can live with a smaller work area in one axis.
  • Size: 40x40x40 cm³ or thereabouts. Those are outer dimensions. If it turns out that this leaves not enough working area, I can go a bit larger, especially in height.
  • Spindle: 1.5 kW air-cooled AC spindle. Should be strong enough to do well in aluminium and avoids the additional complexity of water-cooling.
  • Axis motors: Stepper motors. I haven't really looked into servos, but seeing how many machines run just fine with steppers, I'm pretty confident they will work for me. An open-loop control system will also reduce cost and complexity.

Parts

  • eBay
  • Sorotec
    • Spindle Clamp: Lots of the spindle/VFD sets on eBay come with a clamp, but those don't have mounting holes. This one looks nicer.

Research Notes

These are the notes from my research process.

Other Machines

It's going to make sense to take inspiration from other machines at some point. Here are some links:

  • OpenBuilds: Lots of machines of all kinds.
  • MPCNC: Interesting design. Less traditional than what I have in mind.
  • Tormach xsTECH: Really interesting machine, in terms of configuration, form factor, and enclosure. Pretty much what I want to build, but hopefully I can fit some more rigid components into the budget.
  • PrintNC: Moving gantry design with a frame based on steel tubing.
  • Millennium Mill: C-frame mill based on aluminium extrusion.
  • ULTIMATE Bee: Classic moving gantry design, with what looks like high-quality components.
  • PocketNC: 5-axis desktop CNC mill. Interesting, in that it is used for milling aluminium (easy to find examples on YouTube), but has a relatively weak spindle (200W).
  • Nomad: Pretty close to what I would like to build, in regards to the configuration, form factor, and enclosure. Notable for its weak spindle (70W).

Online Shops

I'm looking into two groups of online shops:

  • Local (i.e. European) shops, because that gives me a minimum of hassle (shipping, customs).
  • Shops on platforms like AliExpress or eBay with low prices, as that might be necessary to meet my budget.

European shops:

  • cnc-technics:: Have lots of relevant products, but probably too high-end for my budget.
  • DOLD Mechatronik: Have a lot of different stuff, including aluminium in various sizes. At least some categories seems to be high-priced, relative to the available budget.
  • Sorotec: Large selection of all kinds of stuff required for CNCs.
  • MISUMI: Large selection of materials, mechanical components, and much more. Lots of options for modifying material and aluminium extrusion parts.
  • Motedis: Materials and mechanical components.

AliExpress:

  • Bulk Man 3D (also have a website): Large selection of lots of things I'm going to need.
  • Makerbase: Control boards mostly seem not applicable, but the stepper drivers are very interesting.
  • Zhong Hua Jiang: They manufacture spindles that they sell there, as well as other useful things.

eBay:

Configuration

I believe that the following machine configurations are the strongest contenders:

  • Moving gantry: Tool moves in all 3 axes.
  • Fixed gantry: Tool moves in x and z axes, table moves in y axis.

I have ruled out more exotic configurations for my first build (despite having lots of ideas), to reduce overall risk.

References:

Spindle

I see two potentially viable ways to go, regarding the spindle:

  • Cheaper DC spindle, around 500W.
  • Mid-range AC spindle, possibly water-cooled.

DC Spindles

Advantages of DC spindles:

  • There are examples of machines with relatively weak spindles that can definitely mill aluminium, although not fast and with not-so-great surface finish. It might be enough for my needs.
  • Cheaper than AC spindles.
  • More compact than AC spindles. That doesn't just go for the spindle itself, but also for the hardware needed to control it (a possibly bulky VFD, in the case of AC spindles). Given the size constraints, this is very attractive.
  • No dealing with AC power.

Examples of machines with relatively weak DC spindles:

  • PocketNC: Both the V2-10 and the V2-50 come with a 200W spindle12. And yet it seems capable milling aluminium and more. This video is very interesting: https://youtu.be/7YfRNZbfjaY?t=326
  • Nomad: Only has a 70W spindle. It's easy to find videos of it milling aluminium, but in the one's I've seen, either the sound is covered by a voiceover, or it sounds horribly chattery. So not a strong case, but interesting none the less.

I think the PocketNC is a strong example here. It's obviously not capable of great speeds, and it starts chattering if the settings are too aggressive. But still, it seems to be capable of producing aluminium parts.

Examples of DC spindles:

AC Spindles

Advantages of AC spindles:

  • They are simply more powerful. I found information, that 1kW power and 24k max RPM should be good for milling aluminium, and I think everything in that range is an AC spindle.
  • Water-cooled AC spindles are pretty common. Those are quieter and more long-lived, and I've been told that water cooling isn't too bad, from a complexity perspective.
  • The Chinese ones are still surprisingly affordable, although I have no idea how the quality compares to more expensive ones.

Notes:

  • In articles I've read, Huanyang has been called out as a quality brand, and I can find affordable offers with EU-based inventory. Unless the budget turns out to be really tight, or some other information comes to light, I might just go with that.
  • Some spindles come in a rectangular form factor, with mounting holes included. Seems more convenient than the round ones.

Examples:

References

Conclusion

Based on everything I've seen, I've narrowed the spindle selection down to the following criteria:

  • 1KW+: Yes, you can mill aluminium with less, but it's far from certain whether the results would be satisfying.
  • 24,000 max. RPM: This should be sufficient for my needs, and it seems that within the category of 1kW+, this doesn't further reduce the selection.
  • Air-cooled: I can find a few (very few) water-cooled ER16 spindles on eBay, but at this point, I'm happy to accept the reduced complexity. Any difference in noise is probably irrelevant anyway, compared to the milling noise itself.
  • AC: I can't find any DC spindles that are powerful enough, so it's not a choice at this point.

Most of the spindles I can find with these parameters are from this manufacturer: Zhong Hua Jian

They have a square spindle that I would prefer: 1.5KW 1500W Air Cooled Spindle Square CNC Spindle Motor ER11/ER16

Unfortunately that's the one that I can't find a source for around here.

Cutting Tools

The cutting tools that are expected to be used are important for various design decisions. Since I don't have very specific use cases in mind, my goal here is to get a feel for the range of tooling that I might want to use for aluminium. From there, I'll hopefully have better information to make various design decisions.

Here are some cutting tools that I could find:

I've decided to focus my analysis on the Sorotec offerings, as they have a broad selection, and also focus on the class of machine I'm trying to build, roughly. I'm only looking at tools that are specifically recommended for aluminium.

Analysis:

  • Diameter, cutting (mm): 0.2 - 60
  • Diameter, shaft (mm): 3 - 12
  • Length, cutting (mm): 2 - 43
  • Length, total (mm): 38 - 110

List of tools taken into account:

Additional notes:

Cutting Forces

The following is based on some research, and my own not-that-great knowledge about mechanics. For all I know, my complete reasoning could be wrong.

My thinking is that once I've selected a spindle, I can calculate what maximum cutting force can be achieved using that spindle. With that information, I can then decide how to dimension the linear axes and the frame.

Some reference material on how to calculate cutting force:

From the aforementioned references, I got the following formula for computing tangential cutting force:

$F_t = \frac{T_s}{R}$

Where:

  • $F_t$: tangential cutting force
  • $T_S$: spindle torque
  • $R$: cutter radius

Which makes a lot of sense. I can hopefully get the maximum torque rating of the spindle from the manufacturer. If not, I'm sure there's a way to calculate torque from spindle power, but I haven't looked into how to do that.

Given the maximum torque, I can put in the radius of the smallest tool I intend to use. It's quite possible that the resulting force will be larger than the small tool can withstand. But I can just put in larger and larger tools until I get a force that will actually work with the tool, thereby figuring out the maximum tangential cutting force that is actually realistic.

Once I have that number, I need two more:

  • Maximum expected tool length
  • Distance between tip of maximum length tool and spindle holder.

With that, I can calculate the moment that acts on the spindle, which I can then use to figure out how to dimension the linear hardware on the z and x axes.

At this point I'm realizing that it would be easier to just do the calculations instead of spelling out how I would do them. I can't though, because I haven't selected a spindle yet, so I'll continue writing out my thoughts on this, so I don't forget between now and when I'll actually do the calculations. (When I started writing this, I just expected there would be much more research and much less reasoning.)

Side note: It's interesting to note that the worst case for max. tangential cutting force is a thin tool, and worst case for max. moment on the spindle is a long tool. It's probably a good idea to plug in multiple tools into the whole calculation, to figure out where the actual worst case is, since the thinnest tool certainly won't be the longest.

Based on the max. tangential cutting force, I can also figure out the maximum moment that acts on the y axis, and dimension the linear hardware for that too.

I assume with all those moments calculated, I can then figure out what the frame would need to look like to not deflect too much under that level of stress. I don't know how that works though.

Linear Guides

I figure that within the constraints of a home-built machine, linear rails are the best I can practically do in this category. I've decided to focus my research on those, and see where that leaves me budget-wise. I'll revisit later, if necessary.

Information from online shops:

Information from HIWIN:

Conclusions:

  • ARC and HG seem like good options, given the size and available documentation.
  • Especially the HIWIN documentation is nice. But in the Sorotec store, HIWIN is also twice as expensive as the Sorotec-branded stuff.

I would need, per axis:

  • 2 rails
  • 4 carriages

So 6 rails and 12 carriages overall.

Open questions:

  • What type should I go with?
  • Is HIWIN even an option price-wise? Would it be even worth it? Go for something cheaper?
  • What size rail?

Ball Screws

Much like with linear rails, I figure that the best I can practically do on linear actuators are ball screws. I will do my research on that, and might scale back to something cheaper, if it turns out to be necessary.

References:

Notes:

  • HIWIN:
    • types
      • rolled
        • diameter: 8-63mm
        • typical application: transportation
        • accuracy: T5 - T10
        • less friction and quieter than standard threads
        • nuts
          • FSIDIN, FSCDIN: flange
          • RSI, RSIT: no flange; probably wrong for my use case
      • peeled
        • diameter: 16-80mm
        • typical application: transportation + positioning
        • accuracy: T5 + T7
        • nuts
          • DEB-x
            • flange
            • single nut
            • variants with different kinds of wipers
          • DDB-x
            • flange
            • double nut
            • variants with different kinds of wipers
          • ZE, SE
            • no flange
            • probably wrong for my use case
          • SEM
            • safety nut
            • has some redundancy; correct function guaranteed up until certain play
            • pretty sure I don't need this
      • ground
        • diameter: 6-100mm
        • typical application: positioning
        • accuracy: T0 - T5
        • no stock; only available upon request
        • nuts
          • FSC
            • flange
            • single nut
            • cassette recirculation
          • FDC
            • flange
            • double nut
            • cassette recirculation
          • FSI
            • flange
            • single nut
            • internal recirculation
          • FDI
            • flange
            • double nut
            • internal recirculation
          • RSI, RDI
            • no flange
            • probably unsuited
      • other, seemingly more specialized types available
    • preload needs to be balanced
      • too low: lacks rigidity
      • too high: more friction, reduced service life
    • selection: page 12 of the HIWIN catalogue has a step-by-step guide
    • ball recirculation systems
      • external: tube outside of the nut body
      • internal: tube within the nut
      • cassette: internal, but somehow different? don't understand the description
    • wipers
      • NBR (N): "used in almost all applications"
      • NBR-finger (K): more friction, more resistance against dirt and chemicals
      • felt (F), felt-finger (V): different attributes, but unclear on applications
    • precision
      • T0 is best; don't have a feel for the numbers
      • the better the accuracy, the more limited length is; not relevant for my application
      • recommendations for milling
        • x/y axes: T1-T5
        • z axis: T2-T5
      • play/preload
        • rolled and peeled are delivered with play by default
        • types of preload
          • preloaded single nut: ball size
          • lead offset: not suited for high preloads or high leads
          • preloaded double nuts: distance between nuts
        • preload should not exceed
          • 5% of dynamic load rating for single nuts
          • 10% of dynamic load rating for double nuts
        • should only be preloaded when absolutely necessary
      • load rating
        • Cdyn: load at which 90% of ball screws reach life expectancy of 1 million revolutions
        • C0: load which causes permanent deformation of more than 0.0001 ball diameter
      • drive torque: calculation formulas on page 28
    • shaft ends
      • B, E, F: simple transport applications, low axial forces
      • SFA, SLA: more challenging precision applications
        • SLA: supported bearing (S1, S11, S5)
          • for supporting the non-motor end of the ball screw?
        • SFA
          • fixed bearing (S2, S22, S3)
          • for supporting the motor end of the ball screw?
      • WBK: heavy duty
    • housing for flange nuts
      • suitable for DEB-x, DDB-x, FSCDIN

Looks like I need, per axis:

  • ball screw
  • flanged nut
  • supported bearing
  • fixed bearing
  • flanged nut housing

Other than that, not sure yet, what conclusions to draw from all this.

Open questions:

  • What size screw do I go with?
  • What accuracy do I need?
  • HIWIN is probably too expensive. Do cheaper options require different research?
  • What about preload? The HIWIN data sheet makes it sound like preload should be avoided, if at all possible. But isn't the whole point of a ball screw to avoid backlash?

Frame

Warning: This section is more of a brain dump, and not based on actual research so far. I'm drawing my own conclusions based on things I've seen in the past, and I'm probably missing something.

I'm mainly thinking about two ways of building the frame:

  • Aluminium extrusion
  • Aluminium plates

Or a combination of the two. Aluminium extrusion has the advantage of being more flexible and easier to use, while plates would require at least somewhat accurate drilling, if not machining.

To make use of the full flexibility and simplicity of aluminium extrusion though, I need angle brackets to connect them. I don't know how well that would fare in regards to stiffness. I've seen people connect profiles by drilling through one, and putting in a screw that screws in the end of the other, but that would require somewhat accurate drilling again, plus cutting the profiles to length precisely.

I'm guessing connecting plates with screws would be plenty stiff, and I could probably buy them already cut to size. This would only leave the problem of drilling and tapping, which might be manageable. An advantage over extrusion might be that they are just denser. Since more weight is largely good in a machine frame, and space is at a premium, that would probably be an advantage.

At this point I'm thinking, I'll probably do a CAD design based on plates and see where that leads. If it seems doable, I might go that way. If not, I might reconsider doing an extrusion-based design.

Stepper Drivers

Makerbase: https://www.aliexpress.com/store/1047297

Control Software

On the controller side I have the following priorities:

  • Resist the temptation to do any custom software, or otherwise use something exotic. This might be an option in later builds, but I want to keep it simple for the first version.
  • Be controllable from a regular PC, without requiring one to run. I don't want to add a screen/keyboard/mouse to the bill of materials, but I also don't want to dedicate a whole computer to control it.

I found the following options:

Based on my cursory research into this area, I think this might be the wrong approach. It might be better to search for easily available CNC controllers, and figure out which software to use for them from there.

Host-side control software:

Controller Boards

I'm currently operating under the assumption that an open-loop control system using stepper motors will be used, for cost reasons.

There is a huge number of options available. A lot of them are pricy enough to take up the majority of the available budget. For that reason, I'm focusing on lower-priced options.

TinyG control boards, which include steppers drivers, but lack something to control the spindle:

Both of those boards don't seem to be available in Europe, so the real cost might be significantly higher, with shipping and customs duties.

SainSmart sells the controller boards for their low-cost CNC machines separately:

They are much cheaper (40-50€) and can control a spindle. One of them is limited to 1.5-2amps for the stepper motors, the other doesn't specify. Since the SainSmart machines are pretty weak, it's doubtful that the controller board supports any motors (axis or spindle) that would be a significant upgrade over them.

Here's another board, linked to grblHAL: https://www.tindie.com/products/philba/grblhal-bob-unkit-for-teensy-41-t41u5xbb/

Costs around 50€, plus shipping from the US. Requires a Teensy 4.1, which is readily available locally, for under 30€. Doesn't include stepper drivers, but can control a spindler with an external VFD.

References:

Power Supply

As far as I can see, the machine needs the following kinds of power:

  • 230V AC: Since I'm in Europe, this is the input I'm dealing with. It's needed by the VFD for the spindle, the DC power supply, possibly the water pump.
  • 3.3V - 5V DC: This is the typical range for microcontrollers and many other kinds of electronics.
  • Higher-voltage DC: The stepper motors are going to need DC at a higher voltage than the controller.

So I'm going to need a power supply that turns AC into DC, and possibly something else to step the DC up or down to meet the different requirements. As for the power supply, I've often seen Meanwell in various sets and such. Unless there's a good reason not to, I might just stick to that.

CAD Software

I'd love to use Fornjot, but it'll be a while before it's ready for a project like this. I hope that I can migrate the project to Fornjot eventually.

Normally, I'd favor open source software, but since migration to Fornjot at a later stage is planned anyway, I don't see that as a priority. I've used OpenSCAD, FreeCAD, SolveSpace, and other open source options in the past, and I'd like to take this opportunity to try something new.

I'm focusing the research on options that are free (or have a free tier) and support Linux:

  • OnShape: Looks highly professional. Would certainly be an interesting learning experience.
  • SketchUp: Also looks interesting, although the website presents architecture and furniture use cases, versus the mechanical assemblies showcased on the OnShape website. Hard to say how relevant this will be for this project.
  • TinkerCAD: Looks least interesting, judging from the website, as it stresses the beginner/education use case. Doesn't mean that it won't be more than capable enough for this project though.

Enclosure

The design goal for the whole machine is to have it run in an apartment environment, if at all possible, without creating the kind of noise that would be unacceptable in such an environment. An enclosure is going to be critical to achieve that.

References:

Footnotes

  1. https://cdn.shopify.com/s/files/1/0077/5477/6623/files/V2-10_Spec_V05.pdf?v=1611173337

  2. https://cdn.shopify.com/s/files/1/0077/5477/6623/files/V250CHKCHBSpecSheet.pdf?v=1624559427

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published