Hello Guest it is March 29, 2024, 08:09:29 AM

Author Topic: Accurate homing  (Read 26390 times)

0 Members and 1 Guest are viewing this topic.

Accurate homing
« on: August 20, 2007, 12:35:00 AM »
Ok I've started a new topic as I bogged the last one down in tangents.

I'd like to brainstorm methods to enable Mach to accurately maintain home position. I believe this is a noble cause. Doing so would lower the bar for accurate custom-built-machines even more. Also, I like Mach and would like to keep using it. Currently my lack in confidence at maintaining an accurate home is bringing me very close to abandoning Mach. This is because e-stop and Limit events are very common, and after which Mach requires re-homing.

Requirement: The only time a CAM system (without absolute positioning) should require homing is at power up, after a motor drive failure, or when the operator decides it's necessary (after a crash). 

I think there are three VIABLE philosophies one could adopt when building a system:
 1) Continuous absolute feedback. (Many (most all?) modern professional systems do this)
      Homing mechanism: n/a
 2) Continuous incremental feedback.
      Homing mechanism: Accurate as the system builder wants it to be (mechanical switch, encoder index pulse...)
 3) Open loop system. (risk of error decreases as the system is driven at a smaller % of max operating conditions)
      Homing mechanism: same as #2 

Mach doesn't currently support any of these options. I'm not putting Mach in catagory #3 because because #3 systems have been around for at least 10+ years (pretty sure 30+ years). AHHA systems, for example, don't loose home with e-stop or limit events. Now that I think about it, from my experience, Mach is the ONLY system I've seen with the capability to control professional systems that DOES require homing after an e-stop or limit event.

Re-homing is risky and takes time.
In opinion, e-stop and limit events are so common that they should not be allowed to compromise work quality or productivity.


Now to the actual brainstorming...


So there are really two homing issue that I've dealt with while building my own machine: Mach's action during error states (discussed above), and accurate homing mechanisms. The more accurate the homing mechanism is, the less risky Mach's behavior becomes.

So I can only try to make an accurate homing mechanism while I wait and hope that Mach changes the way it handles e-stops and limits differently.

If the system has encoder feedback then Mach has the capacity to be close to #2 (above), correct?
 - Wire the encoders into Mach for DRO feeback
 - If servo driven, then the servo driver signals Mach in the case of a drive error.
 - If using steppers + encoders then use a board like the one sold by rogersmachine.net to signal drive error.
 - Home machine.
 - Any time after homing, one could then copy the encoder DRO values to the machine DRO fields.
(Are e-stops and limit events interrupts? --Are encoder DRO values guaranteed consistent across these events?)

Accurate homing. There are few mechanical switches that I'd trust. Even if an optical switch is fully enclosed, a discontinuous mechanical interface still has the capacity to get crud caught in it.

The best way to home IMHO is to use and encoders index pulse. The board from http://www.cncbuildingblocks.com/homeindex.html looks like a great solution for interfacing index pulses with Mach. It hides the home signal from Mach until it found the index pulse by generating it's own pulses. (Not sure I'd use this system with glass scales as I'm not certain how it would handle backlash).

I'm still not clear why Mach can't "see" an index pulse (it shouldn't be any harder than an encoder pulse).

Comments? Any more ideas?

-Ted

Offline Chaoticone

*
  • *
  •  5,624 5,624
  • Precision Chaos
    • View Profile
Re: Accurate homing
« Reply #1 on: August 20, 2007, 09:18:27 AM »
Hey Eric,
Quote
Currently my lack in confidence at maintaining an accurate home is bringing me very close to abandoning Mach. This is because e-stop and Limit events are very common, and after which Mach requires re-homing.

Why are e-stop and limit events very common? I run for hours on end with no e-stop or limit events. I would guess that most users do.

Quote
1) Continuous absolute feedback. (Many (most all?) modern professional systems do this)
      Homing mechanism: n/a

Statement 1 is not true. Most all modern professional systems do use a homing mechanism. This is how they work. In the homing routine, they move until they see the switch, almost allways Prox. switches. Once they see the switch then they start looking for the index pulse of the encoder.

Quote
Mach doesn't currently support any of these options. I'm not putting Mach in catagory #3 because because #3 systems have been around for at least 10+ years (pretty sure 30+ years). AHHA systems, for example, don't loose home with e-stop or limit events. Now that I think about it, from my experience, Mach is the ONLY system I've seen with the capability to control professional systems that DOES require homing after an e-stop or limit event.

Really? Hmmmmmm, I have been doing CNC maint. for 13 years on large professional systems, Okuma Howa, LaBlond, Makino, Doosan, Mori Seiki to name a few. Any time there is a limit trigger or e-stop, you should re-refrence the machine before you try to continue. I have never heard anything else from any machine builder. Even the coustom built PLC based machines we have recommend this. I have had to spend many hours putting machines back together after a crash when the operator forgot this little step.

