Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: jaideepshinh on June 30, 2014, 01:30:12 AM

Title: Homing accuracy
Post by: jaideepshinh on June 30, 2014, 01:30:12 AM

I'm somewhat new on this forum, and may be posting this in the wrong section- Moderator, please put this into the correct section.

A little background information to my problem: I've done a retrofit for a 3 axis machine (A beaver NC5, originally on a Heidenhain TNC 355 when i purchased it) with a Mach3 system. The system i've built has the following configuration:

1. PC:

AMD Phenom 2x4, 920, quad core running at 3.2 Ghz (i think- don’t remember at this point), with 4gb ram, a graphics card, SSD and 1 lpt port (all well above the min requirements)
operating system: Windows 7 x86

2. Servo drives:

Sinamics V60 series, 6NM torque- 3 sets

3. Modbus device:

ABB AC500 series PLC, with approx 96 IOs (including 4 Analog out and 2 in). PLC program takes care of most of the machine functions and safeties, as i, with all due respect, do not trust the mach3 brains system from my experiences in building this machine.

This is for a 3 axis machine with ATC, and has a number of sensors and feedbacks, hence all the IOs.  The machine is in good condition mechanically; with guides being quite fresh (the machine wasn’t used much and was a demo machine at a college. This is the second retrofit the machine is going through- it was originally a NC machine)

Now the problem i'm facing is that the homing reference accuracy isn’t good. The Heidenhain system, with the same switches, had fantastic home reference accuracy (to 10 microns or less- we never had to pay attention as the surfaces generated were always matched). The machine would home in what appeared to be the same fashion as the Mach3 system.

However, the Mach3 implementation is a slight tragedy in comparison- the repeatability of position after reference is not worthy by machine tool standards. Now the limit switches are the same as earlier. The ball screws are the same as earlier. The components which have changed are the motors, servo drives, controller and electricals.

In order to solve my problem, I’ve done a little homework on how the other controls reference their axes, but will post that afterwards after receiving some ideas back on this forum.  Posting that now may turn the conversation in a direction which I would prefer to avoid at this moment.

Now, for my understanding, how accurate is the home reference for the others on this forum?

The homing accuracy is of very high importance to me as we have frequent power outages in the place where I am, and a system which loses position in the process becomes extremely tedious to run.

With best regards

Title: Re: Homing accuracy
Post by: jaideepshinh on June 30, 2014, 04:37:59 AM
In addition, has anyone developed any interesting logic to reference the machine accurately? assuming anyone else if facing the same problem.

I am currently designing a circuit to help me with this. Any suggestions in the field would be helpful- my circuit is currently only theoretical, and any inputs would be appreciated
Title: Re: Homing accuracy
Post by: Hood on June 30, 2014, 05:09:16 AM
Are you using the parallel port or an external controller?

The usual homing method for Industrial machines is to use the switches only as a reference point for the control to look for the Index pulse from the encoder and it is very accurate.

Using switches alone will not be so accurate but if using optical switches then you should be able to get close.

On all my machines I home to the Index pulse as per Industrial practices but ths is possible because I either do it in the servo drives themselves (they support Homing) or the controls I use allow me to do Index Homing.

Title: Re: Homing accuracy
Post by: jaideepshinh on June 30, 2014, 05:27:53 AM
Dear Hood,

That's exactly the answer i was looking for! Thank you for your response!

I have been doing homework on the index pulse method which you are using, and as i am still not very experienced, this wasn't know to me till about a week ago.

I am using the parallel port method, along with IO extension using a Modbus based PLC. (I am using the PLC to the best extent possible with logic programmed into it, as i am not happy with the Mach3 brains. I guess i'm doing something wrong, but I've found the Mach3 brains unreliable in my build)

So the problem comes to this- my encoder is at 2500ppr physical, with multiplication of 4 in the servo drive. I do not know how to make the servo drives reference on their own (the Siemens v60, to the best of my knowledge, isnt that smart). The v60 drives do have the index pulse output.

My PLC response time is 8ms, hence it is unable to catch the pulse from the servo drive (pulse duration at 1rpm speed of the motor is 2.4 ms. We normally run at higher than 1 rpm at any given point of time).

If you don't mind me asking, which motion controller/which servo drives are you using which is able to manage this on its own? And are you running on a closed loop with these external motion controllers? And how is the implementation? did you need to make a separate brain for this? (The reason why i ask is because i do not know how to change the referencing logic of Mach3)

With best regards

Title: Re: Homing accuracy
Post by: Hood on June 30, 2014, 11:35:50 AM
I use a few controllers, CSMIO IP-A and IP-S and the Ethernet SmoothStepper and the USB SmoothStepper.

The machines I have the Smoothstepppers on I do the homing in the servo drives as at the time the SmoothStepper could not do Index Homing, I believe it can now though I have never tried it.
The drives I have on these machines are Allen Bradley DSD drives with Index feature, it is the Indexing drives that can do the homing internally, the standard DSD drives can not.
 As far as Mach is concerned on these machines there are no home switches and all I have done is change the script in the Ref All button to send a signal to the drives (via PLC as they are 24v)  and wait for a signal back. When the signal is seen Mach sets Home position.

The CSMIO/IP-S and IP-A support Index Homing natively and thus standard drives work fine.

The CSMIO/IP-A is the analogue version of the CS-Lab controller and outputs  +/- 10v signal to servos rather than Step/Dir. It is closed loop to the controller and Machs DROs get updated from the Encoder position, thus even when you disable the servo drives and move the axis manually, Mach knows where it is. This of course is as long as the logic side or the servo drive is kept alive so that the encoder signal is still output.

One of my first machines that I used Index Homing on used the Parallel Port and standard drives, the Breakout board however had Index Homing feature on it, sadly they are no longer made.

Title: Re: Homing accuracy
Post by: jaideepshinh on June 30, 2014, 01:01:29 PM
Dear Hood,

Thank you very much for your reply, once again!

I feel like a bit of an idiot having struggled along all this while- i was unaware that the CSMIO/IP units are available and was under the impression that the product had been discontinued. (I have read about them earlier). I'm planning on picking this up now that you've mentioned this, and seems like a tailor made solution for my current needs.

You've answered quite a few of my questions- and what interests me the most is the closed loop aspects of the motion controller mentioned. As you're getting the encoder feedback from the servo drive, it would not be compensating for backlash through the closed loop system (from what i understand). Have you tried external encoders/linear scales for this? For one specific machine of interest in my case, i have analog servo drives with multipole resolver feedback to the servos (Fanuc M series drives), and digital encoder feedback does not appear available from the drives.

As for using the Z reference- i am planning on designing a circuit for that which i would most likely make open source once it works- for cost effective deployments. (this should help people keep their machines cost effective. From what i see, the motion controller is for 600 euros, which may be a constraint for some people)

Thanks and best regards


Title: Re: Homing accuracy
Post by: Hood on June 30, 2014, 01:36:50 PM
The IP-A is the best controller I have used with Mach, the IP-S is excellent but the IP-A is better.

The feedback I am using is from the motors encoders but there is no reason you could not use linear scales, well except if there was a lot of backlash then you may have issues with servo tuning.