So last time I wrote about my awesome new spindle. It is a serious piece of equipment and the rest of my machine now seems somewhat inadequate to deserve such a beauty of precision engineering.
One way in which the rest of my machine fell short was in its ability to cope with the Electro-Magnetic interference being thrown out by the variable frequency spindle. I noted last time that I had ordered some capacitors to try to resolve the issue.
So what have I learned about EM interference? Well, essentially every wire you run could pick up voltage blips from EMI. If these wires connect to digital signal lines, such as step and direction inputs to stepper drivers, then this gets picked up as random motion. If those wires are connected to ground on your arduino… well that can cause it to crash. So… what do capacitors do to help?
I should pre-fix this by saying I have only what I would consider to be a pragmatic understanding of electronics, and I could be mistaken in my understanding, however I have now fixed my problem so if nothing else there is that.
So the mental model I find most helpful is that an electronic circuit is a little like a closed system of water. In this model EMI basically causes ripples in the water that can be mistaken for the water flowing. A capacitor then is a little reservoir. they come in various sizes depending on how big of a reservoir you want. but even a very small one is enough to absorb a ripple without it making it to the outlet of the reservoir. Where a real signal is a more serious movement of the water, which easily fills and pushes through the reservoir. So capacitors act as filters for this ‘high frequency’ low but low power type ripple. They also act to ‘smooth’ power supply. essentially in our model the water in the system flows a little erratically around our desired rate, sometimes a littel fast, sometimes a little slow. for components that require a certain amount of flow in order to work, having a little local reservoir near their power input means that when the flow is a little fast the reservoir fills, and when it is slow the reservoir is depleted, but the component can keep drawing at a consistent rate so it looks like a nice smooth flow. Obviously depending on the peaks/troughs of flow, you may require a larger reservoir to have sufficient capacity to smooth out a larger variance.
Now with that model in mind. basically I put small 0.01uF capacitors between the step lines and ground, and also between the direction lines and ground. I then put slightly larger 0.1uF capacitors between the v+ and gnd of the stepper drivers. And lastly I put a big 10uF 25v capacitor between the v+ and gnd of the main 24v supply for all the steppers. In operation it is likely that there will be peaks of power usage across the stepper drivers, and the extra capacitor provides a chance to provide in these high use spikes without the power dropping lower than it should.
In addition to all these capacitors, I also had a problem with spikes on the ground line to the arduinio causing it to crash. I wasn’t really sure how to solve this because I didn’t really know where I would introduce a capacitor. The issue here is that the arduino needs to share a common ground with the stepper drivers in order that the signals be correctly detected. However there is really 2 quite different voltage circuits here. the arduino and its signals are on 5V, but the rest of the circuit is 24v for the motors, from a different supply. The ideal thing here I have discovered would actually be to properly isolate these two circuits.
How? there is a component called an opto-isolator. essentially this is an led in a package with a light sensor. the led is powered by one circuit, and the sensor is powered by the other. basically the two isolated circuits are able to signal each other via light, and keep their electrical systems independent. This is an obvious next step for me, as this would allow a more robust setup and might pave the way for future enhancements with even higher voltage motors.
However those haven’t arrived yet. Thankfully there was one more change I made that fixed the last of my issues.
It turns out there is a reason that computers come in metal cases, and those cases are earthed. This is what can also be described as a Faraday cage. These are used to essentially give any EM a path to ground.
When I originally set up my electronics I stuck it in an old cat food box. It just happened to be about the right size for my circuit board, and at the time I was only thinking of keeping components together and a little protected from dust.
But cardboard boxes do not screen EM. So I bought myself a cheap PC case, which even included a power supply and a fan. This was a bargain, I was able o use the pc supply to power fans in the case, and also cooling fans on the stepper motors. Whilst also neatly housing the electronics and running the cables neatly. It looks pretty good and the best part is that this seems to have completely eliminated the problems I had been having with interference in my circuit. yay!
One last note of improvements. nothing to do with interference but certainly an issue I was having was the steppers getting hot. at 24v they were getting too hot to touch, and given two of them are mounted using 3d printed parts, they were getting hot enough to warp the plastic. So I bought 2 AMD cpu heatsinks with integrated fans. These things were fairly cheap, and they are super effective. I’ve really only lashed them in place, literally using string and gaffer tape to hold them in position. But even after hours of operation those steppers are still cool to the touch. I only did this on the Y and Z axis. the X axis has 2 steppers and they both seem to run cooler anyway, well around 50C, I balance a long steel ruler on each to act as a bit of a heat sink and that seems to be sufficient to keep them from getting alarmingly hot.
So, do I now have a perfect machine?
Not yet…I still ahven’t managed to make a complex 3d carved object successfully. I got very close this week with a raspberry pi case that I was milling. But I’ve been plagued by human error in various forms. First attempt I messed up the model and the setup of wood. this meant the milling process first wiped out a wall of the box that it should not have, then it cut all the way through the stock when it was supposed to leave some material to hold things in place.
Then in my second attempt after about 4 hours of machining the bit slipped in the collets grip, causing it to cut far to deep and pull off course into the piece and ruining it. Frustration abounds, but I am trying to learn from these mistakes. I feel like I am close to making a really nice precision part. I just need the time!
Today – I am going to upgrade GRBL to the development branch to see if I notice any improvements in speed, and I’m going to push the speed of the machine higher. This is a real tradeoff, the faster I push it the more forces at work, and the higher the chance of a failure. However too slow and everything takes far too long, and I consume days and days of time, and still risk a failure screwing up. So I will at least try to go faster, but also to try machining parts one at a time, to reduce risk of failing half way through a pass on multiple bits. Wish me luck!
For Christmas I was lucky enough to be given a new spindle for my DIY cnc machine. Until this point I had been using a combination of a small rotary tool, essentially a knock-off Dremel, and a bosh palm router.
the small rotary tool was good for small bits, however it was not really designed for continuous operation over hours of cnc time, and inevitably it burned out.
knowing full well that the bosh palm router was similarly not really intended for continuous operation I was keen to avoid the same problem. So I looked around and found the wonder that is a 2.2kW water cooled spindle. Then I dropped some heavy hints, and since I have the best wife in the world, she bought me one for Christmas.
It is epic.
the spindle weighs about 5.5kg, It comes with a separate box of electronics (VFD) for managing the 3 phase voltage frequency. essentially you dial up a frequency on the control box, and it sends that to the spindle which maps to a particular rpm.
This is a serious piece of industrial equipment, I needed to buy the appropriate power cabling, and wire it up. I did a lot of research and I have a pretty decent familiarity with doing this sort of thing, I would advise against doing this unless you are very confident. high voltage wiring is not something to take a chance on. I bought a crimping tool especially to make a nice job of the wiring, and be triple sure there were no stray wires making odd connections.
I was initially worried that the z-axis might not be able to lift the additional weight, it is significantly heavier than the bosh router. However it seems to cope just fine.
I also mounted the VFD onto a big metal plate, itself mounted off of a hardwood back piece. this ensures proper air clearance around the box, for cooling etc. the metal plate came from an old tv table I had. At this point that table has been cut up and used into all sorts of different things ;-)The hard wood back came from a hi-fi cabinet my dad made probably 20 years ago. I have a feeling the wood originally came from an x-ray machine room decommissioning (they used to have hard wood tool racks or something), since that is where he wound up with a bunch of such materials during his career as an engineer.
In any case I got everything wired up, and started up the spindle and was delighted by just how quiet this thing is. At full speed (24,000rpm) i can still easily hear myself talk. No more need for ear defenders!
Now this is water cooled, and whilst it will probably be a long time before I really push it hard enough to require the cooling. I set that part up also. I got a huge bucket (intended for wine making) and put in 70:30 mix of de-ionised water and anti-freeze coolant. submerged the pump in it and plumbed everything together. based on my research this much fluid should be able to passively cool around 400watts of heat. That number was an estimate assuming the worst case of a 2.2kW spindle, 80% efficient and thus putting out around 400W of that as heat. If it ever becomes a problem that it is not sufficient I can either add a load more fluid to the reservoir for passive cooling, or I could put a radiator inline. But I’m guessing it will not be an issue.
I have done a couple of test runs, and I’m super happy with how much power this thing has, I actually had an incident with the gcode generated by F-engrave, it was supposed to be metric, but for some reason grbl didn’t like a couple of the commands and wound up ignoring the call to set metric mode. So rather than attempt to plunge 1mm into the surface, it tried to plunge 1 *inch* into the surface. luckily it was doing this along a path and slowly getting to depth so I was able to hit the brakes before it got too far, but by then it was already probably 10mm down and going strong. the spindle didn’t have any trouble at all maintaining 12000 rpm as it plunged on in. But I am not quite ready to stress test it…
The other great thing is that the spindle takes er20 collets which range from 1mm to about 13mm, this means I can use all my router bits, and all my Dremel bits, plus other specialist cnc bits that I bought. It’s a quick change to swap out the collet so no more having to remount different machines to do detail versus heavy work.
However, all this awesome is tempered by one issue which I can no longer ignore. As I have discovered over the course of this project, every time I fix an issue, it reveals another which was previously not significant enough to be noticeable. This time the issue was how poorly my electronics setup handles interference. Previously this had not been terribly evident, however now there is a big 240v variable frequency motor right there, and even with shielding it is obviously putting out some EM. In this case it is getting picked up on the step/dir pins of my easydrivers, and causing the axis motors to twitch (very evident when you start or stop the spindle) and this causes lost steps etc.
So for the moment I am still not able to achieve the accuracy I want, I have on order a bunch of capacitors and the plan is to essentially sprinkle them around the circuit board in an attempt to prevent the EM interference from causing a problem. If that doesn’t work, then I will likely return to the drawing board on the driver electronics, but I’m hoping it won’t come to that. Unfortunately despite having ordered my capacitors last weekend, I’m still waiting for delivery, and Maplin has failed me in that they hold essentially no stock, and 1 cap is not going to do it.
Every year in the run up to Christmas, I go quiet on the blog, and other places where I would normally share the projects I’m working on. Because the projects I’m spending my time on are gift for Christmas, and I don’t want the recepients seeing details before they get the present.
This year I worked on two things, one for my wife, and one for a secret Santa that was going to one of my brothers.
Project 1: A personalised book press
My wife made a number of notebooks to give as gifts for Christmas, and has done so before. They are really nice hand made notebooks, and a key part of the process is to squash the pages nice and flat. Normally she does this with a pile of heavy books. However it gave me the idea to make her something more designed for pressing things.
The idea was fairly simple, 2 blocks of wood, with holes drilled in each corner, and through hole a long bolt with a wing nut to allow the blocks to be tightened together.
The personalisation touch here was to engrave the words ‘Kat’s Book Press’ on the top surface of the top block. This was of course somewhat inspired by the fact that I’ve spent much of the year building a CNC router, without which this would have been an extremely time consuming and difficult carving exercise.
To make the model I setup openSCAD to be able to render fonts, then rendered the words and set them into a a recess in a block. It was a fairly simple piece of cad in the end, though only because there were good instruction on setting up openSCAD to render text.
For the machining I had it run in two passes, one with a 1mm material allowance, then a second tighter pass. This worked pretty well despite being limited to quite a large 6mm bit.
Project 2 : Custom painted Nerf Gun
During this year I have customised a couple of Nerf guns for myself, at one point it became a bit of an addiction…
So when thinking of what secret Santa present to come up with for one of my brothers, a Nerf gun seemed the obvious choice. I picked the strongarm as it is very popular among the guys at work.
I didn’t do any of the normal firing mods, like removing air restrictors etc. I just focused on the paint job. In this case I decided to go predominantly white, with some details picked out in blue and red.
It was the same basic process as the others I’d done. Disassemble, sand off the logos/warning labels, lightly sand everything, spray with a vinyl undercoat, then a few coats of chosen colours using masking tape to block off different areas. Then a pass with the detail colours, and some dry brushed silver for a slightly worn and aged effect. Lastly a clear crystal coat to protect the paint and make it something that can be used.
I think both presents where appreciated by their respective recipients, and I hope they get some enjoyment from their use. I didn’t actually intend to make any gifts this year since it takes so much time. However once I’d had the ideas, I couldn’t help myself. In the end I enjoy making something a little more unique, if I had the time I’d try to do more gifts this way.
Back in August I wrote about completing an NHS podcast series ‘from couch to 5k’,I found it to be a useful structure for getting myself into running, and up toa reasonable standard.
Since then I have carried on running. This morning I completed 16km, the second time I’ve run this distance and i beat my first time by a few minutes.
So I thought I’d write a little about the stupid mental tricks I’ve been using to stick at it.
When I did the original programme it was summer, the weather was pretty amazing, and I did a lot of running on bright, hot, summer evenings. Since then we have plunged into UK autumn and now heading into winter. It is dark before I leave work and it is frequently only 2-3 degrees C when I get home in the evening.
Believe it or not, I am not imbued with a non-stop high energy feeling, bursting to get out and get running. I am frequently tired, and looking for excuses to not run. I suspect this is the case for all runners ever. So the question becomes, how do I overcome this natural instinct to curl up on the sofa for the entire winter.
Mostly the parts of me that know I should keep up the running, lie to the parts of me that really don’t want to. Its definitely a psychological battle within yourself.
There are the traditional elements of trying to remove barriers. Making sure that your kit is clean, dry and ideally warm and ready to go is essential. During week day evenings I start trying to get myself prepared for the idea that I will get in, get changed, and get on the road. absolutely no stopping to relax or sit down. No distractions. I know if I allow myself to think “i’ll just get that done first before I go” that its the top of the slippery slope to the sofa.
If I’m not in the mood, I tell myself to make it a short one, just get a few km out and turn around if you want.
my route has lots of obvious places I could bail out early, turn back and go home. Mostly though I find this just helps me pretend I’ll turn back long enough to get warmed up. Then of course its a matter of “well you’ve come this far…it would be a waste of all that will power if you just give up so soon”
I often tell myself I’ll have a nice treat when I’m done, want pizza? sure we can have that when you get back, Wine? absolutely, whatever you want… when we get back. The thing is that after a good run, I’m always out of that mood, not that hungry any more, don’t feel the desire to follow through on whatever treats I promised myself.
At the weekend I have certainly found that if I drink the night before, I’m in for a hard time. It makes running a hard slog. So I try to flip it around and choose to go easy or not drink of an evening, with the idea that I’ll run in the morning but reward with wine the following evening. Another super important part of prep is that I have a box of alpen bars next to the bed. In the morning I can sit in bed, catching up with the internet and eat an alpen bar before getting up. The bar kicks my metabolism into gear, and gives me the start I need to go for a run. I tried running without this, again it was a horrible hard slog. Also it is relatively easy to sit in bed and eat the bar, but once I’ve done that its like I’ve committed to the run. can’t back out now.
I often leave the house without really deciding how far I’m going to go. I generally try to go further at the weekend and during the weekday evenings, but that is mostly because I have more time to do so. It is easier to decide to do 10k when you’re already 5k in and still feeling pretty good.
Though when I do decide to go for a longer distance than I’ve managed before, I do tend to explicitly take it much easier, not trying to get near my normal pace, just settle into the long haul. This is good because I make it easy for myself to hit my goal, and I also set myself for the second attempt to easily beat the time of the first run.
I’ve not spent too much time explicitly chasing personal bests. I’ve tended to try to run further rather than faster. The faster happens on its own as what was once a challenging 5k becomes just how far it takes to feel you’ve warmed up.
So far I’ve run through a gorgeous summer which was easy, through dark nights which was easier than I thought, and pouring rain which can actually be quite nice as long as it starts after you’ve started (once you’re soaked, rain stops having much impact). But the worst thing is cold. Rain and darkness is fine if its mild. But cold is very hard, it takes at least 2km to start to feel warm. I’m hoping there are enough mild days to the winter to avoid me having to deal with any seriously cold days. But I’ve also bought some longer running trousers, and will get a warmer jacket to try to mitigate against the cold.
So far I’ve racked up about 450km of running since I started. The fact that I know this is one of the main long term motivators. I’ve been tracking my running with a gps tracking app since I started. Every so often I approach a big marker, like 400km, and that run becomes pretty easy to go for, its the run that will take me over the next big step. as I head towards 500km, I have my eye on that, but also the longer term idea of one day making it 1000km. All of which seemed like complete crazy talk back when I was starting out with 1 minute runs. But through studious mind games, and some reasonable prep I’ve somehow become someone that runs 10 miles before breakfast at the weekend.
I’m reliably told by more experienced runners that a half-marathon is really just a 5k with a 10mile warm up…So I guess that is the next obvious milestone.
Do you have tricks to keep yourself running? let me know!
I have a nexus 4, which I think is a great phone. I have it in a fairly reasonable hard aluminium case to protect it. Using a case is normally a good idea, however the thing about most cases is that they are incompatible with and dock.
Since there are so many case options, and they’re all slightly different, no one that makes a dock can do anything but make it for the bare phone. However, that is a real hassle, it means constantly removing the phone from its case every time you want to put it in a dock.
Enter – a job for a CNC router!
This seemed like the perfect job for my CNC router, so I fired up openSCAD and set to designing my own dock, specific to the exact dimensions of my nexus 4 in my chosen case.
Originally I wanted to make it out of some clear acrylic sheet I had, but that turned out to be somewhat over ambitious, my CNC setup just wasn’t able to cut the acrylic without melting it. Sadly in my attempt, the melted plastic wrapped around my cutter and under the stress is snapped. This was not a good day.
The design is parametric, at least kind of, which just means there are a bunch of variables in the file to try to adjust for things like material thickness, so that if you need to switch from 4mm acrylic to 3mm mdf, then there isn’t too much work to do in the model.
This version came out ok, however I decided I’d like to try making one from plastic, so I ordered new router bits, and some HDPE (dense plastic) in the hopes that I might get away with machining it without it melting.
I also made some tweaks to the design, the hole I had left for the usb port was not quite big enough, I wanted the legs to be a little longer at the back to give a bit more stability, and I needed somewhere to mount the electronics that I pulled out of an old htc desire z dock.
I did a few test cuts on the new hdpe, and it went well from a cutting perspective, however it revealed real levelling problems, the base was a couple of mm out from one side to the other causing problems for cutting way deeper than intended. I spent a while faffing around trying to get things more level which improved things a lot, but I think I was still a little out, as some parts ultimately got cut completely out and others had a small layer of plastic left.
This is something I need to work on more in the future, I think I need to design something that lets me adjust the level of the bed, whilst still allowing me to clamp things to it and keep everything firm.
The actual cutting went well, I used a new control program the GRBL Controller, where previously I’ve been using the universal client. The big advantage of the grbl controller is the ability to set different limits on the speed of z movement to that of x/y. I didn’t take advantage of it this time, but will certainly try it out as I know the z axis stalls out on me much slower than either the x or the y do.
The assembled mark II dock
The final assembled thing needs a lot of work, sanding to clean up the sides, and I had to hot glue things to hold them together. I think this method of tabs just doesn’t work so well unless you have crazy precision, and possibly a laser cutter. Maybe at a larger scale, with a thick material and chunky tabs the inaccuracy would be negligible, but I think at this scale I’ll need an alternative technique.
The engraving of the nexus 4 label on the front panel went perfectly in one sense, and not so good in others. It was a great precise cut at shallow depth with a bit that spun exactly central (the finer the point the more obvious any vibration in the point becomes) However the cut path revealed a clear 1mm backlash in the x-axis, particularly on the middle bar of the S which is cut approached from both directions. It actually looks ok, with a double bar in the middle because the cut was so fine, but clearly there is still work to be done on the x-axis. To that end I have ordered some delrin anti-backlash nuts, which hopefully will arrive soon.
Things that went well:
Building the model in openscad, helped visualise and adjust precisely for certain clearances etc,
Repeatabilityy – everything cut in a nice repeatable way, it was a long job and nothing went wrong whilst it was running
Cutting HDPE – this worked, no melting just clean chipping. so it adds a new material to the arsenal of options
Things that went badly:
Cleanness of cut – I got lots of frilling along the top edge, I now understand why I need to make 2 passes, the last with a downcut bit! will need to buy one
Levelness of cut- my bed is out of level, possibly due to temperature variation since I levelled it
Holding tabs – not very happy with how these look in the end result, not a clean finish, and don’t hold tightly without glue
I very recently completed rebuilding the y and z axis of my homebuilt CNC router. However even as I was finishing that build, I knew the z-axis design was no good. After quick testing I could see I was right, it ‘worked’ but really wasn’t much improvement on the mk I design. This weekend, I rebuilt it again using the ideas that I developed when I rebuilt the y-axis. It now works great.
First some history.
The original design of both the y and z axis was based on the same idea. two identical metal plates would form either side of a carriage, the threaded rod would pass through a tapped hole in the centre of each plate and thus they would be driven. At the ends of the metal plates I drilled a hole which mounted two 90 degreee brackets at 45 degrees to each other. In the brackets I bolted skateboard bearings. The linear rails were made from lengths of square section, mounted parallel with corner the of the square section facing the other rail. The carriage plates fit between the two with the 45 degree mounted bearings then running flat against the faces of the rails.
This design allowed both linear travel along the rails, and provided a clamping effect to stop lateral movement. At least that was the idea. The problem with this design is that it really required a lot of precision all over the place. The first issue was that the tapped holes that the threaded rod passed through were not perfectly aligned, and the rod could not easily pass through both and still turn. Over various iterations I first enlarged one hole, then both and replaced driving effect using a nut mounted in a wooden block.
The theory of the clamping effect, also failed to operate perfectly, it was too hard to adjust all the bolts to be tightly secured and clamping with sufficient force. The slight mis-allignments in other things meant that there was always a small amount of wobble in both axis.
To be fair this first design worked enough, and I was able to use the machine to make a few things, including parts for the mk II z-axis. However it was apparent in usage that the machine was too prone to having the router tip pulled off course, there was too much twist and wobble in the design and this caused backlash effects, particularly under lateral cutting loads. Drilling operations were mostly find and accurate, however the z-axis would visibly rock when moving up and down. This has the effect that when deep in a cut, retracting the router would wobble the cutter back and forth into the walls of the cut, not terrible, but far from ideal.
I wrote all about the Mk II in a previous post. I focussed on the lateral wobble issues, and realised the machine worked well enough to help me build a new z-axis. The idea was formed on 4 ‘layers’, a back plate, a front router mounting plate, and 2 carriage pieces that would clamp driving nuts inside, along with bearings at 4 corners. 4 bolts would run through each layer clamping everything together and forming the axels for the bearings.
Basically I hoped that the carriage would be held tightly between the two, now square on, linear rails, and the back plate and front plate would simply slide up front and back flat surfaces, resisting flex in the +/- x direction. The whole thing would be nicely centred on the rails and the z-axis motor would get a nice straight alignment.
I also realised that in order to mount this new z-axis, I really needed to make serious adjustments to the Y axis. So having cut the pieces for the z-axis, I started thinking about the Y axis.
Here I came up with a much more elegant idea. I had been thinking a lot about my (in)ability to get a high level of precision, so my design allowed for that fact. The other post has all the details, but effectively it relied on lots of m8 threaded rod, and lots of nuts to allow positioning.
No sooner had i tested the Mk-II than I knew the z-axis needed to change again. The rocking when moving up and down was still an issue, and if I tightened things enough to resist wobble, the back plate and front plate added too much friction for the motor to overcome. Again it worked enough to produce a piece, but by now I already knew I could do better.
I knew I needed to make space to mount bearings behind, and in front of the z axis rails. the way I had them mounted there was not quite enough room for a bearing to run behind. so out came the dremel, and I cut away the y-axis wood platforms, to make room for a bearing. Fortunately there was enough ‘waste’ wood to cut away without compromising the y-axis.
with space cut, I could make up some threaded rod with bearings mounted at the appropriate spacing for the z-axis rails. I had the rod left over from making the y-axis. The initial theory was to use the same kind of platform I had in the y axis, with a bearing mounted on a right angle bracket to run along the sides. However, in a classic case of design by limitations, the remaining lengths I had were not long enough for that idea. So instead I realised I just needed a way to mount a threaded rod at right angles, which I could put another bearing on. For this I could use a small amount of plastic (not sure what kind, its black and used for machining, I got given a box of off cuts a few years ago) drilled with two holes at right angles to each other, one above the other.
this lead to something that looked like:
This design looked great, it used very little room, required only a very simple machining operation from me to make the plastic blocks, and the rest was just a question of tightening nuts in the right places to space bearings around each side of the rails. I could re-use the central 2 layers from the mk2 z-axis to run between the rails, and mount to the new runners.
This means I have bearings running tightly against every surface of both linear rails. providing a nice tight, wobble free linear motion.
In one of those happy accidents, the long bolts I used for the outside edges of the runners had the same spacing as the slots I had cut in my router mounting plate. So they passed right thorough and allowed for easy mounting by just bolting it on. All of this added about 25mm depth to the axis configuration accommodate the bearings running along the front, but I’ve easily gained in overall rigidness of the structure.
The new mechanism slides up and down very smoothly and in a test I was very happy with how it performed.
So with the mk III z-axis and the mk-II y-axis running great, it’s time to turn my attention to the mk-I x-axis. It is now possible to cut a test circle that shows a nice smooth direction change on the y-axis, and decidedly un-smooth transition on the x-axis. I’m hoping that by applying some of the ideas I’ve developed on the other two axis, I can get the x-axis running better and start to really turn my attention back to making things.
I’ve been quite busy over the summer, and with the lovely weather I’ve been less inclined to spend any time locked away in my workshop with no windows.
However, I have been designing and thinking about my CNC. In my previous experiments with my machine I found a few issues, which I was keen to fix.
The first issue was in the Y-axis, the motion was not smooth. Moving back and forth it would sort of pulse in the direction of travel rather than slide smoothly. It was also not a great alignment of motor/shaft/driving nut, so some parts of the workspace were more reliable than others when it came to moving the y-axis.
The z-axis had a similar pulsing problem, but also the mounting for the router had some issues. I had originally just hard screwed the rotary tool in place on a piece of mdf, and that was only really supported at the top end where it attached to the z-axis sled. When I tried to make the machine cut faster, what I found was the increased forces caused the mdf to bend where it was unsupported, and also flex laterally allowing the cutting bit to cut off course. I had this happen in all the materials I tried and once pulled off course the job is ruined.
So I set out to redesign my whole approach to these two axis. When I first had the idea, I was working on the principal of 2 bearing mounts, at 45 degrees to each other, riding along the corner of a square section linear rail. This pattern repeated at the four corners of a sled. In theory this gave linear slide as well as holding against lateral movement. But the reality was that whilst that could have been possible with perfectly engineered pieces, my actual construction had too much inaccuracy and there was wobble that I could not eliminate. I was also working with a very limited budget and tried to achieve what I wanted with relatively few bearings.
Now that I stopped to rethink my design, I was prepared to spend a little more (though still no where close to the cost of a ‘real’ axis.) I also wanted to minimise the precision requirement, or rather, make it easier to adjust precisely.
I came up with an idea i sketched out in my maker’s notebook
basically there are 4 threaded rods, joined by a series of mdf platforms spaced along their length. each platform mounts some right angle brackets that hold bearings that will run along either the top, or bottom, of the square section rail. The threaded rods are spaced so that I could also put a bearing on the rods, and they would run along the front and back of the square section. Such that there is a bearing running on each side of the rail to hold tightly against any wobble. Every part, the platforms and the side bearings, are held in place by nuts on the threaded rod. These nuts can be adjusted precisely up and down to make sure each piece is aligned and at the right height. Once positioned, they can just be tightened in place.
In addition the top mdf piece and the bottom one, extend out to the front to support the vertical rails of the z-axis. The only accuracy required in this was to get all the holes in all the mdf platforms aligned. This is simple, since you can just clamp them together and drill through in one pass.
The main issue was making sure the spacing was correct toallow the side bearings to be snug against the rails, not too close, and not too far. However, worst case I figured i could widen the holes and use the nuts to clamp things in position at the optimal point. As it was I’m happy with the spacing and everything holds really tight. The y-axis carriage slides back and forth with no wobble. I was also able to mount the driving nut on top of one of the platforms, aligned for about the middle of the carriage.
For the z axis I had a different idea, here I wanted the rails to basically clamp a sled between them. a hole passing through the centre of the sled contains the driving nuts perfectly centered. I actually machined the bits for the z-axis on the CNC machine with its original setup. In order to keep the overall depth of the axis as slim as possible, there are no bearings front and back, there are some strips of acrylic set to press up against the front of the rails, hopefully allowing a fairly tight fit, whilst also permitting the whole lot to slide even under some pressure. I used acrylic so that I have the option to lubricate the rail to reduce the friction if necessary.
The last part of the new z-axis was to provide a well supported mdf base with slots to allow interchangeable router mounts. I have started with a mount for my bosh palm router. This means I have an easier ability to switch between big cutting jobs with the powerful router, and more detail work with the rotary tool. This mount isn’t too easy to switch, since it does need to be clamped hard in place. but the option is much better than the previous screwed in place hack I had.
All told I’m very happy with the y-axis, it runs really smoothly and has no wobble. The z-axis is less great, the vertical rails are not quite perfectly parallel, and that is allowing a small amount of lateral give, which is magnified at the tip of the router. I will need to work to correct that. However it is still a substantial improvement on the previous designs. Whilst still being very low cost.
One significant factor in all this has been the motor couplers. I have been using some 3d printed ones, but they simply aren’t perfectly aligned, and this seemingly small inaccuracy at the coupling point causes all kinds of issues. I have replaced the y-axis coupler with one I machined myself from a machinable plastic. Basically I drilled half way with a 10mm bit, then the rest of the way through with a 5mm bit. Then drilled and tapped two small holes to allow tightening screws to hold the shafts in place. This gives a perfect alignment, but obviously has no give if other things are out of alignment. This seems to work well, however after all the trouble I’ve had with couplers, I’ve bitten the bullet, and ordered 3 real metal couplers. I now see how much of the difficulties I’ve had come down to the misaligned couplers. So perhaps they are worth the money.
The other thing I’m taking the time to do, and the reason I started with the mount for the larger router, is to make sure the bed of the machine is perfectly flat with relation to the router movement. Previously I struggled with height difference from one end of a piece to another. So this was first on the list of things to do. Along with making sure I have a better way to mount work pieces than just screwing them down.
Here you can see the machine with the new axis, flattening the work area, and starting to machine slots through which I will be able to use bolts.