My machine homes accurately. Im not sure it would be closer if I used encoders and picked off of the index pulse. It's never been an issue for me as it will repeat, dead nuts using only prox switches reading the head of a screw on a stepper system. If yours doesn't, I think you have something in the system that is letting you down. I don't think it is Mach. Stranger things have happened I guess so keep us posted on your findings.

Brett
« Last Edit: August 20, 2007, 09:20:09 AM by Chaoticone »
;D If you could see the things I have in my head, you would be laughing too. ;D

My guard dog is not what you need to worry about!
Re: Accurate homing
« Reply #2 on: August 20, 2007, 10:19:45 AM »
Have a look at the encoder board from Rogers machine.. I think it is what you are looking for.
thanks
Brian
Fixing problems one post at a time ;)

www.newfangledsolutions.com
www.machsupport.com
Re: Accurate homing
« Reply #3 on: August 20, 2007, 10:55:19 AM »
FWIW, I'm using Mach2 with a Tormach CNC mill and other users report that it homes very accurately and repeatably, though I haven't tried to confirm that myself yet.  Assuming those claims are true it would suggest that even the lower end commercial CNC mills are capable of accurate homing.

Mike

vmax549

*
Re: Accurate homing
« Reply #4 on: August 20, 2007, 12:11:40 PM »
I think my oldest son said it best" POP, If you build your machine and program your code to the same level of accuracy and dependability that you WANT the software to maintain then you will rarely have trouble(;-) "

The Estop and limits are there for a last measure to HELP prevent damage to the operator and machine not save your project from disaster

ANY time you estop or limit stop a machine, and it does not matter WHO made it, you should  reference it back to home to verify that it is still accurate.

If you are running into situations that require constant estops then you need to whack the programer in the head(;-). If you are constantly hitting the limits then you need to whack the operator in the head(;-)

There IS a SOFTLIMITS you can set up that will HELP  prevent the limit crashes. Heck it will even show you the softlimit boundary on the screen when you load the code. If your part goes outside the limits the operator should see it. Can't ask too much more from Mach(;-)

HUM i'll have to test the estop and limits to see if MACH really looses position. I know I have estopped and resumed without loss of position.  I don't recall having tested the limits situation.

(;-) TP

« Last Edit: August 20, 2007, 12:14:09 PM by vmax549 »

Offline Jeff_Birt

*
  •  1,107 1,107
    • View Profile
    • Soigeneris
Re: Accurate homing
« Reply #5 on: August 20, 2007, 01:10:18 PM »
Quote
Currently my lack in confidence at maintaining an accurate home is bringing me very close to abandoning Mach. This is because e-stop and Limit events are very common, and after which Mach requires re-homing.

I can understand your frustration, but I don't think you fully understood the problem before trying to develop a solution.  Starting at the beginning, e-stops and running into the limits should not be common events.  Both are there for the safety of the operator and machine.  When these events occur a control should shut down the motors, period.  The motors and driven mechanism WILL continue moving some unknown distance (dependant on velocity at the time of shutdown etc).  Again, an emergency event such as E-Stop or limit switch should not have occurred, even with incremental/absolute encoders in the system the control has no way of good way of knowing exactly where the machine is at.    The homing process ensures that the machine knows where its parts are at.  Even robots, which have very good absolute encoders, will home and look for an index pulse within a certain range of the home position.

Quote
Requirement: The only time a CAM system (without absolute positioning) should require homing is at power up, after a motor drive failure, or when the operator decides it's necessary (after a crash).

Again, E-stops and limit switches should not be common events.  If one of these events has occurred the operator may have no way of knowing if something was damaged in the incident or if the machine is still where it should be.  Even absolute encoders do not guarantee that you are really at a certain point, if the encoder or wiring is faulty you can get bogus readings to the control and the control will not know where you are at.  The homing process insures that the machine parts are physically in a known starting position.

So to get you off on the right foot here are two suggestions:

1) Figure out why E-Stops and limit events are common and fix it.  It could be a combination of your process and operator training.
2) Investigate the board from Rogers machine that Brian mentioned.  It combines the index pulse and limit sensor giving you a very accurate home.


Happy machining , Jeff Birt
 
Re: Accurate homing
« Reply #6 on: August 20, 2007, 07:33:19 PM »
Ok Chaoticone, I was talking a little out of my A** there ;)

However, the Trak system at one of my clients never requires homing, and both a friend’s AHHA system as well as his modern Akira-Seki VMC don't require homing after e-stop or limit events.

Naturally, Improved confidence in my homing repeatability will help for safety as I'd rather not second guess the ramifications of hitting the e-stop.

And, yes. I do occasionally jog in the wrong direction and hit the limits as my tool change position is at machine 0,0,0

