What's new
What's new

Electronic leadscrew on a big boy lathe

I can say my post #77 wrong and a apology to all here for my basic stupidity.
This talk was cnc and not a manual machine that locks and unlocks the leadscrew nut. :dopeslap:

Imperial screw and metric threads there is a problem with the start point or where the nut gets engaged on pass number two.
The bad thing is that it changes with every single rev of the spindle and every rev of the feed screw.

Agree that the easiest to do is as above and treat it like a cnc lathe with a manual X axis.
This still leaves one with the problem of starting the master/slave at the same spindle orient each pass as I said previously.
Also now the screw is a leadscrew being started and stopped making any thread cutting during the accel/decel period wrong so a big fast sevro will be needed.

Bob
 
Last edited:
The way I'm thinking of it you would never disengage the physical half nut, and instead would use the servo to job the carriage back to that start of the cut. That way positioning is always known. I think the math is fairly simple this way.

But why bother if the ELC won't do the whole job; ie if I'm going to invest all the time and money to do it I want to be able to open/close the halfnuts anytime and do whatever I want with the carriage, then re-engage and hit Go and have system align the carriage to pick up the thread within a couple turns of the leadscrew. Similarly I want to be able to change tools, move the compound or take the work off and on the machine, pick up the thread with the tool again and hit Rezero and be able to resume threading with the new setup- though maybe I have to do the thread pickup with the halfnuts engaged at least.

And the system should work whether I'm running fast or slow, light cut or heavy (within constraints of machine and workpiece), I'd like to have a much wider range than the usual gearbox- essentially arbitrary within the constraints of the machine, and no substantial problems with things like interrupted cuts distorting the thread.

All that stuff is going to need pretty fancy math; maintaining at the very least 2nd derivatives, managing the damping of the servo control loop etc.

Bonus points for the system to support an option of a linear encoder to map and compensate for irregularities in the leadscrew over the length of the bed.
 
But why bother if the ELC won't do the whole job; ie if I'm going to invest all the time and money to do it I want to be able to open/close the halfnuts anytime and do whatever I want with the carriage, then re-engage and hit Go and have system align the carriage to pick up the thread within a couple turns of the leadscrew. Similarly I want to be able to change tools, move the compound or take the work off and on the machine, pick up the thread with the tool again and hit Rezero and be able to resume threading with the new setup- though maybe I have to do the thread pickup with the halfnuts engaged at least.

And the system should work whether I'm running fast or slow, light cut or heavy (within constraints of machine and workpiece), I'd like to have a much wider range than the usual gearbox- essentially arbitrary within the constraints of the machine, and no substantial problems with things like interrupted cuts distorting the thread.

All that stuff is going to need pretty fancy math; maintaining at the very least 2nd derivatives, managing the damping of the servo control loop etc.

Bonus points for the system to support an option of a linear encoder to map and compensate for irregularities in the leadscrew over the length of the bed.

Disengaging the physical half nut will require an encoder on the carriage. At that point just get a CNC lathe.

A switch and jog buttons aren't much harder than a lever and a handwheel to operate. Manual lathes have all sort of gotchas you have to worry about, and this modification as I've described it would add more functionality than quirks, which is good enough to me and I would imagine most people.

The math is not complex. So long as the acceleration of the spindle does not exceed the acceleration of the carriage then you are good to go. Otherwise it is a very simple bit of code to add and subtract index pulses to control the servo, and jogging in whole increments with simple addition. Yes, you have to ramp up and down the deceleration when jogging but that's also a simple position/time calculation that feeds the aforementioned loop.


Consider the goal here: Infinitely variable, accurate gear reduction between the spindle and leadscrew. Add in some nice to have features in software and controls, but don't go dumping your wallet into half assed computerization of manual lathe.

It sounds like what you actually want is a CNC lathe with manual style controls that you can enter in operations as you think them up, without needing to program ahead of time.
 
lol I've never yet seen a control system work that easily. You might be underestimating the complexity of dealing with the gain and damping of the control loop given the potentially dynamic load of the leadscrew- the system will have to generate threads at least as well as the mechanical system.

But in the end for my money if I have to keep the halfnuts engaged to use the ELS then we're going backwards. OTOH I do appreciate the usefulness in creep/jog/rapid which would occasionally be helpful, and it would be nice to have a wider range available when driving the feed rod.
 
,,,,, So long as the acceleration of the spindle does not exceed the acceleration of the carriage then you are good to go.

Whoa there,
Now the spindle is also under servo control? Just added another axis with a lot of rotational mass.
You are going to vary the speed of the spindle during threading? Stop it in between pass one and two?
There is this metal cutting thing called surface footage that matters a bit.
Bob
 
lol I've never yet seen a control system work that easily. You might be underestimating the complexity of dealing with the gain and damping of the control loop given the potentially dynamic load of the leadscrew- the system will have to generate threads at least as well as the mechanical system.
.

Agree that this loop control not easy to implement or tune but every nc/cnc late does this when threading.
Also agree that the homebrew crowd generally has no respect for the many problems here.
In ncs we did it in all in hardware, no computers.
With enough money one can made a F1 racer out of a coffee table so all you want can be done.
This is an interesting thread. Waiting for Motion Guru to come in and say we are all looney tunes.

Basic problem: Imperial lathe screw, I want metric threads and want to release the halfnut between passes when threading.
How hard can this be?
Obviously I can electronically gear the screw to the spindle with ease at any ratio I desire using a off the self drive and make the first pass good.
That part is falling off a log and just basic servo sizing and tuning.
Bob
 
Whoa there,
Now the spindle is also under servo control? Just added another axis with a lot of rotational mass.
You are going to vary the speed of the spindle during threading? Stop it in between pass one and two?
There is this metal cutting thing called surface footage that matters a bit.
Bob

Allow me to rephrase. The carriage has to have adequate acceleration to keep up with the spindle starting or stopping while the nut is engaged.

The servo requirements are no different from a CNC lathe. Use a sufficiently high quality servo. The allowable lag of the servo can easily be calculated, as can the load changes. I'm sure a manufacturer or distributor could recommend a product.
 
Allow me to rephrase. .
Allow me to wonder if you have ever built something like this or any motion controls. All sorts of things get in the way.
What are mech and electric time constants, and this whole z domain thing between the analog world and the digital word just for starts.
I understand that it seems straightforward and so logical. Have been there it that thinking and so sure I could do it.
Jump in and join .. the water is maybe deeper than it appears and you will never know until you try.
Build something and test it.
Have you even done a usable DRO or a basic high response PID servo in a cheapo controller?
It looks so easy until you do it and I one thousand percent understated that thinking.
Lord knows I thought all this cnc and servo stuff would be simple and I just needed higher chips speeds, more processing power and faster sampling. That was 1973.
Bob
 
Allow me to wonder if you have ever built something like this or any motion controls. All sorts of things get in the way.
What are mech and electric time constants, and this whole z domain thing between the analog world and the digital word just for starts.
I understand that it seems straightforward and so logical. Have been there it that thinking and so sure I could do it.
Jump in and join .. the water is maybe deeper than it appears and you will never know until you try.
Build something and test it.
Have you even done a usable DRO or a basic high response PID servo in a cheapo controller?
It looks so easy until you do it and I one thousand percent understated that thinking.
Lord knows I thought all this cnc and servo stuff would be simple and I just needed higher chips speeds, more processing power and faster sampling. That was 1973.
Bob

I built a plasma table that I tuned servos for and also tuned the servos on our press brake. I am building a servo driven mill, but that isn't finished so let's not count that. Obviously not the most experience, but more than none.

Do not do the PID loop in the cheap controller. Just use a cheap controller to receive quadrature index pulses from a spindle driven encoder, and output new pulses accordingly. These pulses go to a name brand servo amp, which is where you do the tuning. I like panasonic servos because I can affford them, but I've never used any of their larger ones, if they even make them.

I intend to make a small desktop lathe at some point (400ish pounds) but really have no use for a manual lathe with this retrofit. I'm happy to help someone write code though.

Edit: I have other less relevant experience as well, often with steppers or general repairs. I did make a circuit from logic gates to divide a quadrature signal by 256 to interface to a servo amp with a lower maximum pulse rate, which is kind of relevant I guess.
 
Interesting thread (pun) , my take on this would be not knowing the size of the lathe to have the els installed on, rather than overthink this would be take clough42’s research and testing and supersize it if needed to fit your application seems after watching most of his videos on this subject ( sitting home with the covid after effects) he has addressed most of the problems. Although a good old American iron large lathe and its inertia could be a little nerve racking but if your retrofitting a els why not a brake. Jm2cw


When I find it I don’t need it
When I need it I can’t find it!
 
ELS and threading

After 5 lashups and 2000 hours I spent 2000€ plus on just the electronics.

Because it is the only way to do it really well.
Imo. Ime.
Lots and lots of experience.

You need to track the encoder aka spindle position in real time to about 200-500 khz, within a 10 steps or so.
Or angular resolution of about 0.02 degrees, maybe 0.03 degrees.
This is difficult, without industrial hw.
With varying spindle speeds .. that have various differing lag times.

I now have an ac servo spindle running 12 khz update loop .. with a more or less perfect spindle speed.
Reacts in 0.00013 seconds, more or less, at 90 Nm of torque.
Just to do good threading.

When the servo pulls the tool out on the x axis, it needs to repeat to about 0.01 mm.
Otherwise, cascading errors cause a dig-in and the tooltip snaps.
This is difficult, without industrial hw.


I just spent 1300 plus 100 € plus 200€ on stuff for my new controller on the mill.
About 2000€ all in..
A VMC I built.
It´s a lot of money.
The reason is that the cheap stuff just does not work.
Properly.

Mine will do good threads to industrial quality, using a high res optical encoder to track the spindle.
Just like the lathe.

It is difficult to do good cnc threads, reliably.
I know of exactly zero youtube videos or amateurs demonstrating "good" threads in steel.
A kit might work at one rpm, but not at another.
 
ELS and threading

After 5 lashups and 2000 hours I spent 2000€ plus on just the electronics.
........
Because it is the only way to do it really well.
........
This is difficult, without industrial hw.

Mine will do good threads to industrial quality, using a high res optical encoder to track the spindle.
Just like the lathe.

It is difficult to do good cnc threads, reliably.
I know of exactly zero youtube videos or amateurs demonstrating "good" threads in steel.
A kit might work at one rpm, but not at another.
I have reproduced the russian ELS, can be found here >> Chipmaker.
Except the motors for X and Z, where i have used Leadshine drivers / motors Nema 34 close loop (8NM and 12NM) , on my 12" lathe, the rest of materials i have buy from Aliexpress (1800ppr encoder for spindle, 100ppr RGI hand-coder and all the rest). All of that got me to a bill around 1000€, including 2 balscrews C7 grade and also 2 optical linear scales for making the DRO on the lathe. Chinese quality indeed, but good enough for my personal use (5 microns precision / repeatability on X and Z).
The result is pretty good to my need and definitively i can do better screws then i can buy in a hardware shop ... also pretty good quality CM3 or CM5 or even inside tappers.
All in all, the russian community did a good job in developing that ELS and right now i'm working on adapting that for a small mill also.
And by the way, all that was possible with an Arduino MEGA controller and not using some special HW.
Best regards.
 
ELS and threading

Or angular resolution of about 0.02 degrees, maybe 0.03 degrees.
with a more or less perfect spindle speed.
Reacts in 0.00013 seconds, more or less, at 90 Nm of torque
When the servo pulls the tool out on the x axis, it needs to repeat to about 0.01 mm.
.
these are insane tolerances. without having done this or anything like it myself, I can with absolute confidence say its highly improbable these are actually needed for 99.999% of industrial applications.
if a 90 year old South Bend can do a decent thread operated by a human being, this is impossible. there is no way its got anything within 2 orders of magnitude.

I think...perhaps.. you went about it in a "brute force" manner as apposed to a "clever workaround" path?:)
for instance, program in a 1 degree earlier pullout on subsequent passes. eliminates the need for "0.01mm" (sub one thou to the luddites).
0.00013? . this just can't be. not data resolution but actual mechanical reaction time? no industrial lathe even exists in that realm.
.02 degrees? that's the stuff of the Webb telescope on a good day im guessing. one eighteen thousandth of a full revolution?
 
Last edited:
Can you provide us with the English version of this link?
Also, add your location so we know where you are out of.
There is no english version of that forum, i just use a translator extension in my Firefox browser, so i can translate everything in english. Is not 100% perfect but enough to be able to give me the information's i needed.
Eventually can find more information's here: GitHUB , is using same code, translated to english.
As about my location, i have try to see how can be displayed, but could not manage it (i have check all under Profile).
Anyway, i am from Paris / France.
 








 
Back
Top