Back in the Breach Again !

Well everyone, everything I mentioned in my previous entry has gone according to plan !

My new online home even has its own domain name : nefastor.com !

If you’re interested, you can support me through Patreon. I’ll be launching my crowd-funding campaign as soon as my new blog hits its cruising speed. I plan for that to happen by this month’s end.

I’ve bought myself a very nice (nay, a truly awesome) camera from Sony, the fantastic Alpha 6000, along with some excellent glass for it and some professional video equipment and software, and even a pro microphone. And then I’ve learned to use all of that. My videos now look and sound like they belong in the twenty first century !

Most importantly, I’ve been working on a lot of things besides CNC that you might enjoy. Some might be unexpected.

I know I’ve taken my sweet time. I just don’t like to do things half-assed. If you’re still following this blog, I thank you for your commitment and I assure you that nefastor.com will be a totally different experience.

Posted in Uncategorized | Leave a comment

Blog Hiatus and New Directions

Hi everyone, very nice to have you on my blog.

You’ve probably noticed nothing has happened here in quite a while. This doesn’t mean nothing has happened in my lab, what it really means is that nothing has happened that I wanted to share with the world. Just as I wrote on my “Who Am I” page (check the menu at the top of the page), I never intend to make myself into an “open book” for the entire world (and the NSA) to read.

In fact, a lot is happening in my lab, but also in my personal life, and it’s all good. Nuff said.

That being said, as this blog keeps getting readers I find it important to tell you what’s up. There’s a lot, really, but it comes down to three things.

First, one of the projects I’ve been working on (let’s call it project “X”) is getting to a point where success is only a matter of time. It’s an important project that will have an impact on many of my other projects, not just related to CNC but robotics in general. I’m concentrating efforts on this project but until it is complete I don’t want to tell anything about it on an open blog.

Depending on how things pan out, this project might end-up released as an open-source project, or I may turn to crowdfunding, or it may be the basis for a good old-fashioned business. All I can say right now is that it is sufficiently complex to eat most of my working hours and that’s one reason this blog hasn’t been updated in recent months.

Second reason, all my cameras are broken. All the pictures and videos on this blog were shot with a Canon IXUS 850 and an early Sony hard-drive camcorder, both of which were 7 years old and had seen a lot of use. I cannot recommend these two brands too highly : beyond the specs and performance they were extremely reliable until they starting failing, and even then, as we say in my business, there was a “graceful degradation of performance”, which is a fancy way of saying they didn’t just die on me without a warning. The end-result however, is that my latest videos have been shot with a smartphone. I don’t like it, and I doubt you like it either. Unfortunately at this point the only reason I’d have to invest in new photo / video equipment is this blog, and that’s not a good enough reason. Ergo, I can’t show you much of what I do right now, even if I wanted to.

Third, and most important as far as this blog is concerned, I have been learning a lot about blogging as a way to make a living and it has become clear to me that the format I chose for CNCExpert is suboptimal in many ways. Trusted friends have been advising me on how to create a blog that could sustain my lifestyle and activities so that I wouldn’t need a “boss” ever again. Given that I consider time to be my most precious resource, I’ve decided to give it a go.

Right now I’m figuring out what the new blog would be like. All I can tell you for now is this :

  • It will not be limited to CNC. It will also cover electronics, embedded computing, FPGA, mechatronics, robotics and other fields of engineering in which I’m heavily involved.
  • It will be oriented more on sharing tips and tricks, and less on showing off my projects.
  • It will not be started until after Project X is complete, somewhere in 2015.
  • Once it does start, however, it’s going to be updated weekly as least.

Don’t worry, when the new blog is up, you’ll be the first to know ! Until then, I’ll keep updating CNCExpert.

In the meantime, if you want to donate photo or video equipment for this future blog, please get in touch. I can pay in beer and knowledge, and depending on how far you live and what you’d like to donate, I can come pick it up in person.

Until next time !

Posted in Uncategorized | Leave a comment

LNG1 as a Parallel Kinematics Machine

For some time I’ve been wanting to build a parallel kinematics machine tool and I’ve done my homework, but nothing replaces getting your hands dirty.

LNG1 is coming along slowly but its dual-drive X axis has been operational for some time, so I got the idea of using it as the basis for a simple two-axis PKM test platform. It was only a matter of cobbling together two parallelograms using DIY store hinges and some slotted extrusion beams. Here’s the result :

I rather like the way this machine moves. I’m thinking of using such a design on small CNC mills and lathes. This being only a two-axis PKM, the forward kinematics formulas are very simple, which will allow me to concentrate on their actual real-time implementation.

The servomotors used in this test are two EvoDrive ST-23’s from EvaRobotics. This specific type of fully-integrated servo isn’t optimized for CNC applications but it is very handy if you need to position something using simple commands through RS485, RS232 or USB.

Posted in CNC | Tagged , | Leave a comment

Interesting Times

I’m inaugurating this new category on my blog. I basically wanted a place where I could aggregate my rants, frustrations and pet peeves so they wouldn’t pollute the technical content of this blog. They wouldn’t be on the blog at all, however, if they were unrelated to technology.

So, you’ve guessed it, it’s “Interesting Times” as in the old curse : “May you live in interesting times”.

For let us face facts : the world isn’t all puppies and ice cream. We do live in interesting times, probably way too interesting times, and the individual’s (yours truly) inability to change the times as much as he’d like doesn’t mean he can’t bitch about it in the privacy of his own blog. You’re welcome to join me and take on the global challenge of filling the Cloud faster than the capacity of the world’s combined web server hard drives increases.

Coming up on this program : China turning our ideas we don’t want hard enough into successes we’d love to claim.

Posted in Interesting Times | Leave a comment

Servo Calibration Mystery

Hello everyone,

Since my last post I’ve modified Mill #2 to reinstall its old, shorter X axis so I could repair the damaged ballscrew on the new X axis but also, more immediately, so I could proceed with calibrating my AC servo.

Long story short, after a few days of trying, success evades me. The cogging that was due to the damaged ballscrew is gone, and this makes the calibration problems on my servo even clearer. So clear in fact that you can see what’s wrong with the naked eye :

(warning, loud phone beep at the start !)

In this video, you’re looking from below Mill #2’s table at the Oldham coupling for the X axis. I am using my pendant to jog back and forth. I mostly do singe detents on the hand-wheel. What you’d see with a stepper motor, for each detent, is the coupling making a really sharp move from one position to the next, with no overshoot and no undershoot. Instead, with the servo, I have this weird overshoot and hunting that’s really, really not what you want to see on a CNC machine tool.

If you’ve ever seen that kind of behavior from an AC servo, I’d very much like to hear about it.

Keep in mind that this servo, especially the drive, are cheap Chinese products. The only alternative I could find for a 600W, 60mm servo is from Oriental Motor and would have cost me upwards of 1,400 euros. The servo you see here cost me less than 300, and I mostly bought it for testing before committing too much money to servos. I have no doubt that it’s up to snuff, really the difference in price comes mostly from a complete lack of support from the manufacturer, including proper documentation.

Initially I didn’t see that as a problem because I know servos, so I thought I could find my way through the poorly-translated “Engrish” user manual. Turns out this is going to take me a lot more time and effort than I expected… and there you have the difference in price. Good thing I don’t have a customer expecting quick results : for once, time is on my side.

The problem at this point appears to be a rather high ratio between load inertia and motor inertia, however the manual’s Engrish is way too bad for me to even detect if there’s a way to measure it and adjust. There has to be, or this drive would just be useless… I simply haven’t found it yet.

The drive that was sold with this servomotor is from a brand called “KRS”, and they are very popular on eBay and Chinese online stores, so I have to assume it’s actually possible to make them work correctly. If you’ve ever used such a Chinese drive, do get in touch with me. If you’re interested in these drives, stay tuned : whenever I manage to get this one working, I’ll definitely post about it.

Posted in CNC | Tagged , , | 39 Comments

LNG1 AC Servo Speed Test

Following yesterday’s failure I just couldn’t let it rest, so I burned the midnight oil.

I did extensive research on the internals on ballscrews. Then removed the servo from Mill #2B and then tried to turn the ballscrew by hand. Lo and behold, the ballscrew turns freely in one direction, but “cogs” in the other direction. The only thing that can explain such an asymmetrical behavior is the asymmetrical failure of one of the ballnut’s deflectors (or several, if they are all damaged in the same way).

This behavior was made evident by using a servo instead of a big-assed stepper motor because the servo is so much more accurate and sensitive. The stepper motor simply powered through the bumps in the ballscrew and may even have aggravated the initial damage. In theory I could just pop the stepper motor back on and carry on using Mill #2B but I’ve lost confidence in this X axis.

Luckily I still have the old X axis. It has a shorter stroke but at this point it’s more important for me to keep M2B operational since I don’t have another CNC mill I can use until it’s fixed.

I took the opportunity to install the AC servo on LNG1 and verify its performance with that design. Here’s the video :

At 30 meters per minute the acceleration is so brutal that my crappy camcorder can’t even follow. The servo goes from 0 to 3,000 RPM in the blink of an eye. This speed test demonstrated something interesting : if you’ve read my previous posts about LNG1, you may remember that this ballscrew (and the identical one on the other side of the machine) are actually spares taken from another project. These were made in China and because of their length (and FEDEX apparently playing baseball with our packages) they arrived with a slight bend, about a couple degree over their entire length. I initially decided to write them off : they were cheap and not worth going to the trouble of find a way to straighten them.

On LNG1 they were only supposed to be placeholder until construction of the machine was far enough ahead that I could buy the longer (and hopefully straight) definitive ballscrews. But then realized that due to their length, the ballscrews were a bit springy. And the rest of the machine, especially the linear bearings, were mounted very rigidly, and very straight. Eventually it turned out, as you’ve seen in older videos, that these bent ballscrews actually work : the machine’s rigid construction keeps them straight under tension. They actually rotate so smoothly you can drive them in reverse, with the hand.

But they are still bent, and that made me wonder if they would wobble or vibrate at really high RPM.

LNG1 is a high-speed machining design, so one of the steps I took was to mount the ballscrews between pairs of angular contact ball bearings : this is the recommended setup for high-RPM applications. I also hoped it would contribute keeping the ballscrew from wobbling.

Turns out I was right : as you can see in the video, no shake, no wobble, just smooth motion from one end of the machine to the other.

Lesson learned : while it’s not a good idea to bend your ballscrew (or pay FEDEX to do it for you) that doesn’t render them unusable. They may have lot some accuracy, but it’s probably nothing that can’t be mapped and compensated in software.

This test also allowed me to verify that the cogging I observed on Mill #2B yesterday was not due to the servo.

Posted in CNC | Tagged , , | 4 Comments

Sticky Ballscrew Trouble

Well, everything can’t always go perfectly. In my last post I demonstrated that my DIY CNC milling machine, upgraded with a 10mm-lead ballscrew and a 600W AC servo, could pull off linear speeds of 20 meters per minute.

While that sure is impressive for something built from slotted aluminum extrusion, it turns out the real challenge wasn’t in going fast, but in going slow. Really slow.

I couldn’t make a video of this that would clearly show what’s happening, but when moving at very low speeds, such as 0.1 meters per minute, something unexpected happened : going right to left, everything worked fine, but going left to right, the ballscrew started to stick every few millimeters, causing the axis to slow down and then jump ahead.

In the past I had already noticed that this ballscrew made a different noise going one way than it did going the other way, but I didn’t think it was problematic. The few parts I’ve machined since installing this ballscrew didn’t require ultra-low feed rates and didn’t include G2 or G3 (arc) operations. Somehow switching from a stepper motor to an AC servo made the problem more evident.

In an attempt to characterize the problem I decided to design a test program and cut it into a spare block of aluminum. The program basically cuts concentric circles at different feed rates. Circles require the X and Y axes to slow down progressively until they reverse and accelerate again : if anything was going to evidence a problem at low speed, that was it.

And here’s the result. I hope you haven’t eaten yet, it’s quite shocking :

M2B_Servo_Sticky_X_Ballscrew_Result

Scale : this hole is 30 millimeters wide. It was cut with a worn-out 2-flute 3mm HSS end-mill I normally use for tests that have a chance of going wrong, so the surface finish isn’t the issue here. The picture was taken at exactly 90 degrees above the part, there is no perspective involved : you can see the wall all around the hole (click on it, it’s really high definition).

Now, to help you make sense of this picture : I used climb milling, so the cutter went in counter-clockwise motion around the center of the hole. The Y axis is still powered by its old stepper motor and still uses its old 5mm-lead ballscrew. The X axis is powered by an AC servo and uses the new (probably faulty) 10mm-lead ballscrew. Starting position is at 9 o’clock.

Note that as the cutting starts at the 9 o-clock position and the cutter moves towards the 6 o’clock position, at first it goes straight along Y, there is no movement on X. That’s why I call the ballscrew sticky. Evidently since stepper motors have all their torque even at zero speed, starting the ballscrew wasn’t a problem even if it stuck. With the servo however, it’s a different story : at some point the driver sends enough current to the motor to get it to move and then it must catch up on where it should be.

To a smaller extent the problem is also present at 3 o’clock.

Feed rates varied from 250 mm/minute to 2,500 mm/minute over the 12 concentric cuts, which had no discernible impact.

I have a variety of corrective measures planned : for one thing, I still have to tune the AC servo. I can also mount the old, shorter X axis (and its 5mm-lead ballscrew) and try machining this part again. I also intend to re-machine it using a stepper motor instead of the servo, and I think I’ll bite the bullet and try to repair the sticky ballscrew : I think one of its recirculation inserts may be damaged, causing the ball bearings to catch only on the direction where they enter the insert on its damaged side. Could be I can just replace the insert, or the whole the ballnut, I just hope I don’t need to replace the whole ballscrew.

Unfortunately duty calls, I’m attending a big industry convention all of next week, which means I won’t be able to try any of that as fast as I’d like. If you’re anything like me, knowing there’s a problem you should fix but can’t get to immediately… that’s psychological torture.

All I can do is but hope someone will read this post and offer insights. If you do, I’ll buy you a beer next time you’re in Paris !

Until then, take care everyone.

Posted in CNC | Tagged , , | Leave a comment

My First AC Servo

Hi everyone,

Today is a big “first” : I’m testing my first ever AC servo.

I do use AC servos professionally, notably Harmonic Drive servos, but these are very specialized servos, usually purpose-built, always very expensive. I’ve never actually bought one on my own dime nor used one in a CNC machine tool. I’ve been considering it almost ever since I started designing machine tools, but several points have stopped me :

• They are considerably more expensive than stepper motors
• Stepper motors actually work very well thanks to modern electronics
• They are not as easy to setup as stepper motors
• Their speed-torque curve is quite different

Because of that, I’ve kept working within the limitations of stepper motors, but you can only push the envelope so far before it tears. So I decided that my next machine, LNG1 (currently in construction) would use servos, with provisions to retrofit to steppers just in case.

And then I had to bite the bullet and actually select and order my first stepper motor. To make a long story short, I wanted a 60mm-flange servo to keep the mass down : LNG1 will move very fast and its motors will be high up on the gantry, and there is a huge mass difference between 60 and 80 mm motors. The difficulty was finding a 60mm servo with enough power for long sessions of high-speed machining. Most 60mm servos top at 400W, but I managed to find a 600W unit. Sure, it’s quite a bit longer than a 400W but as you’re about to see, it’s worth it.

Once it got delivered, my professional experience with servos allowed me to wire it and set it up very quickly, there are enough similarities. On a bench, with no load, it easily reaches 3,000 RPM with much, much less noise than a stepper motor would. But then I got carried away and decided I had to test it under load ASAP. Let’s just say I was feeling “it’s too good to be true, I need to make sure this is for real”.

So I modified one of Mill #2B stepper motor mounts to add a NEMA 24 hole pattern in addition to its NEMA 34 pattern, and started playing. Here’s the result :

Forgive my tired voice, I haven’t slept much last night. For some reason I’m still behaving like a kid with a new toy whenever I get my hands on new technology.

For this test I used the same “Franken-PC” I built as a temporary CNC control unit for LNG1 : M2B is completely powered off.

In conclusion, I’ll just say that there’s a big difference between knowing intellectually what a servo can do, and seeing it with your own eyes. I guess humans will always be empirical creatures. But this test has shown me that it wouldn’t be a bad idea to start phasing out every stepper motor I use and replace them with AC servos.

Posted in CNC | Leave a comment

New Vises For M2B

Hello, it’s been a while !

The other day I found this interesting interview of Adam Savage, of Mythbusters fame. He’s a far more eloquent man than I am, so I’ll let him explain why he (and I, and people like me) tends to conduct his projects in stages with long hiatuses. Multiplexing, as I call it. I couldn’t have said it better than him :

(skip to 48 minutes 30 seconds, although the whole video is worth watching)

Like I said, this blog only contains things I don’t mind sharing with the world, and things I don’t mind other people copying or “stealing”. And there just hasn’t been much of that in my projects over the past 6 months. I considered using my blog to discuss things other than my CNC projects but I still don’t think it’s such a good idea : we all have our convictions and our pet peeves, I don’t think whoever reads my blog comes here for mine.