Also, for servo systems, an uncontrolled e-stop is downright unsafe. I made a custom 1800IPM gantry system for a client this year using a National Instruments motion card, servomotors and Gecko G340 drivers. Controlled motion on e-stop and soft limit events were a requirement. Suddenly stopping the pulse stream resulted in a drive error/shut-down allowing the carriage to freewheel and do (more) damage. (I wrote my own g-code CAM software in LabView for this project - - a far cry from Mach in features but not bad, I think).

Ok so your typical home-build machine doesn’t do 1800IPM. But the speeds are getting to the point where controlled stops are going to be an important requirement (especially w/ the G100).

Right, the roigersmachine error detection board is a great idea for a stepper system with encoder or glass scale feedback.

Why can’t the index pulse of an encoder be fed in as a Mach home switch?

Does anyone know if Mach's encoder DROs are consistent across e-stops and limit events?

-Ted

Offline Chaoticone

*
  • *
  •  5,624 5,624
  • Precision Chaos
    • View Profile
Re: Accurate homing
« Reply #7 on: August 20, 2007, 08:39:22 PM »
Quote
Also, for servo systems, an uncontrolled e-stop is downright unsafe. I made a custom 1800IPM gantry system for a client this year using a National Instruments motion card, servomotors and Gecko G340 drivers. Controlled motion on e-stop and soft limit events were a requirement. Suddenly stopping the pulse stream resulted in a drive error/shut-down allowing the carriage to freewheel and do (more) damage. (I wrote my own g-code CAM software in LabView for this project - - a far cry from Mach in features but not bad, I think).

Ok so your typical home-build machine doesn’t do 1800IPM. But the speeds are getting to the point where controlled stops are going to be an important requirement (especially w/ the G100).


I think most controll the motion on e-stops and limits by using enable pins to fault or disable the drives.

I don't know if the index pulse of an encoder could be used as a home switch. I would think it would be possible with some VB codeing, not sure though.

I'm not certain if the encoder dros are consistent across an e-stop. I wouldn't think so. Maybe someone else will reply with this info.

Brett
;D If you could see the things I have in my head, you would be laughing too. ;D

My guard dog is not what you need to worry about!

Offline poppabear

*
  • *
  •  2,235 2,235
  • Briceville, TN, USA
    • View Profile
Re: Accurate homing
« Reply #8 on: August 20, 2007, 08:40:08 PM »
Erichtg,

    Eds boards, (from cncbuildingblocks.com), are most excellent. Your back doesnt effect the Homing process just the accurcy, (like any machine). My BP II, (retrofitted), can home repeatable in 0.0002.  I dont use glass scales, I just use the Encouders (with index), on the servos.  Really depending on whose drives/systems you run. I use ADC "Sure Servo" system. You can feed back all kinds of information to mach through the modbus, directly through the servos, or better throgh a pLC, both operational control, diag, and feedback. But that is getting off of the topic.

With Eds boards you homing accuracy, comes down to the mechanical accuracy of the axis.  The way his board works is, when your Home switch is hit, the board has the axis continue until it sees the "Index" pulse, then (and you set this by a binary counter swith bank), you set how many encouder counts you want the machine to back the other way, off of the switch, but it counts down from the index pulse. this value will vary depending on your ppr, and your drive screw/mech transmission ratio. Once it move the servo back off of the home switch, it tell mach it is hommed.

As far as parts are concerned, the are on spec.

From what I am reading that you wrote, I dont think the homing accurcy is your complaint.  I think what you want is after a crash/E-stop condition, you want to be able to restart the program from where the problem occured without losing your position. You could re-home, BUT, for what you want, you would need to have "Absolute" Encouders.  Newall makes some that you can read their serial output via a PLC convert that to a binary value and then send it into mach via modbus. But Brian or someone would have make a C++ plugin for this type of feed back to be usefull to mach, in which it would take this value as actual axis postion value.....

Currently though, you best bet would be Ed's board, (he now makes one with JUST the homing function), and figure out why you are crashing so much!!!  You might be better off Using Quantum, since it has a double S curve trajectory planner for accel/decell, and at the speeds your talking about, this might be a better option for you.

Scott
fun times

vmax549

*
Re: Accurate homing
« Reply #9 on: August 20, 2007, 08:42:38 PM »
There is a HUGE difference in STOP and Estop( or should be) THe Estop should kill all power to all drives in the event of a runaway situation(worst case) THat should allow the brakes to engage and stop the movement. You did install brakes for the high speed/ high inertia movement correct?

 In a true Estop situation it should fail safe. Never depend on the electronics alone to Estop the system. Your best friends  life may depend on it.

Stop means to come to a controlled stop. Maybe this is what you need to use instead of Estop for minor problems that need attention

If you set up the softlimits then MACH will not LET you get to the hard limits unless something is really wrong and then the limits should take over.

It might benifit you to move the tool change position away from the home position to prevent tripping the limit or use a return to position Mcode to auto return the machine back to the position before the tool change.

Just some thoughts (;-) TP