I got a nice note from G-Wizard Customer Wiley Davis, who has a Kickstarter project underway to create a product for the photography market. Wiley tells me he used G-Wizard extensively to calculate feeds and speeds while developing his project.
We ran an earlier article about a product called "Modigrip" that was another Kickstarter project. If you've never looked into Kickstarter, it's a very cool concept. Essentially, you pitch your business idea, and the Kickstarter audience can decide to jump in and fund it. When I first looked at Wiley's Kickstarter page this morning, nobody had decided to fund. I'm looking at it at the end of the day and he has $15,000 pledged of the $20,000 in capital he's trying to raise. If you have a business idea, maybe Kickstarter could help you get it off the ground too!
Wiley calls his gizmo the "$50 Follow Focus." It's a good looking piece of kit:
Follow Focus drives the lenses focus grip with a toothed belt (kinda like a servo drives a CNC axis)...
The parts that go into the Follow Focus...
Not being a commercial photographer, I will let Wiley describe the value:
All we wanted was an affordable way to adjust the focus on our DSLRs in a precise, repeatable manner. We wanted a device that performed solidly and intuitively and we didn't want to spend a lot of money on it since we'd rather spend our hard-earned dollars on more lenses or food and beer for the underpaid crews on our low-budget shoots. But such a follow focus didn't exist, until we made one, that is.
They intend to use the money they're raising to upgrade from their little hobby mill to something of a more production-oriented natures. Looks like they're well on the way!
CNCCookbook Featured in Digital Machinist
Village Press has a great series of magazines and books for the home shop machinist. My favorite is Digital Machinist because it focuses on CNC. I happened to be reading the issue one day when I came across a letter to the editor wishing the magazine would run an article on Feeds and Speeds. Being the author of the G-Wizard Feeds and Speeds Calculator, how could I resist stepping forward to volunteer? I sent the editor, George Bulliss a letter proposing a short series of articles and he responded positively. I am pleased and proud to say that our first article in the series, "Basic Feeds and Speeds" has run in the Winter 2011 issue (Volume 6, Number 4). If you're interested in CNC as a hobby, check them out. They have a neat deal for a free online copy so you can see what the magazine is like.
George has shared some early feedback from the magazine's readership that really got me stoked.
Wooden Clock Plans from Clayton Boyer
I've always loved these open framework wooden clocks. They seem like ideal CNC projects, especially if you are set up with a CNC router. Friends are constantly asking me what I make with all the machines in my shop and when I answer that I mostly make more tools, they're always disappointed or at least puzzled. One of these would be an ideal thing for a non-CNC person to relate to.
"Simplicity" is the easiest design Boyer offers...
I haven't actually seen the drawings you can order, but the clocks sure look like great projects. The plans are not expensive--"Simplicity" lists for $37. If anyone reading has experience with Clayton's plans, drop us a note and let us know what you thought.
Machine Art from BMW Design: High Tech Mouse and PC Case
Industrial Design always fascinates me. My Apple laptop is machined out of a chunk of aluminum and the work is beautiful. There is an indicator on the front that is a bar-shaped LED that peeks through the aluminum via holes that are so small the openings are invisible unless the LED is lit. My guess is they're created by a laser as it is hard to imagine doing the volume Apple needs with twist drills. I was pleased to come across this pair of cool PC-related projects created by a partnership of Thermaltake, Level 10, and BMW Design.
Hard to really get a sense of how this thing looks...
That's another one to whet the Machine Art appetite!
A Smoker in the Shape of the Great State of Texas
Have you ever seen a smoker in the shape of the state of Texas? Me neither, even though I grew up there. This is more of a big fabrication project than a machining project, but it's metal, and I just have to have one. In fact, I've wanted one since seeing it over at my brother-in-law's in Grapevine, Texas and tasting the fine ribs and salmon he was pulling out of it. Here's what the crazy thing looks like:
I gotta get me one a these!
There is something strangely poetic about the idea that the state of Texas is the perfect shape for a smoker and at the same time Texas is a mecca for BBQ. How many other states can claim that distinction?
The reason it is the perfect shape is that a good smoker needs indirect heat, low but very steady temperatures, and room to smoke as much as you want. In this case, the relatively small fire box sits down at the tip of the state. A series of baffles move it along through East Texas, waft it over the main rack, and then it goes up through the panhandle where already cured meats can get extra smokey over time.
If you're curious how all that works, check out my project page for it. It's waiting on some big ole sheets of steel and a new Mig welder. I've got a Tig, but somehow I don't fancy this as a Tig project!
Using G-Wizard to Calculate Feeds and Speeds for Fly Cutters and other Manual Machining Conundrums
I got an email from a customer the other day who wondered if there wasn't some way to make G-Wizard more focused to the needs of manual machinists. He felt that it was overly "CNC specific", and wanted some sort of "CNC versus Manual" switch to make it easier. I need to cogitate more on the idea of a switch, but it is certainly true that if you start dialing up modern tooling in G-Wizard and cutting softer materials, you will end up with feeds and speeds that are impossible--the manual machinist just can't crank the handwheel fast enough.
Let's back up just for a second and realize a key thing:
The physics are the same for the cutter, whether it's a manual machine or a CNC machine.
I'm tempted to respond as one famous Starship Chief Engineer did with, "I canna change the laws of physics, Captain!" But, that's just telling us we need to think about the problem differently: we don't have to change the laws of physics, we just have to apply them properly.
Take the issue of trying to madly crank the handwheel to hit 100 inches per minute or some other similarly silly thing that G-Wizard may recommend to the manual machinist. First question is, "Why did it recommend that?" And the answer is, unless you keep chipload up, you run the risk of rubbing the cutter. You'll learn all of this and more in our Feeds and Speeds Cookbook, but let me explain that particular issue.
Consider this diagram:
Cutter at the top has large chipload relative to radius of cutting edge, so it cleanly slices off chips. Cutter at the bottom has a large cutting edge radius relative to the chipload. It can hardly get under the chip to slice, so it plows, scrapes, and rubs. It may produce a fine finish, but it does so by burnishing. This creates a lot of heat and is very hard on your cutting tools. When G-Wizard asks for a particular feedrate, and it seems too fast, it's only because it's trying to get the picture at the top where the cutter slices cleanly.
Okay, so how do we manage feedrate on machines that can't feed fast enough? Here are some thoughts:
Be sure you tell G-Wizard what your maximum feedrate is--it will limit itself automatically. Let's try an example. Take a 1/2" TiAlN 3 flute in 6061, 1/2" depth of cut, 1/8" width of cut. Let's say our spindle will do a maximum of 5500 rpm. We get back a feedrate of 78 IPM and a chipload of 0.0041". If the spindle would do 10,000 rpm, it jumps up to 142 IPM to maintain the same chipload.
Now let's say a manual machinist decides they can turn a handwheel twice a second and still be smooth, but that's the limit on hand cranking. If each turn moves the table 0.100", we're moving at 2 * 60 * 0.1 = 12 inches per minute. That's well short of our goal. If we override G-Wizard's feedrate on the 5500 rpm spindle to be 12 IPM, we have a chipload of 0.0007". I try not to let chipload fall below 0.001" on carbide and maybe 0.0005" on HSS if I am overriding G-Wizard. Those are just estimates of how low I can go and not get into that edge radius rubbing issue. So this cut is iffy for me.
How can G-Wizard help?
Well, let's go to the Setup page and create a machine profile better suited to our manual machine:
Here's a Machine Profile suited to a Manual Mill...
I just went in and customized some of the fields to be better suited to a manual mill. I didn't bother with a lot of it--a manual mill has no toolchanger and we don't care how fast it accelerates the spindle or which CNC Controller it uses (LOL), those are fields used by the G-Wizard Editor / Simulator. Here are the important points:
- Manual mills usually have a slower spindle rpm, so be sure to set that up. I used 5500 rpm.
- They have lower horsepower and use a spindle taper like R8
- No TSC (through spindle coolant), PCN (programmable coolant nozzle), and if they have flood, it is not strong and might as well be mist.
- Perhaps most important: set the feedrate based on how fast you can crank or how fast your power feed will allow! I used 12 IPM, which is 2 turns a second on a handwheel where 10 turns is an inch.
If we go back to the Feeds and Speeds calculator with that profile, we'll see that G-Wizard has adjusted to the machine's capabilities. Our 5500 rpm / 78 IPM cut is now a 3800 rpm / 12 IPM cut. That's manageable! And, you'll note the chipload will be 0.0011". What G-Wizard has done is to try to balance all the factors and get the required feedrate down by slowing the spindle (good for tool life too!) and allowing the recommended 0.004" chipload to fall as low as 0.0011".
Fly Cutter Feeds and Speeds
Fly cutters on a manual mill...
Let's talk Fly Cutter Feeds and Speeds as long as we're talking G-Wizard for manual machinists. I get asked about Fly Cutters a lot, there is a lot of traffic to my site on those keywords, and Fly Cutters are very commonly used by manual machinists. While the CNC crowd will more often prefer facemills, even many CNC machinists realize that a very fine surface finish may be better done by fly cutting. Remove all but one insert from your facemill, and finish improves. The exception are those most expensive facemills where you can individually adjust the cutting height of each insert to 0.0001", because that's what it takes, and that's why fly cutters can leave a better finish. Many say their secret weapon for fine aluminum finishing is a fly cutter with a PCD (diamond) insert. But we digress.
How do we set up G-Wizard for a fly cutter?
The writer that prompted me to write this post had the right idea--just tell G-Wizard you've got a Facemill with only 1 insert. That's exactly right. If your fly cutter has a lead angle, the ones pictured both do--the edge is angled, try using the lead angle feature on the Facemill type. If I do all that on G-Wizard, the result is: 1834 rpm @ 12 ipm for a 0.100" DOC and 1.8" cut width. That's not too bad for hogging a surface flat, it's a half horsepower cut, but there's way too much chipload for a fine finish. It's showing 0.0065" chipload. That's because it thinks you've got a nice facemill with some chunky carbide inserts that can take it. Surface speed is 1440 IPM.
A good manual machinist who wants a great finish on aluminum will grind themselves a razor sharp HSS tool and stick that into the fly cutter. It'll look something like this:
Note the large radius, sharp edge, and steep positive rake on this HSS Fly Cutter tool...
A tool like that will put a beautiful finish on aluminum, but its edge is too delicate for tougher materials or for the carbide feeds and speeds G-Wizard wants to dish up. Let's adjust for that with the following steps:
1. Bring up an HSS endmill and check out the chipload and surface speed. Chose something about the same scale as the flycutter's tool. A 1/2" endmill is fine. I see 400 SFM and maybe 0.003" chipload.
2. Go back to your Facemill feeds and speeds and try using those figures for SFM and chipload.
3. If finishing, take the chipload down to 0.001", or even less if you have a razor edge on that tool. The one pictured is knife sharp and I'd be comfortable as low as 0.0006" or 0.0005".
With those settings, G-Wizard gives 500 rpm @ 0.36 IPM. To convert that to seconds per handwheel rotation, multiply by 50 and we get one handwheel turn every 18 seconds. That will produce a fine finish indeed with such a cutter.
The 50 is just a rule of thumb that's close, but a little fast. The real number is 16.67 seconds a turn, but its easier to remember 50. In fact, you can use the field arithmetic in G-Wizard to do the calculation. Just go to the feedrate and type "*50<enter>" and you'll be looking at the number.
I hope this gives a good idea of how manual machinists can use G-Wizard to good effect!
Welcome to CNCCookbook's New Look
Seems like every year I try to upgrade the graphical design of CNCCookbook to make it friendlier and more attractive. What you're seeing in terms of the new logo, navigation menus at the top, and smoother overall look is the first installment. There's more to come, but not all at once. At some point before too long I hope to get rid of our copy-cat sister site, which is actually a Wordpress blog. It exists largely to make it easy for folks to get an RSS feed of new articles being published here. By getting rid of it, I mean I'll be merging it directly into these pages so it doesn't have to be its own site. When that's done, the "Blog" choice will go seamlessly to wordpress and the rest of the site will remain as it is. Our home page will also be changed, so that it is no longer the blog. Instead it will be an introduction to what CNCCookbook is all about.
I have some ideas I think everyone will like about things to make the site easier to use that I'll add as well. Feel free to drop me a note if you have an idea or a thought about the new 2012 look and feel.
Timesaving Tip: Drill and Chamfer/Deburr in the Same Operation
I heard about this gadget on CNCZone and thought it was pretty cool:
You clamp the chamfer onto the twist drill at the right height and then just program the depth to get the desired chamfer or deburring. You can also get full-on tools that have a chamfer built right into the tool geometry, but for lower volumes this is cheaper and perhaps more versatile because you can vary the depth.
Vernon Devices makes these gizmos, and they're sold online by iToolit for a little more than $20. Vernon makes similar gizmos for tapping and other ops.
The First New Software Release of 2012 brings a couple Goodies to G-Wizard Calculator
Red marks the new buttons and columns to save you time with Fasteners...
Release 1.620, just posted, is a minor feature and bug fix release:
- Renamed "Cap Screw" tab to be "Fasteners" under "Quick Reference".
- Added 2 new columns to "Fasteners" database that lists the drill size for normal fit and close fit.
- Added buttons that appear for the flat head cap screws that will take you to the chamfer calculator with parameters already filled out for depth and angle.
- Fixed a bug where the Geometry menu did not display the correct choices in the Cut KB and Tool Crib.
- Fixed a bug where exporting the Cut KB to a .csv file sometimes gave errors.
- Fixed a bug where going from "Normal" to "Rigid" actually was slowing down feeds and speeds for ballnose and other geometries.
- Extended Internet connection timeout for a session to reduce likelihood of a false "No Connection" status.
- Fixed bugs around Post formats for "F" word. Added ability to specify Post format for "R" word.
- Changed default starting position for machine from X0Y0Z1 to Z0Y0Z0.
- Fixed a bug where if saving and you typed a name with no extension, 2 dots were added: "filename..ncc".
- Fixed a bug in how variables were being mapped to words for a G65 call. Thanks Andrew for pointing that one out!
If you've never played with G68, it's a very useful function. Here are some of the things you could do with it:
- Simplify your part program by creation of subprograms that repeat cutting operations multiple times along an arc. This will also reduce the memory requirements of the part program.
- Align work that is not exactly aligned to the coordinate system. For example, suppose you wanted to run without tramming in a fixture. If you can probe the fixture to determine its angle, you can apply a G68 to "zero out" that angle and then run the part program. This can reduce setup time by reducing the need to be accurate and trammed in.
- If a part program is written for a bigger machine and has more Y-travel (extents) than X, you may be able to rotate the coordinates so the long axis is aligned with your X and still be able to run it.
- You may be able to nest more parts on your machine table if you can perform arbitrary rotations on them. This is very easy to do with G68.
- A part that is otherwise too large for a machine might fit if you could take advantage of the extra long diagonal dimension. Once again, this is easy to do with G68.
BTW, those fans in the middle of each pocket are tool entry and exit paths. You'll get a much better finish if your tool arcs into the cut rather than just heading straight in along a line. This is one of the many tricks discussed in our CAM Toolpath Considerations page of the Feeds and Speeds Cookbook.
I'm not sure when it got to be such a hot item, but rigid tapping seems like one of those things that comes up early in discussions of machines, controllers, and so forth. "Does it do rigid tapping?" is either asked or answered pretty early in the discussion. Some controls provide rigid tapping as an extra cost feature (although it is standard these days for most controls), implying it has considerable intrinsic value when you see what the option costs. I was reminded again of how excited people get about rigid tapping in some recent back and forth over on CNCZone about the advantages of EMC2 versus Mach3, where EMC2 can do rigid tapping, ta da!
I've been clipping various articles with tidbits about the topic because I knew I wanted to drilldown on the subject of rigid tapping at some point. This post is my first shot at it.
What are the ways and terminology of CNC Tapping?
Let's start with some basics. Tapping requires a coordinated motion in 3 axes: X, Y, and Z. In addition, one of the axes, the one perpendicular to the threads, has to be pretty precisely synchronized to the spindle that's driving the tap. That tap wants to move down into the hole at a rate determined by how fast it is rotating versus the thread pitch. If the tap moves down into the hole too slowly, the pull on the threads gets greater and greater as the tap falls behind the place the threads dictate it should be. If it goes down the hole too quickly, it starts to "push" the threads faster than they want to go. Either way, if the discrepency in where the tap should be versus where it is becomes too great, the threads will tear or the tap will break. Those are both bad outcomes!
Broken taps are a pain!
Want to know the best way to avoid broken taps? It's choosing the right drill size for tapping, and that size is not the size found in your typical chart. Click that link to see how to do this trick and you'll be pleasantly surprised at how many fewer taps you break.
There are a number of ways to regulate the speed the tap goes down the hole versus the rate the spindle is turning.
1. The simplest level would be on a machine that has a quill. You can "power tap" by putting just enough pressure on the quill that the tap can basically pull itself down the hole at the rate it wants to travel. This is a very manual operation that Bridgeport operators are familiar with, so it is not very suitable to CNC. Except for the oldest machines and retrofits, you won't have a quill anyway.
A tapping head in action on a drill press...
2. Use a tapping head. The tapping head allows some leeway for the tap to move up or down in the hole so that again, the threading process itself drives the exact speed it is going down the hole. The other advantage of a tapping head is it has a gearbox. That gearbox adds torque at low tapping speeds and also will auto-reverse the tap when it comes time to withdraw it without requiring the spindle to reverse. This raises another issue for would be tappers: spindle control is paramount. If you are tapping a blind hole you'd better be able to stop the spindle's rotation and reverse it very quickly lest you drive the tap into the bottom of the hole and break it. This speaks to VFD considerations like making sure you have a breaking resistor.
There are some issues with a tapping head. They're not compatible with an automatic tool changer. Related is that they require some setup. They have a stop bar, for example. They're bulky and use up a lot of Z travel. As the video mentions, you'll need to adjust torque as well so the slip clutch will slip without breaking the tap. There are some advantages for a reversing head, even for rigid tapping, which we'll talk about, but in general, the old-style bulky tapping heads like the one in the video are not used much with CNC.
3. Use a tension-compression tap holder. This is a holder that is much like a tapping head, but without a gearbox and without an auto-reverse feature. A nice one will have a torque clutch to release without breaking the tap. Here is a Maritool tension compression holder in use:
Maritool Tension Compression Tap Holder...
As described in the video, the tension/compression feature relies on springs and has about 1/4" of travel to compensate for errors in either the push or pull direction. Typically, you'd program the g-code to run the tap into the hole slightly more slowly than the thread would suggest and rely on the tension feature to keep that under control. This compensates for minor fluctuations in the spindle speed. Typically, you'd program to run at 98% of the theoretical speed.
You can imagine what happens if a spring breaks and the holder loses its ability to travel because with no spring it might hit the stop immediately. Not having to worry about that issue is one reason to prefer rigid tapping.
4. Rigid Tapping. With this approach, the tapping holder is rigid, meaning it has no tension/compression play. That means the motion of the spindle and the axis moving down the hole have to be precisely synchronized. Delivering this synchronization is one reason rigid tapping requires a more sophisticated controller. Because these motions are precisely synchronized (at least in theory), the tap holder can be rigid (hence the name).
There are a couple of ways controllers approach rigid tapping. The most common method, used on a majority of controllers, is to let the spindle go, monitor its actual speed with some sort of encoder, and then vary the feedrate of the synchronized axis to mirror the right ratio of spindle rpm to feedrate for the thread being cut. Lately, the smaller machines, especially the "tapping and drilling" centers, use a type of rigid tapping often called "synchronous tapping." In this method, both the spindle and the axis speeds are dynamically controlled as servos to get the best synchronized result. This is only possible on machines whose spindles have low enough mass and intertia that their rotation can be dynamically modified quickly enough, hence the use on relatively smaller machines.
Synchronous tapping can be done even faster than ordinary rigid tapping because there will be no overshoot of the spindle. With a heavier spindle there will always be a little overshoot. Smarter controls try to slow the spindle down as the bottom of the hole approaches, but that's a bandaid relative to true synchronization. In addition, true synchronous tapping will experience less acceleration/deceleration related wear in the reversal at the bottom of the hole, so tap life can be better.
What are the advantages of rigid tapping?
- Rigid tapping is often faster, though this is not always the case--see below.
- Tooling cost is lower: high quality rigid holders cost less than high quality tension compression holders.
- Rigid tap holders are more compact and reliable than tension compression holders. This may make their use more practical with large workpieces that are near the envelope limits of the machine.
- It's very hard to make a tension compression tap holder with full pressure through coolant, whereas it is relatively straightforward to have high pressure through coolant on a rigid tap holder.
- While it is possible to do what is called a "hard start" on a tension compression setup, rigid tapping is better suited for peck tapping when you want the tap to pull completely clear of the hole and then thread down to start again. This requires an even higher degree of synchronization to pull off, however. You'll need to make sure your machine even supports this mode, and it may be turned off by default, so you need to set a parameter to turn it on.
- Removing the spring pressure of a tension/compression holder can result in a more accurate thread, especially for soft materials that are deformable.
What are some pitfalls to watch out for?
- It seems that a little bit of tension/compression is helpful even for rigid tapping. This MMSOnline article suggests tap life will increase because the forces on retraction are drastically reduced with just a little bit of tension/compression play. The data on this from the manufacturer of one such rigid holder is impressive. Holders for rigid tapping machines typically only need to provide tension leeway--no compression is required. That little bit of tension play cushions the tap from abrupt spindle motions. Some report that the lack of this cushioning can reduce tap life by up to 40%.
- It's very hard to make the spindle track on speed and reverse quickly enough when doing very high speed tapping (say, 6000 rpm) using small taps. For that reason, there are modern reversing heads that help. You can tap faster with these heads and especially with a little tension/compression built in than you can with pure rigid tapping. Such heads are immune to the acceleration/deceleration and reversing limits of the compartively massive spindle.
Well, what else is new? There's a whole bunch of claimed advantages for rigid tapping, and under ideal conditions, it's all true. But of course real life is never ideal. So, even though we shouldn't need a non-rigid tap holder if the machine has rigid tapping, there can still be advantages in some cases to using one. Even though we shouldn't need a reversing head, there are still advantages in some cases to using one. Guess what: no silver bullets as usual.
But, what is clear is that if your machine is capable of rigid tapping, it can tap faster and put less stress on the tap than a machine that doesn't have rigid tapping. Hopefully this article gives you some solid grounding in the variables involved in tapping holders and rigid versus conventional tapping.
Nice Video from Hoss on how easy Powder Coating can be
Hoss is the master of quick instructional videos for hobby machinists. There's always a lot of good tips in one of his videos. He's a professional machinist, so there's good material here for all skill levels. I am always fascinated by articles and information about finishing--vibratory finishing, polishing on a buffer, anodizing, parkerizing, bluing--the list is endless. There's something about taking a finely machined part and applying a great finish to it to make it professional quality that just puts that little extra into your project.
Today's post is about Hoss's video on how he does powder coating on the cheap for some parts on a powered drawbar he's making for his G0704 mill:
Hoss doing candy red powder coating...
He makes it look easy, with nothing more than a cheap Craftsman powder coating gun, a cardboard box "painting booth", and a toaster oven to cure the powder coat. The parts sure do come out looking nice and glossy:
Hoss is getting his powders from a pro-supplier I've heard others recommend called Columbia Coatings. Check them out. Lots of cool translucent candy colors as well as solid colors and special effect "textured" colors.
Powder coating is extremely durable compared to just using paint. I'd be curious to hear how folks compare powder coating with anodizing. The latter is another process I want to play with. I ordered a Mastech power supply recently on sale (Christmas gift for the shop), so I will be giving that a try at some point.
To Everyone That Participated in our Holiday Sale: Thanks!!!
This was our best Holiday Sale ever, and we appreciate all your business!
If you missed out on the sale, we're sorry. We do offer sales every 3 or 4 months, not quite every quarter, but almost.
Motion Control Boards Take Mach3 From Hobby Class to Industrial Grade, Part 2
Our first article in this series discussed how using Windows to solve all of the CNC Controller problem suffers because Windows is not a real time operating system. Simply put, if the task of sending motion control signals (step + direction pulses) to the motor driver hardware is interrupted, we have problems. Those signals get interrupted by a variety of distractions the machine may have ranging from other software running on the machine besides the CNC controller to energy saving software that kicks in to slow the processor to a variety of other issues.
Using DRIVERTEST.EXE, they measured performance of a 2.2 GHz Dell Optiplex 330. That machine exhibited an interrupt variation (variance from desired timing) of 14 microseconds. After substituting another computer that had a 2 microsecond variance, the machine went from being able to move the heavy Z-axis at 185 IPM to 245 IPM, graphic evidence of the amount of impact this sort of thing can have. Ironically, the machine with the 2 microsecond variance was actually a much slower CPU, it just had been more carefully configured to eliminate potential timing distractions.
Why so much faster?
Think about the delays in the pulse train as introducing large decelerations and accelerations into the motion of the axis. Whenever a step pulse is delayed, you get a big deceleration. When it shows up again, the axis must accelerate. This is tremendously wasteful of the motor's torque, is far from ideal as a way to drive a cutter through material, and generally gums up the works.
Plan A: Can we eliminate the distractions for Windows through Software configuration?
One school holds that the best way to eliminate the distractions for Windows that leads to these timing variations is to strip down the machine and software to where there's nothing left by the Mach3 control software and Windows. If we eliminate the possibility of other software introducing distractions, we greatly increase the reliability of the machine.
This approach works to a certain extent, but it is still not optimal when compared to hardware motion control boards and it limits the potential of the controller machine. Users wind up disconnecting their machines from the Internet and crippling them until they become little more than Mach3 appliances. That's a shame when there are so many useful resources on the Internet, and so much other software you might like to run than just Mach3 on your shop machine.
Another problem, pointed out to me by Henrik Olsson (thanks Henrik!) is "jitter". Suppose we have a Mach3 kernel frequency of 20 KHz. We are reminded to send pulses every 20 KHz, assuming nothing interferes with our timing (and as we have seen, interference is a real possibility). What if the motion we're commanding requires 23 KHz instead of 20 KHz? The exact kernel frequency leads to a sort of "rounding off" or approximation of the pulses, because we can only send them to the accuracy of the kernel frequency. This causes subtle effects that for the most part are probably only of industry to industrial quality work, but they're still an issue. Interestingly, EMC2, which uses a real-time modified Linux kernel to eliminate these "distraction" problems, runs at even lower kernel frequencies than Mach3 for a given machine, so is even more subject to jitter.
Still, if you insist on running through the parallel port, you should stick to a very minimal configuration for best results. You should also keep your axis motion dialed down fairly slow, so not very many pulses are needed to move the axes around.
Plan B: Add a Motion Control Board
The more direct solution is the one we brought up in the first article: add a Motion Control Board to Mach3. This offloads the most finicky timing aspects to dedicated hardware that can do a far better job than the software versions ever will. To get an idea, the pulse capabilities of a PC running Windows fall in the 20 KHz to 100Khz range. In other words, pulses for all axes cannot exceed 100,000 per second, and that's under the best possible almost theoretical conditions.
The equivalent number for one of the cheaper Motion Control Boards, a Smoothstepper, is 4 MHz, or 4 million pulses per second. That's 40x faster--no wonder you get so much better results!
Let's play with the math a little bit and see what this means.
Suppose we want a positioning accuracy per step of one tenth, or 0.0001". If we want to be able to move at 100 IPM, that means we need 100 / 0.0001 or 1 million pulses a minute. That's about 16,000 pulses a second, theoretically its within Mach3's range, but is it within the range of error if Windows gets distracted? 16 KHz yields a 60 microsecond pulse interval. On the aforementioned Dell that Tormach was testing, they saw 14 microsecond variations, or about 23%. That's really too much for smooth accurate motion--we'd prefer to see more like a 5% variation or less.
It is fortunate indeed that this problem does not becomes additive with the number of axes in motion. To interpolate a hole requires 2 axes moving in concert. To do that at 100 IPM requires 2 x the pulserate. A really fancy 3D profiling job is even worse, because you may need 3 axes moving in concert. Mach3 is able to trigger up to 6 axes at once, so the number of axes doesn't create additional problems in the pulser.
These problems get steadily worse as we ask for the axes to move faster. Consider a machine like a Haas TM-1. Rapids speeds for this inexpensive VMC are 200 IPM--2 times faster than our example. Now we'll need a 32 KHz kernel speed instead of 16 KHz, which starts to be pretty hard to do with Mach3.
The Smoothstepper's 4 MHz rate means it can handle that with 100,000 / 4,000,000 or 2.5% accuracy--that's about right for an industrial grade application.
You Can See the Difference
I hope you're getting the idea that these Motion Control boards can provide a noticeable improvement in CNC performance. If you're the sort of person who wants to run servos instead of steppers on your CNC for the performance, you certainly will want to run a Motion Control Board as well. The difference in performance and surface finish is noticeable. In fact, depending on what you're doing, you may not even be able to do it without a Motion Control Board. For example, our article on building a low-cost high-accuracy milling machine for micro-milling revealed they were unable to get clean features from Mach3 when running the parallel port. To fix the problem, they switched to Flashcut, which uses hardware motion control coupled with their proprietary (but Windows-based) control software to do the job.
Note that this will also affect the allowable feeds and speeds if you're pushing the envelope. HSM (high speed machining) constant tool engagement angle toolpaths rely on the idea that the load on the cutter is constant--there are no "shocks" such as we find with conventional toolpaths as they plough into corners. There is software out there that will fit arcs to a series of short line segments in your g-code to provide another form of smoothing. Running a cutter is not unlike running a race car on a track. The better drivers soon learn that any input takes away from the adhesion available from the tires. Slowing down in a turn at the wrong point can spin the car just as surely as accelerating too much or entering the turn with too much speed.
When your cut is unpredictably changing the feedrate by as much as 25% in a truly worst case scenario, it's very hard to run that cutter close to its limits.
How Do I Install One of These Controllers?
Good news here: it's pretty easy. I use a Smoothstepper, for example. You plug it into the USB port, tell Mach3 you're using it, and then it simulates 3 parallel ports which you can connect to motor drivers (Geckos or other) in the usual way. For $165, you're off and running with dramatically improved performance. I run using an old slow laptop, I run the Internet and all sorts of other software there, and Mach3 cuts great on my machine--no struggle at all. I can even play my MP3's so there's a little music to offset the music of chip making.
The key is to find a Motion Control Board that's already setup for your control software. Check out the directions on these boards, they're usually pretty simple to get running. They have a range of functions available. The Dynomotion KFLOP is another such board. It has quite a bit more capabilities than a Smoothstepper as it deals with closing the loop for servos, among other things.
*** This article is slightly revised from the original version. I benefited greatly from a generous side conversation with Henrik Olsson, who gave me quite a lot of additional information and even took the trouble to hook his logic analyzer up in order to prove that Mach3 can pulse 6 axes as easily as it pulses 1. Thanks Henrik!
Motion Control Boards Take Mach3 From Hobby Class to Industrial Grade, Part 1
Many a forum post has carried the derisive view that Mach3 can't be an industrial grade control because you can't build "industrial grade" on top of Microsoft Windows. The logic goes on to say that because Windows is not a real time operating system, it'll never be able to do industrial grade work. There are various other arguments against Mach3, such as the idea that the servo closed loop isn't accessible to Mach3, but the big issue is the real time operating system issue. How severe is this criticism of Mach3 and Windows?
It turns out the idea that an industrial grade CNC controller can't be built on top of Windows is false. We can dispense with that objection right away with an existence proof. Consider the Siemens A2100 control, used on machines like the Cincinnati Arrow. Some say it was one of the best CNC controllers ever made, but whether you agree with that assessment or not, it was clearly an industrial grade controller, and it was based on Windows NT. There are many other examples of industrial grade CNC controls based on Windows.
How did they manage to get great results despite Windows and what's the deal with Mach3?
The key answer in both cases is that they separated the functions of low level motion control and the user interface and g-code interpreter. Look at a CNC controller as consisting of 3 layers:
At the top level is the human interface, the part that talks to the operator through the control panel. The middle level is the g-code interpreter. Give it a block of g-code (uploaded by the User Interface through a USB key, serial feed, or other means), and it knows how to convert that g-code into simple motions. Those simple motions go to the motion control portion of the program which is responsible for converting the simple motions into driver control signals. For example, if you want to X0Y0Z0 and the machine is at X1Y0Z0, the X-axis has to move -1 to get to 0. Let's say your machine moves in 0.0005" steps. It then has to move 1 / 0.0005 = 2000 steps in the correct direction.
Let's look at how this works with vanilla Mach3, running with a parallel port. What that means is the Mach3 software must generate a smooth series of 2000 pulses on a parallel port pin to accomplish that motion. If we want to move at 100 IPM, which is not very fast by industrial standards, we have to produce those 2000 pulses in 0.6 seconds. For each pulse, we only have 0.0003 seconds to get the job done. Put another way, we need to move at 3,333 pulses per second. It turns out Mach3 can pulse up to 6 axes at whatever the kernel speed allows, but Mach has to do more than a few unnatural acts to pull that off.
Any minor interruption or distraction for the computer, may result in a brief pause between sets of the pulses. It turns out that Mach processes groups of buffered pulse requests. For example, it may have 5 requests that each ask for 0 to 5 pulses, depending on whether the axis is maintaining speed, slowing down, or accelerating. Lets say we have perhaps 25 pulses from 5 requests of 5 each. If, instead of getting a following on request for 25 pulses, that follow on is lost, it may take a whole new kernel timer cycle before the pulses are delivered. In the meanwhile, it's as though the lost cycle had instead been heard but requested the axis to slam on the breaks to 0 speed. On average, we got 25 pulses instead of 50, so we ran a lot slower, but the acceleration/deceleration makes it that much worse. Imagine trying to cut smoothly and with good surface finish if you command your cutter to move 1" at 100 IPM, but at 2 points during the move it actually slows down to 33 IPM. Things are not quite that bad because we have inertia to smooth it out and the axis doesn't start and stop instantaneously, but you can start to understand the problem here.
A so-called "real-time" operating system, which Windows is not, has the capacity to put out a "do not disturb" sign during critical operations. If it was making that 1" move, it might very well want to be left alone to finish that task in perfect timing and at exactly the right speed.
The problems of distracting the controller, resulting in poor surface finish or even worse problems, can be compounded because Mach3 runs on a general purpose Windows PC. The owner may have installed all sorts of other software on the machine. They might be running the MP3 player so they have music while they're machining. There are a number of factors that can cause one of these timer ticks to be disturbed including:
- Multimedia Software. I'm told Quicktime is a known offender.
- DMA. If your machine accesses disk too much, it interferes as the disk takes control of data transfer through a process called "Direct Memory Access".
- Normal OS operations can also disable the interrupts involved from time to time.
- Lots of other kinds of software.
For this reason, you frequently see recommendations not to connect a Mach3 PC to the Internet, not to allow any extraneous software onto the controller machine, and so on. This is a pity, because it is almost entirely due to the parallel port's limitations and we can work around those as we shall see in a moment. Personally, I hate the idea of being cut off from the Internet in my shop. There's just too much useful information to be had there that I can use in my work.
How do the Industrial Grade Controllers get around this problem?
The answer is pretty simple. They move those parts of the software that are sensitive to these timing issues to another piece of hardware. Imagine a configuration like this:
Now we have a separation of tasks that forms an assembly line. As the Windows PC finishes converting each g-code line to some sort of motion commands, it hands them off to the Motion Control Board and goes on to the next line. The Motion Control board is a piece of dedicated hardware whose sole purpose is converting motions to driver control signals. It can't really be interrupted because it doesn't do anything else, which is great in terms of providing smoother and higher speed motion.
The G-Code Interpreter is happier too. It takes a fair amount of machine cycles to produce all those motion control pulses smoothly. By handing that task off to another piece of hardware, the G-Code Interpreter finds more time to do a better job itself. Whether that's simply processing g-codes faster, or using the time for more sophisticated "look-ahead" and trajectory planning is a function of the controller, but the important thing is that more time is available.
Having this 2-part architecture is the secret sauce in creating an industrial grade CNC control from Microsoft Windows. It isn't the only secret sauce, but it is an extremely important starting point.
Is it hard to use a Motion Control Board with Mach3 instead of the Parallel Port? Is it worth it?
It turns out to be pretty easy to use a Motion Control Board with Mach3, and it is well worth the effort. In Part 2 of this series, we'll take a look at some of the Motion Control Boards that are available and we'll also talk about the results.
*** This article is slightly revised from the original version. I benefited greatly from a generous side conversation with Henrik Olsson, who gave me quite a lot of additional information and even took the trouble to hook his logic analyzer up in order to prove that Mach3 can pulse 6 axes as easily as it pulses 1. Thanks Henrik!
Our Holiday Sale Ends December 25
As you may know, we've been running some special Holiday Pricing on our G-Wizard CNC Calculator. If you haven’t seen the holiday pricing before, we are running some of the best deals we’ve ever offered:
Limited Time Holiday Pricing:
$55/Year vs Regular $69/Year
$99 for 3 Years vs Regular $129
5 Pack for Larger Shops: $196/Year vs $245 Regular
10 Pack for Even Larger Shops: $360/Year vs $450 Regular
Includes all support and updates. No other fees.
Renew Your Subscription Now at These Prices Just By Ordering More Years!
Whether you’re an existing G-Wizard subscriber interested in renewing, or a potentially brand new customer, be sure to consider this opportunity. If you renew early, it just adds to your subscription term, so you don't lose anything by taking advantage of our deal.
The offer is scheduled to end December 25. If you’ve already taken advantage of the offer, we do appreciate your business! For all of you, I hope you'll help us get the word out to your friends about CNCCookbook and G-Wizard. We spend very little on marketing and rely on your referrals plus the quality of our content to get people to notice us.
Wishing You and Yours Happy Holidays,
CNC Editor Buyer's Guide
Ever wonder what the most important features are for a g-code or CNC editor? We've added two chapters to our G-Code Course that help you understand what's important to have in some of the key tools of your trade. The first chapter discusses CNC Editors and the many features we feel are important to them. The second discusses CNC Simulators, Verification, and Backplotting. If you spend much time around g-code, it's important to lay hands on some Digital Tooling intended to help make the job easier.
If you haven't checked out the G-Wizard CNC Editor, now is the time. It's free while in Beta test...
I came across this video by accident, but thought it was worth sharing:
ZeroG technology makes tools weightless...
These guys have a technology based on the steadycam technology for cameras that supports heavy power tools so they're weightless. Workers using the tools can work longer or harder without getting fatigued.
Wouldn't it be cool to have some kind of universal gripper like the Equipoise systems that made it easy to position vises and heavy fixtures on a machine table, or to load and unload heavy workpieces?
Deflection Kills an Endmill
I enjoy watching John Grimsmo's knifemaking videos, so I was recently catching up to see what I'd missed. I will show a couple of the good ones in a second post, but first I wanted to touch on a case where deflection broke an endmill. John's video captured it perfectly at about 9:22:
You can tell by the waves on what should have been smoothly flowing walls in the slot that this endmill was deflecting quite a lot. Too much as it turns out, because it broke...
He's pointing at the path where he was profiling the edge of a knife blade with a full slot cut, 1/8" endmill, 1/8" deep. I don't have all the data to tell how to set this cut up in G-Wizard to see recommended feeds and speeds, but you can see by the waves in the slot that the tool was deflecting quite a lot. If I just run some sample parameters for a carbide endmill, and assume a stickout of 1/2" for the tool, I get a recommended rpm of 4600. If I then plug in the 4.5 IPM he said he was running, I notice a couple of things.
First, predicted deflection is 0.0009", whereas 0.001" is really the limit of too much deflection. A little more rpm or a little more stickout, and we'd be well into the 0.001" danger zone before we knew it. A stickout of 0.6" yields 0.0015" deflection, which would likely break the endmill right away.
Second issue is the chipload. John feels he is being conservative by feeding very slowly. However, he's cutting 304 stainless, which is a work hardening material. The chipload in my test case with 4600 rpm at 4.5 IPM is only 0.0002". These very light chiploads can easily work harden the material and make it much harder to cut than expected, and once again we may break the cutter pretty easily.
How to avoid these issues?
First, choke up on the tool as much as possible to minimize stickout, especially with these small cutters. Going from 0.5" stickout to 0.4" stickout would've reduced deflection from 0.0009" to 0.0005", which is almost half as much.
Sometimes machinists feel like they're babying the tooling with slow feeds, but as you can see, it often is much harder on the tool.
For John's knife project, some time spent with G-Wizard trying to keep the chipload where it was recommended, minimizing stickout, and possibly dialing back G-Wizard's "Tortoise and Hare" slider to the less aggressive "Tortoise" side would help.
If you want to see the mishap from start to finish, go to about 8:00 in the video. He loses an endmill plunging too. Personally, I hate to plunge unless I just have to. It's the hardest way to introduce a cutter into the material. A ramp is better, a helix is even better because it gets away from slotting while the ramp slots the whole way, and predrilling a hole is even better. In this case, one of the toolpaths where the ramp follows the profile would've been gentler on this tool. John uses SolidCAM, but I'm not sure whether it has that kind of entry option.
Okay, on to some cool stuff from John! BTW, the video I linked to is part of his "Knifemaking Tuesdays" series. He's attempting to do a complete custom folding knife in CNC on a hobby class mill and making great progress. I love the idea of being able to CNC profile a blade rather than having to learn the art of hollow grinding on a belt sander.
Creating a Blood Spatter Effect When Anodizing
In this video, John Grimsmo creates a blood spatter on black anodizing effect. In the process, he goes through a lot of useful information about how to do anodizing in a home shop setting. It's very cool stuff, and the result of his work is a stunning set of knife scales to be given as a gift.
Anodizing for a blood spatter effect...
The blood spatter techniques could be used to create a variety of effects that would look good on knife scales or pistol grips. In a lot of ways these irregular patterns are not unlike some of the markings one sees on reptiles.
Manufacturing Knife Handles
I liked this John Grimsmo video too as it shows the potential of small manufacturing runs for hobbyists who want to run a small business. There's room for a professional machinist to suggest improvements, but John gets the job done. He's even using a probe to zero his fixture at this stage:
Okay, last John Grimsmo video for know. He sure had a bumper crop of interesting ones since last time I checked!
In this one, he walks through anodizing titanium. Ti is an interesting material. I looked at making a largish part with it once and was shocked by how much it costs--you want to be sure you want Titanium! In any event, some things I learned from the video is that titanium is easy to anodize, it happens fast, and the color can be varied by changing the voltage.
Titanium anodizing for Nukotools...
The Amazing Astronomical Clocks of Pieter Merckx
I love astronomical clocks and have been working on a design for my own clock. Someday I hope to perfect enough skills to build it. Netherlands machinist Pieter Merckx has already built a number of similar clocks that are shown on his wonderful site, Astroclocks.nl.
Check out some of his art (much more on his site):
Pieter's first clock was a doozy!
A CAD drawing for that second clock...
The third astronomical clock...
The third clock being assembled...
The builder in his shop. The machines are small but the inspiration is great!
How Does Germany Stimulate Its Manufacturing Economy?
While the US and many other parts of the world has suffered high unemployment in the present difficult economic conditions, Germany's unemployment rate has steadily declined. It stood at 8.6% in 2007 and today is down to 6.9%. At the same time, they're creating many of these jobs through rising exports of products, which make them doubly healthy to the German economy. German exports surged 18.5% in 2010.
Germany's manufacturing economy has been strong during this recession...
Many attribute this to their strong manufacturing economy, which is largely focused on the automotive and industrial (heavy machinery) sectors. I was curious to read about how this has come to be: what does Germany do to stimulate its manufacturing economy? Perhaps there are some ideas we should borrow for the US.
1. Focus on high quality products customers will pay extra for rather than cheap products. As Time says, the Chinese make chainsaws, but they don't make Stihl chainsaws. Likewise with Mercedes automobiles and many other products. When you build high quality products, the margins are higher and you can afford higher-priced employees. In addition, you're making products that are much harder to reproduce elsewhere.
2. Family-owned firms are committed to domestic production rather than outsourcing. German executives have been unusually focused on keeping jobs in Germany. It's not clear whether this is just a cultural tendency, or if there is more at work, but it certainly has been helpful to their economy. Part of it has to be that many German manufacturers are small and mid-sized family owned firms that have a greater commitment to their workers than corporate behemoths. This is especially impressive when you consider that labor costs in Germany are actually higher than they are in the US--it's an even greater burden to keep domestic workers than it would be for the US.
3. Subsidies rather than lay-offs with unemployment benefits. When the recession hit, the German government subsidized wages so companies could keep their valuable employees in place and productive rather than unemployed, on the dole, and looking for jobs. This enabled German firms to put the workers on projects that would yield dividends in the future, and to keep the worker's valuable skills and knowledge in house. Where lay-offs were still a problem, German companies went to reduced hours instead of lay-offs.
4. Successive German governments have been clear and consistent in their support for Manufacturing. Somehow the US government has always seemed to favor the Financial and Energy sectors more. The Germans have also had extremely strong ties between the University system and manufacturers.
5. Financing is dominated more by the long term perspective of banks and less by the short term perspective of stock markets. This allows German companies to plow a lot more of their profits back into making the companies even more efficient. Bank funding in Germany is much more understanding and supportive of long-term manufacturing investments. Companies have longstanding relationships with particular banks (Hausbanks) and there is loyalty between the two.
6. German employees have considerable "voice" and therefore loyalty. German employees have a high rate of pay and job security. While Unions are strong, and half of all seats on supervisory boards are reserved for employee representatives, labor acts responsibly and in concert with management for the good of the company.
7. Manufacturing is a valued occupation. German manufacturers are run by engineers rather than sales and financial people. Young adults see manufacturing as a valued occupation, and the education system is there to help them succeed if their aspiration is to get into the industry.
The German manufacturing system is certainly not perfect, but it has a lot going for it. Reading through some of this I couldn't help but think what a great thing it would be if Apple, for example, had decided that its great high-quality products had to be manufactured in the US. Seems like we could do with a bit more manufacturing and a bit less Wall Street in this country.
Every Business Needs a Polite Soup Nazi
Have you ever seen the Seinfeld skit about the Soup Nazi? It seems there's a little deli that has the most amazing soup. There's just one little problem: the owner is the Soup Nazi. If he doesn't like the way you're trying to do business, he immediately refunds your money and announces loudly, "No soup for you!"
Every business needs a Polite Soup Nazi...
The Soup Nazi is clearly a comedic spoof, but in the end of the day, every business really does need to have a Polite Soup Nazi. If you don't have one, how else can you fire a customer? I can already hear the cries of protest:
What?!?? Why would you ever fire a customer?
We're brought up hearing that the customer is always right and generally that we should do anything, no matter how unreasonable to make customers happy. But, it turns out, this is actually bad advice. What's really needed is to be unreasonably helpful to good customers, and to be quick, polite, and effective at helping bad customers to realize they probably want someone else's product.
A troll is someone who posts inflammatory, extraneous, or off-topic messages in an online community, such as an online discussion forum, chat room, or blog, with the primary intent of provoking readers into an emotional response or of otherwise disrupting normal on-topic discussion.
We've all had customers act in inflammatory, extraneous, or off-topic ways in order to provoke an emotional response either for their own entertainment, because they're having a bad day, or simply to gain a negotiating advantage. Do you want trolls for customers? Heck, I understand a bad day, but trying to provoke an emotional response for negotiating advantage is something I can live without.
- The cost to make the customer happy is much higher than the cost of losing their business.
- The customer is being consistently unreasonable in ways that just drive you too the point of concluding life is too short.
- Customers who are clearly looking for something radically different than what your product delivers, but who want to aggressively make the case that you should listen to them and change your product because they're an expert or "a lot of people obviously feel the same way".
- A whole host of other problems that cause you to incur inordinate costs, spend too much energy, etc. Always being very late paying the bills. Yelling, screaming, or being threatening. Always being extremely negative, critical, or nagging.
Yeah, but if I fire all my customers, who pays the bills?
Having a healthy and objective attitude about firing certain customers is not a manner of turning away every customer that is demanding or occasionally unreasonable. As I said, you actually want to try to be unreasonably helpful to good customers. They're the ones who will appreciate that service and for whom the karma involved will net back a return that makes it worthwhile. But, you're also entitled to enjoy your business at some level.
By now, you're still wondering, "But what about the customer, what are they entitled to?"
That's a good point. Some of the customers you should fire just make a career out of being unreasonable. They know that the squeaky wheel can get a little extra grease. You'll have to decide for yourself how to deal with that category. But a lot of the customers you should fire have a legitimate beef. They really are unhappy and they're telling you so. They're probably even reasonable to be unhappy. However, what you need to do to be successful with your business will not make them happy. For example, because you don't have the product they really wanted, and you're not planning to start selling it.
In those cases, you're doing the customer a favor by helping them to realize as soon as possible that you don't have the answer that will make them happy.
What's your policy for firing customers?
First is to have some good idea of what good reasons are why customers are legitimately unhappy that you can't fix. Put another way, which problems are you explicitly not going to solve for your customers. For example, at CNCCookbook there is a short list of things that we hear about from time to time that we don't plan to change:
- We want our products connected to the Internet. People often think that is a function of license keys and copy protection, but it actually has little to do with that and everything to do with my view that the world is becoming an increasingly connected and online place and that there is a lot a product can do when it has a connection that's not possible when it doesn't.
- We want to sell a subscription and not sell the software outright. We do this for all sorts of reasons we explain on our About page. Our subscription policy, together with our prices, means we're behind our competitors in revenue for several years before we catch up, but we believe in doing business this way and don't plan to change it.
- We're not trying to sell the cheapest, we're trying to sell the best. Maybe it's not the best to you, but a substantial majority of our customers think it is the best for them.
I could go on, but you get the idea.
Second thing to do is to think about the more intangible reasons you might fire a customers. For example, we view our customers as being part of a community. If we knew each of them better, we'd be friends. I spend hours every week exchanging email with all sorts of folks who ask questions, whether or not they have even purchased any of our software. I enjoy doing it and it helps folks to learn. Send me any sort of reasonable question about machining, ask nicely, don't abuse the opportunity, and I'll work hard to get you back an answer. I want to be motivated to do that. We both have the same interests in machining. We have a mutual respect. Hey, if we knew each other better, we'd go out for a beer or cup of coffee to share some machining stories. When I get a note from someone who starts the conversation out in a way that seems abusive, I start wondering whether to respond as the Polite Soup Nazi.
How does one go about firing a customer?
The best thing to do is make sure you're communicating clearly what a good customer is so that bad customers don't even try to sign up. Don't hide the details of your product in hopes someone will call with a question and then you can work on selling them. Get it all out there. The best customers will know themselves whether they should buy your products if you arm them with the information to make a good decision. If there are certain topics that many customers run afoul of, think about how to get those topics out there so that would-be customers can figure out where you stand on the issues ahead of time--that's one reason I'm writing this article. It's much better to have someone who will turn out to be a bad customer decide not to even start down the road of being a customer after reading the information your provide.
Inevitably, some will slip through, or more likely they'll come barging in brashly and loudly the way Customer Trolls do, having ignored your cues, and demanding something or other you're not prepared to give. If I discover that a paying customer is a customer I should fire, I cheerfully refund all of their money, no matter how much value they may have extracted along the way, and we move on. Incidentally, this has only happened once that I can recall for CNCCookbook.
If we're talking about a prospective customer, and no money has changed hands, but it becomes obvious in the initial communications they're not a good fit (too abusive, looking for a different product, etc.), I will cheerfully direct them to my favorite competitors. By favorite, I mean the competitors that have the best products. There are some excellent competitors in the areas I work in, and I have communicated with most of them. They're good people, their products are different than mine, and I can recommend them without reservation to anyone. For CNCCookbook, the most important thing is to move a customer that's a bad fit somewhere where they can be happier as smoothly as possible.
How often will I have to fire a customer?
I mentioned the full refund has only happened once. I credit that, BTW, to being willing to steer people away if I suspect problems up front.
The Harvard Business Review article I linked above has a good anecdote:
Some years ago, when our venture firm was starting one of its first retail ventures, I met with a highly successful CEO in the retail services industry to better understand how he did so well across all of his stores (he had some mind-blowing numbers). It was abundantly clear when you walked into any of his stores that his customers were genuinely delighted. I asked him for his secret. His response surprised me and has therefore stuck with me: "When we open a new location we quickly grow to a database of 8,000 customer names — and then work hard to get it down to 1,500 names."
That retail services CEO was firing the majority--out of 8000, he only wanted to keep 1500. Therefore he fired 80%!
I can't go that aggressively into firing customers. I'm not shy about it for financial reasons, but just emotionally, I find I like most people. I've kept track of it, and at CNCCookbook, I probably get 1 customer that I send to the competition every 2-3 weeks. That's about 0.3%. If the HBR anecdote above is any indication, I should probably fire more customers.
Firing customers makes a lot of sense if you think about it. The customer has a chance to be happier. You have a chance to be happier. But, most importantly, the customers you keep are customers you really want to work hard for and who love your products. How do you go wrong with that win-win situation?
Honey, Who Took My CNCCookbook Articles?
Periodically, we hive off the articles on this page to our Blog Archives to keep the page from growing indefinitely. We usually wait far too long (sorry!), until our home page has grown unwieldy. When that happens, we simply copy the articles off the the Blog Archive and start in again. Just go check out the Blog Archives to find those missing articles.
G-Wizard Picks Up Dovetail Cutter Feeds and Speeds
The latest release of G-Wizard, 1.610, has added support for Dovetail Cutters. It's simply to use, just pick the nearest angle to your dovetail (a lot of angles are available) from the dropdown Geometry Menu:
To calculate feeds and speeds for a Dovetail, use the Geometry menu (circled in red) and select the closest angle to your dovetail's...
For diameter, be sure to use the diameter of the dovetail, not the shank. You might also consider dialing the "Tortoise/Hare" slide all the way left if you're not in a great hurry. These cutters are delicate, and that will further minimize the stress on the cutter.
- Be sure to open a slot as wide as you can with a regular endmill that is also slightly deeper than the dovetail. You want to minimize the work your dovetail cutter has to do and they're not really designed to do the full slot.
- Having opened up the slot, you still want to baby the cutter through--don't expect to cut both sides in one pass at full depth.
- You can make partial passes running the cutter along the top and both lowering it and moving it laterally into the cut each pass, the way you would move the cutter along the thread "wall" when cutting threads. For each pass, go down say 10-15% and then feed laterally until you get to the edge. This is a typical step down you'd perform pocketing, it's just you're doing it with a dovetail and typically in a straight line.
- If you need the clearance, use a smaller dovetail cutter of the same angle so you can make those step passes and then move to a full-sized cutter for final finish.
- You can use a different and less delicate cutter to step profile and then clean it up with your dovetail in one or more passes: