Separate names with a comma.
Some features disabled for guests. Register Today.
Discussion in 'CNC Mills/Routers' started by Rob Taylor, Oct 25, 2018.
Discussion in 'CNC Mills/Routers' started by Rob Taylor, Oct 25, 2018.
A proper CNC mill conversion. But quite small, with my trademark idiosyncracies.
Rob Taylor published a new build:
Read more about this build...
Current thoughts and considerations:
Geared NEMA 23s would likely be higher acceleration, but I'm somewhat dubious on their relevance here given the dovetail ways. If it were a linear rail conversion as well, inertial matching would be more relevant. As it is, I have the gibs snugged up a bit and it's relatively stiff to move, but runs a boring head quite nicely. Any motor is going to have a time starting and stopping, and I suspect that overall, the higher momentum and higher intrinsic torque (ie. the diameter of the rotor coils) are a slightly better option. Time will tell.
Originally I was going to go with DMM 400W servos running off of DYN4 (200v class! I hate power supplies!) controllers. This may prove to be a necessary (read: highly desirable) future upgrade, but of course there isn't exactly a shortage of what I can do with three NEMA 34 closed-loop steppers on another project. It was cancelled to basically halve the budget. $1500 on motors alone is no joke. $700 isn't particularly light as it is. But I didn't want to not have servo feedback, even if it was limited to the motor-controller loop. The difference in smoothness and power handling is apparently rather significant.
This was originally going to be LinuxCNC running through a Mesa 6I25 & 7I76 FPGA parallel IO card and breakout. In the interests of time, budget and convenience, I'm revising that to (at least initially) Grbl being fed from bCNC. I've already played with bCNC and like it a lot, it's what will be running the laser to begin with (I may end up moving to a more portable RasPi based solution on that one eventually). LinuxCNC is more like a real CNC controller environment with more I/O and macro support, which is nice, but this mill is a working machine, and I need it down for as little time as possible while I figure out LinuxCNC dual-booting, the setup of the Mesa boards and then the setup of the environment itself. Later I'll have the luxury of having time to build a dedicated machine and plug it in when it's ready, if it becomes worthwhile.
Grbl (if you actually bother reading the Wiki) is fast and easy to work with, and all I need to buy is a $20 Arduino (if I don't already have something suitable lying around!). It's plenty powerful enough for any low-speed 3-axis project, which is all this is. It'll run a variable-speed spindle. It WON'T run a toolchange cycle, but bCNC can, so it still works. Initially toolchanges will be manual anyway, facilitated by a foot-operated power drawbar (mmm, two-hands!). So all I'll need is an optional stop, realistically.
I'll be rigidifying and adding mass to the body with steel plates and gussets all over the place (whilst still allowing for head/column tramming), to which I'll weld square steel tubing in a couple of spots where distortion is allowable, off of which I can create a full enclosure with chip capture and coolant filtration. This, of course, isn't planned for early in the process. Making chips is the order of the day; I need a minimum viable product.
I'll almost certainly convert this thing to belt drive at some point, if for no other reason than because plastic gears are terrible and noisy, but also because the spindle bearings should be rated to somewhere in the vicinity of 5000 rpm (maybe...). I'd like to at least squeeze 4000 rpm out of the existing motor (no idea of its base RPM as yet) with appropriate gearing if I can, to make 1-2mm/~1/16" end mills a little more viable.
Upgrading spindle bearings can spectacularly backfire depending on the quality of the spindle to begin with, which of course with Chinese drop-shipped products is highly variable. Frequently they rely on the slop in low-grade bearings to mask the eccentricities in grinding. I'd love to upgrade to ABEC 5 oil-drip bearings and get 12k out of the spindle, but there's a non-zero chance that simply won't work.
Currently it's limited to 2000 rpm, which is mostly fine at the minute, but smaller ball nose end mills tend to be used heavily in modern CNC production for 3D contouring (barrel cutters notwithstanding) and I have a distinct suspicion I may end up doing a fair bit of that. Slotting down to 0.028" has also been on the cards for this mill. Of course, the runout could potentially preclude going that small, but I don't want to rule anything out until I've tested it.
There is the option of going to a servo drive spindle which I've looked into a fair bit. Originally I was looking at the 750W DMMs with gearing to get up from 3000 rpm (depending on how continuous that 5000 max rpm rating is), but realised a normal brushless 8k spindle motor replacement made much more sense at a similar pricepoint. I could always add an encoder to the spindle shaft if I had to have something like rigid tapping, but I doubt this machine will ever see anything like a BT30 spindle, which would be a major advantage of a servo drive.
The cylinder should do up to around 1800lbf, and I'll be doing a 3/4" R8 TTS-style system, keeping it simple. I haven't settled on what my drawbar force is going to be yet. I saw a lot of 2000-4500lb discussion, which is a fair range, and then recently saw some talk of 700lb, which seems quite low. In any case, appropriate leverage and travel isn't going to be an issue for the cylinder I have, it's mostly just a case of figuring out which Belleville washers to buy and how to arrange them.
The G0758 has a threaded spindle end which fits the drawbar retainer (gotta be able to unscrew against something if/when the collet sticks), which I should fairly easily be able to turn some kind of inverted-top-hat collar for (or even just reshape the part itself, come to think of it), against which the cylinder can actuate. Of course, you can't just mount the cylinder directly to the body and press down on the drawbar, unless you really hate your spindle bearings! It has to be more like a pair of scissors, keeping the force only on the rotating element of the spindle.
Once I figure out how many tools I typically use for a project, building some kind of carousel toolchanger should be fairly straightforward as long as either bCNC or GRBL could send it simple one-byte commands. The point is to maximize hands-off and maximize production capacity within the limits of the base machine.
So what next?
Mainly motor mounts, screw/nut mounts and other stuff to get the CNC portion of the whole thing working. The power drawbar really needs a powered z-axis to work, since I couldn't feasibly use it with the spline-driven quill moving up and down into the head. In a week or so I should be shipping in a pile of 1/2" and 3/8" steel plate to start the body upgrade, though I may make the motor mounts aluminum since it's easier to machine more precisely and reduces the supported/cantilevered weight where the motors attach. I lose negligible strength and gain a little vibration, but it's unlikely to be a problem. And I can always CNC-machine new plates after the fact!
That'll do it for now, feel free to discuss iron vs extrusion and all that good stuff, this isn't really intended to be purely a build log if there's actually something to talk about.
Fixed the images! I think the server ate them, but should be good now.
I have a g0758 and have considered converting it, so I'm interested to see this project.
Like I described on the build page, it's a great machine for what it is, it's seen some pretty heavy use for me and just keeps on trucking. Definitely looking forward to having it run itself!
I am also very interested in this build. I am almost finished with my Plate maker and I could then jump right in making the motor mounts for it.
Can't wait for updates.
I had originally hoped to have it finished by the end of the year. With all the other projects I have on the go and trying to finish up, I suspect I'm gonna be starting it in January!
The steel plates are here, however. So is the genuine Arduino Uno. Only remaining items on the list (until I add more things, like toolsetters!) are aluminum plate for the motor mounts, Belleville washers for the drawbar, and grease nipples for the ball nuts, of which only the aluminum plate is super vitally pressing to getting the build started.
Minor update for some notes to get them out of my head: I was doing some research yesterday and it looks like the target drawbar force is 2500lbf; perfectly adequate for a machine this small. I saw a calculation that approximated the leverage and friction of the R8 collet, and essentially pullout force is just over half of the drawbar force; 2500lbf would give somewhere in the vicinity of 1300lbf of pullout resistance, good up to around 3/8". Apparently Tormach set their machines somewhat lower than this from factory; probably more in the 1500-2000lbf range, though my rough estimate for their three-stage drawbar cylinder force is around 3000lbf.
Actuation distance on the drawbar/washer stack itself needs to be in the vicinity of 0.060"/1.5mm. Since my cylinder is good up to around 1800lbf (I believe at 150psi), I can comfortably operate it at around 800-1000lbf (closer to a more comfortable 90psi shop air standard) and make up the difference with a relatively minor leverage advantage. My cylinder has a full inch/25mm of travel, so if necessary an adjustable stop screw can be used to limit its travel and avoid over-compressing the spring stack.
Belleville washers are intended to be used within a narrow range of motion where their force/travel distance (Hooke's law; manufacturers provide the spring constant data) is amenable to the surrounding system. So I need to design a stack that travels a minimum of 1.5mm, provides 2500lbf of tension when torqued down with a preset nut and remains capable of compressing under my cyclinder's lever advantage up to the 1.5mm point. This is where it gets a little tricky, but I'll play with some ideas and see what I like the look of. I don't want an enormous stack; the height of it has to be bridged by the framework holding the cylinder bracket to the "spindle-grabbing fork" (technical term) that lives under the spindle cap. The longer the distance, the more this connection has to be beefed up to avoid it excessively bending under working load. So the shorter the stack is whilst still providing the required specifications, the better.
Also, since it looks like the laser is going to need the Arduino Uno (because I kept blowing pins, as non-optocoupled systems tend to do), I'll pick up an Arduino Mega for this project. It seems that @Sonny Jeon has done all he can to squeeze every last drop of performance and capability out of the Uno's storage capacity, and future updates will be primarily to the Mega line (and possibly some ARM forks?). It'll be nice to add more functionality to the mill over time if this is indeed the case.