But then again I might be wrong. Perhaps you are interested in what I’d have to say about the state of industry in France and in the World, or the latest advances in additive manufacturing technology. If that’s the case, you’re welcome to ask me, don’t be shy. I’m not a professional blogger or a journalist, though, just a man who loves creating and building things so much he made it his job.

So why am I back ? Well, LNG1 still needs to get its Y and Z axes. I’ve designed those last month after I had a stroke of genius (though I’ll let you be the judge of that) and since then I’ve been ordering parts and metal and tools to build these axes. It took me a while to get to a viable design because producing a Y axis that’s only 530mm wide but has a 420mm useful stroke is much harder than it seems. Even finding the right ballscrew was a challenge. Just give it a try, if you’re reading this before I’ve posted photos of my solution.

But I did find a solution, and my calculations show it should work. So now I need to build it. This involves machining aluminum plates of 500 x 200 mm on my CNC mill (M2B) and I didn’t have a good way to clamp parts that big. So I ordered new AngLock-style vises. They’ve arrived today :

M2B_3_Vises

The vise in the middle was my first, it’s a chunky 15 kilogram unit. Ideally I wanted to buy the same one again to be able to clamp both ends of the 500 x 200 mm plates, but couldn’t find it at a reasonable price. It was cheaper to buy a pair of identical vises to replace it for this job.
Your eyes don’t deceive you, these new vises are a bit smaller. And as a result they are significantly lighter, about 11 kilograms each. Interestingly, despite their smaller size they actually open wider (115 mm instead of 105 mm).

In the coming days I’ll machine new jaws for them out of spare aluminum blocks. These new jaws will mount on the outside of the vises, allowing them to clamp parts up to 265 mm wide. Then I’ll remove the old vise, install the new ones at each end of the machine’s bed, and I’ll finally be able to enjoy the very large work envelope of my mill.

See you soon !

Posted in CNC | Tagged , , | Leave a comment

LNG1 First Test Under Power

I like it when a plan comes together… 😀

LNG1_Stage_5

A few days ago I introduced my prototype of a fully-integrated CNC machine tool controller based on a Pico-ITX mainboard running Windows or Linux. Since it is ready to go, all I had to do was hook it up to LNG1. The only missing part was the set of drivers for the motors.

I used a GeckoDrive G540, on the photo you can see it bolted to the structure of LNG1 near the motors. This is a temporary assembly, of course. In fact even the motors will move : their ultimate location will be inside the machine, with timing belt transmission to the ballscrews, so the motors don’t stick-out like they are doing now.

For initial tests I always severely limit the power going to the motors. I want them to be able to move but just barely, so that if something goes wrong in the software or electronics or if there’s a hard point in the mechanics, it’s very unlikely to cause any damage.

In this case, the most important limitation is the use of a 24V power supply (bolted to the computer). I’ve designed LNG1 to run at 48V. I’ve also limited current well below the motors’ nominal rating.

Despite all that, I’ve been able to ramp the feed rate for this test all the way up to 6.6 meters per minute over the full stroke of 920 mm, which is quite good as such. I expect to be able to double that once the machine is complete and to spec, but in fact the LNG1 design allows for installing any type or size of ballscrew, as well as rack and pinion systems, open belt drive, and even linear motors. I’ve engineered this huge amount of flexibility because LNG1 is also intended to help me learn about all sorts of drive technologies I may need someday on even larger machine tools. As a result, there’s no speed limit on this machine other than that inherent to the linear bearings, which is in the hundreds of meters per minute, well into 3D-printer territory.

Here’s the movie of this test, YouTubified for posterity :

Keep in mind that right now the stroke is limited to 920 mm because the ballscrews I use were borrowed from another project and I didn’t want to invest until I knew for sure the design was sound. With its final ballscrews and 1,250 mm stroke the slide will go all the way to the far end of the table, another 330 mm further than where it stops now. But I have to say, 920 mm is going to be pretty useful already !

The success of this test gives me all the motivation I need to further invest in LNG1 : I still need to buy the linear bearings and ballscrews for the Y and Z axes, along with all sorts of timing belts, pulleys, and even an automatic tool-changer spindle.

Mill #2, with its recently-upgraded X axis capable to handling parts over 600mm long, will be put to use machining the “uprights” of the gantry, probably out of 10mm-thick aluminum or 5mm-thick steel.

Posted in CNC | Tagged , , | Leave a comment