By continuing to use this site, you agree to our use of cookies. Find out more
Forum sponsored by:
Forum sponsored by Forum House Ad Zone

Electronic Indexers - How Is Cumulative Error Avoided?

All Topics | Latest Posts

Search for:  in Thread Title in  
duncan webster02/06/2019 17:55:04
5307 forum posts
83 photos

as this has drifted well away from the original the mods might want to start a new thread, if so be my guest. I put this forward in total ignorance hoping someone will help me to understand

First:
I can see that if you are driving a stepper motor from pulses generated by the spindle you want more spindle pulse than stepper pulses. If I'm trying to cut a 3mm pitch with my 3mm leadscrew the ratio is 1:1. Again postulating a 200 step motor doing 1/8 steps (ie 1600 pulses per rev) and a 2:1 belt drive just to pick figures out of the air, one rev of the leadscrew is 3200 pulses, so 4096 pulses from the spindle sounds reasonable. However my understanding of Mach3 (very limited indeed) says that it has one pulse per spindle rev. Does this mean it is doing time interpolation?

Second:
I'm not likely to screwcut at more than say 200 rpm, but I don't need to synchronse the leadscrew to the spindle closely for doing plain turning. Does it make any sense to have a second pulse generator (magnet on the drive pulley) for high speed, then use this to derive spindle speed and just drive the stepper based on time? Joe will just say use a fast processor and get on with it no doubt.

Third:
Joe I hope you realise what frustration you have released in the Webster household as I contemplate trying to get to grips with these new boards! I don't actually have a need, but the challenge is there. I just about coped with PICS where turning a pin on involved mantras using logical OR statements, but setting the thing up involved wading through 200 page manuals, and I'm not getting any younger!

John Haine02/06/2019 18:47:58
5563 forum posts
322 photos

Mach 3, when it gets an index pulse at a known position, just starts accelerating to a velocity that it calculates from the index pulse frequency (from which it has computed the spindle revs), will cut the required thread when it hits the material. When it has moved the Z axis the requisite distance it pulls the tool out, stops feeding, and returns to the known position. If the spindle slows down when cutting starts, it's too bad! LinuxCNC has the index sensor giving 1 pulse per rev and also an encoder with much higher resolution, and continuously matches cutting speed to spindle speed.

Joseph Noci 102/06/2019 21:18:16
1323 forum posts
1431 photos

I am still in pain from my 40 lashes, so am wary of leading up to another 40....

However my understanding of Mach3 (very limited indeed) says that it has one pulse per spindle rev. Does this mean it is doing time interpolation?

You are perfectly correct Duncan. Mach assumes the spindle speed is constant from thread pitch to pitch, which works most of the time. Generally the machines inertia helps that be so, but where problems arise are at the start of threading. The single index fixes the start of the thread, and that must remain fixed in time and axis space, else you cut threads with mutliple helixes. Consider the threading process:

Setup the tool near the workpiece, set DOC, spindle speed, etc, and turn on the spindle. Now, if yor machine has no VFD, and the motor speeds the spindle up very rapidly, the stepper has to keep pace with the spindle on the next thread, ie, the stepper acceleration must ensure the tool arrives at thread start co-incident with the spindle index pulse. The stepper has to accelerate the carriage, and all its inertia, carriage and leadscrew nut friction, etc, sufficiently fast to ensure the spindle speed and carriage position remain coupled, as though they were 'geared'.

Should the stepper not keep up, and lose steps, you have to insert an acceleration curve into the stepper pulse rate ramp to prevent said problem. However... you know have no way of knowing where you are in relation to the SINGLE index pulse from the spindle...and so you lose sync and cut multiple threads..

The problem is made worse with an increase in spindle RPM and/or thread pitch. Mostly, with the sort of hobby threading we do, especially at rpm below say 200, and pitches around 'maybe' 15TPI min, we can get away with one index pulse, on most of the smaller machines. Machine with powerful motors get up to speed quicker, and the problem appears sooner..If you have a VFD you can all but eliminate the issue by accelerating the spindle more slowly. But, the type of implementaion as in Mach, has a problem with that - since it computes spindle RPM from index pulse period, and since it has to start the stepper pulse synced to the index pulse, Mach has no real way of knowing when the spindle is at speed, especially if the spindle accelerates more slowly. It cannot wait a while till the spindle is at speed before sending step pulses, as Mach would have to then accelerate the stepper to speed almost instantly , or at least within one spindle rotation. A very dodgy implementation..

What I did in my ELS implementation was - use a spindle encoder with 4096 edges per ev for inter pitch interpolation to generate stepper pulses. Use the single spindle index pulse to determine thread start and keep that cast in concrete for that thread cutting session. Then at thread start I count encoder pulses while generating accelerating step pulses to get the carriage up to speed. But, because the carriage is lagging behind in position ( due to stepper accelaration) , I will not get to the thread start point , in time. So, we accelerate the stepper faster, beyond the speed needed to cut the current pitch, to recover the lost pulses, and hence the lost time spent accelerating. The pulse count to the stepper, and the pulse count form the encoder both feed a software up/down counter. When the Spindle RPM has reached constant speed, we then look at our up/down counter, decrementing the stepper pulse rate, until the counters are equal ( delta is zero) , and we know we are at the correct thread start point.

All this requires that we start the spindle for threading, with the tool at least two thread pitches away from the work piece, for the acceleration catchup. I am able to thread at 1500 RPM for a 0.5mm pitch thread , and at 400RPM for a 5mm pitch..The latter being rather scary...carriage moving at 33mm/s. Obviously those are insane and undesired speeds - I regularly cut 1mm pitch threads at 500RPM though, with nice clean threads in Stainless.

I have added a feature that allows me to set the start of thread and the end of thread (right or left handed) and when thread endpoint is reached, the ELS stops the VFD 'dead' ( withing a turn or so..). This allows distracted (!) threading with no crashes...even up to a shoulder. But this is only practical at lower spindle RPM ( sub 2 or 300RPM) since the resulting mechanical stress at high inertial speeds worries me..DONT DO THIS WITH SCREW ON CHUCKS!!

That fear resulted in adding another feature , letting the spindle continue running (akin to snapping the half-nut open at thread end), but stopping the leadscrew drive stepper. Press rewind to get the tool back to thread start, and press thread to continue. And it is precisely here where we need the stepper acceleration process explained above, as the spindle is already at cutting RPM, and the stepper would have to accelerate instantly to get the tool in place at the start of thread, synced to the spindle single index pulse...

Linux CNC 'tries' to implement this same process, but the clan missed the boat.. It has warts and can bite you in the backside if not careful. I did raise the issue with the devs, who said thanks , we will look into it, but the latest but one release still has the issue...It works ok, 99.9% of the time, but you can crash a machine..

What a long story...

Well Duncan, if Ye seek sympathy from me for you New-Tech Adventure......Have Fun!

I too just get older, but all that does is make me try even more new stuff every day - Technology development has been exponential while the years left to me to play with that tech are still only linear, and I have a LOT to learn, do and experience.

regards

Joe

 

Edited By Joseph Noci 1 on 02/06/2019 21:24:49

Joseph Noci 102/06/2019 21:28:08
1323 forum posts
1431 photos

Sorry, I did not respond to your second issue...

Second:
I'm not likely to screwcut at more than say 200 rpm, but I don't need to synchronse the leadscrew to the spindle closely for doing plain turning. Does it make any sense to have a second pulse generator (magnet on the drive pulley) for high speed, then use this to derive spindle speed and just drive the stepper based on time? Joe will just say use a fast processor and get on with it no doubt.

I presume you mean when surfacing with carriage feed applied.This is in effect threading, but the constraints are hugely relaxed - Thread start has no meaning, and all you really want is a constant feed for good finish. I ditched the concept of syncing the carriage to spindle rate, and all I do is have a POT that sets feed rate, ie, stepper pulse frequency, from 0 to 5mm/s. That feed can work with spindle on or off, so reversing the carriage under feed to cut one direction only is possible. Also, changing feed rate while cutting to see if an improved finish can be got is easy. The spindle encoder pulses are not used.

If you sync the two rates, then to change feed speed you have to stop the machine, and change what is effectively a thread pitch...the same as you would do if you had to fiddle with changes gears or the Norton Box..This way it's just a turn of a knob..

Joe

Andrew Johnston02/06/2019 23:38:44
avatar
7061 forum posts
719 photos
Posted by SillyOldDuffer on 02/06/2019 11:25:06:

Engineering is all about balancing compromises.

Actually engineering is all about money, in the sense of what will a feature cost and will the market be prepared to pay for it?

Andrew

duncan webster03/06/2019 00:09:14
5307 forum posts
83 photos

Thanks Joe, I've sent you a pm

John Haine03/06/2019 07:27:04
5563 forum posts
322 photos

Mach 3 doesn't work quite like that, in that the spindle is running continuously throughout. You start with the tool at some known position say 1 mm clear of the end of the work, adjusted for the right doc for the first pass. Then it accelerates at a known rate to the threading speed to give the desired pitch, started by receiving an index pulse. Af the end of the thread, the spindle keeps running, the tool withdraws while still being fed at the thread rate over usually a quarter revolution, then the feed is s topped though the spindle continues. The tool then runs back to the start position, and waits for the next index pulse to start again. It depends on the initial acceleration being fast enough to get to the right speed before reaching the work and always following the same profile so the tool is always starting the cut at the same point. This means using an acceleration which is well within the maximum capability of the Z drive and allowing sufficient lead-in. It also needs enough inertia in the spindle drive and a constant speed motor, or a closed-loop speed control with tight regulation, so the spindle keeps going at a constant rate.

People are sniffy about Mach3 threading, and I've had a couple of disasters with it, but once you understand its peculiarities it works pretty well.

img_0129.jpg

Not a good photo, but the er16 chuck for my Acute grinder was threaded for its nut using Mach, without a hitch, on my cnc'd Super 7.

Joseph Noci 103/06/2019 07:48:37
1323 forum posts
1431 photos

John Haine said:

Mach 3 doesn't work quite like that................

............. It depends on the initial acceleration being fast enough to get to the right speed before reaching the work and always following the same profile so the tool is always starting the cut at the same point. This means using an acceleration which is well within the maximum capability of the Z drive and allowing sufficient lead-in

In essence wot I said...!

Joe

SillyOldDuffer03/06/2019 10:01:45
10668 forum posts
2415 photos
Posted by Andrew Johnston on 02/06/2019 23:38:44:
Posted by SillyOldDuffer on 02/06/2019 11:25:06:

Engineering is all about balancing compromises.

Actually engineering is all about money, in the sense of what will a feature cost and will the market be prepared to pay for it?

Andrew

Very much so! At root money decides whether things worth making or not, but it's not rock solid in that innovations have to be sold to a public who might reject it out of hand or go mad for it. Risk is part of the game too.

Nonetheless, cost is usually by far the most important issue facing professional engineers. For example if a new railway is proposed, engineers play a key role in cost estimating so that the huge amount of money needed can be borrowed and repaid without busting the whole operation. Then, unlike politicians who promise results without knowing how they'll be delivered, engineers have the skills needed to manage the project and deliver a practical solution.

But I was thinking of compromise during technical design and development, where the engineer balances availability of skills, tooling, space, and materials to get results, often trading-off as necessary. Here professional and amateur engineers often follow the same disciplines. However, the drivers and goals of amateur and professional engineers are likely to be different especially when it comes to time and money. If Andrew were daft enough to employ me, he'd find I work very slowly, wander off, make mistakes, am untidy, and would care nothing about Andrew's urgent need to balance his books. In short, I'm indulging an interest in engineering, not doing it to make a living.

Dave

John Haine03/06/2019 10:49:39
5563 forum posts
322 photos

Apologies Joe, but your reply seemed to indicate that the tool acceleration had to match the spindle acceleration in the run-up.

Neil Wyatt03/06/2019 17:34:43
avatar
19226 forum posts
749 photos
86 articles
Posted by Andrew Johnston on 02/06/2019 23:38:44:
Posted by SillyOldDuffer on 02/06/2019 11:25:06:

Engineering is all about balancing compromises.

Actually engineering is all about money, in the sense of what will a feature cost and will the market be prepared to pay for it?

Andrew

Isn't that just aspect of the classic engineering compromise: good, cheap or fast? - Pick one.

sam sokolik05/07/2019 14:17:52
126 forum posts

 

Posted by Joseph Noci 1 on 02/06/2019 21:18:16:

 

Linux CNC 'tries' to implement this same process, but the clan missed the boat.. It has warts and can bite you in the backside if not careful. I did raise the issue with the devs, who said thanks , we will look into it, but the latest but one release still has the issue...It works ok, 99.9% of the time, but you can crash a machine..

 

regards

Joe

 

Edited By Joseph Noci 1 on 02/06/2019 21:24:49

 

I am confused.. What does linuxcnc fail at .1% of the time?

Also - linuxcnc has a robust hardware abstraction layer that allows for some pretty amazing setups. All with a cheap computer... All double-precision floating-point calculations..

Things like hobbing...

Edited By sam sokolik on 05/07/2019 14:19:34

Edited By sam sokolik on 05/07/2019 14:20:44

sam sokolik05/07/2019 16:42:52
126 forum posts

BTW - it isn't like things are not getting improved.. This was less than 1 month ago... Related to spindle synced motion..

Code improvements..

All Topics | Latest Posts

Please login to post a reply.

Magazine Locator

Want the latest issue of Model Engineer or Model Engineers' Workshop? Use our magazine locator links to find your nearest stockist!

Find Model Engineer & Model Engineers' Workshop

Sign up to our Newsletter

Sign up to our newsletter and get a free digital issue.

You can unsubscribe at anytime. View our privacy policy at www.mortons.co.uk/privacy

Latest Forum Posts
Support Our Partners
cowells
Sarik
MERIDIENNE EXHIBITIONS LTD
Subscription Offer

Latest "For Sale" Ads
Latest "Wanted" Ads
Get In Touch!

Do you want to contact the Model Engineer and Model Engineers' Workshop team?

You can contact us by phone, mail or email about the magazines including becoming a contributor, submitting reader's letters or making queries about articles. You can also get in touch about this website, advertising or other general issues.

Click THIS LINK for full contact details.

For subscription issues please see THIS LINK.

Digital Back Issues

Social Media online

'Like' us on Facebook
Follow us on Facebook

Follow us on Twitter
 Twitter Logo

Pin us on Pinterest

 

Donate

donate