Re: [Emc-users] Homing with index m5i20

2007-08-04 Thread Richard Arthur
John Kasunich wrote:
 The scope trace shows that the the home input to the motion controller
 is true during the first slope - that means EMC thinks it is already
 on the switch, and is trying to get off of it.

  From the HAL file:

 # Connect limit/home switch outputs to motion controller.
 newsig Xminlim bit
 newsig Xmaxlim  bit
 newsig Xhome bit
 linksp Xminlim = m5i20.0.in-00-not
 linksp Xminlim = axis.0.neg-lim-sw-in
 linksp Xmaxlim = m5i20.0.in-01-not
 linksp Xmaxlim = axis.0.pos-lim-sw-in
 linksp Xhome = m5i20.0.in-00
 linksp Xhome = axis.0.home-sw-in

 Note that the limit switch signal is connected to the -not pin.  That's
 because your switches are active low.  But the home signal is connected
 to the regular pin, not the -not one.  So EMC is confused about the
 polarity of your home switch.

 The solution is to connect EMC's home input AND its negative limit input
 both to the -not driver pin.

 However, you can't connect two signals (Xminlim and Xhome)  to one pin.
 You can connect two or more pins to one signal.  I'd do it like this:

 # Connect limit/home switch outputs to motion controller.
 newsig Xminlim-and-home bit
 newsig Xmaxlim  bit
 linksp Xminlim-and-home = m5i20.0.in-00-not
 linksp Xminlim-and-home = axis.0.neg-lim-sw-in
 linksp Xminlim-and-home = axis.0.home-sw-in
 linksp Xmaxlim = m5i20.0.in-01-not
 linksp Xmaxlim = axis.0.pos-lim-sw-in

 Since you are homing on the negative end of the axis, SEARCH_VEL must be
 negative.  If you also make LATCH_VEL negative, it will home on the 
 first index pulse outside the limit switch, which is probably not what 
 you want.  Make LATCH_VEL positive.  Then the homing process will be:

 1) negative slope at SEARCH_VEL until you hit the switch
 2) positive slope at LATCH_VEL until you get off the switch
 3) continue at the same positive slope until you hit the index
 4) done

 Regards,

 John Kasunich
   
Thank you very much for your detailed reply. I've applied your 
suggestions, homing works well and I've learnt some more!

Many thanks,

Richard

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Homing with index m5i20

2007-08-03 Thread Richard Arthur
Issue:
The direction of searching for the index seems to be the inverse of the 
direction of THE_HOME_LATCH VEL when I would have expected it to be the 
same.

What I did:
Update from (Ubuntu) 2.1.6 to 2.1.7.  Generate new configs in my home 
folder and modify to suit.

However, with the current set up, homing is achieved  successfully on 
the index pulse as can be seen from the screen shot:

http://imagebin.org/9711

ini snip:

[AXIS_0]

TYPE =  LINEAR
HOME =  0.0
MAX_VELOCITY =  4.0
MAX_ACCELERATION =  20.0
BACKLASH = 0.000
INPUT_SCALE =   2
OUTPUT_SCALE = 1.000
OUTPUT_OFFSET = 0.0
MIN_LIMIT = -32.0
MAX_LIMIT = 20.0
FERROR = 0.01
MIN_FERROR = 0.01
HOME_OFFSET =   0.0
HOME_SEARCH_VEL =   0.1
HOME_LATCH_VEL =0.04
HOME_USE_INDEX =TRUE
HOME_IGNORE_LIMITS =YES
MAX_OUTPUT =10

Thank you.

Richard


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Homing with index m5i20

2007-08-03 Thread John Kasunich
Richard Arthur wrote:
 John Kasunich wrote:
 Richard Arthur wrote:
   
 Issue:
 The direction of searching for the index seems to be the inverse of the 
 direction of THE_HOME_LATCH VEL when I would have expected it to be the 
 same.

 What I did:
 Update from (Ubuntu) 2.1.6 to 2.1.7.  Generate new configs in my home 
 folder and modify to suit.

 However, with the current set up, homing is achieved  successfully on 
 the index pulse as can be seen from the screen shot:

 http://imagebin.org/9711

 ini snip:

 [AXIS_0]

 TYPE =  LINEAR
 HOME =  0.0
 MAX_VELOCITY =  4.0
 MAX_ACCELERATION =  20.0
 BACKLASH = 0.000
 INPUT_SCALE =   2
 OUTPUT_SCALE = 1.000
 OUTPUT_OFFSET = 0.0
 MIN_LIMIT = -32.0
 MAX_LIMIT = 20.0
 FERROR = 0.01
 MIN_FERROR = 0.01
 HOME_OFFSET =   0.0
 HOME_SEARCH_VEL =   0.1
 HOME_LATCH_VEL =0.04
 HOME_USE_INDEX =TRUE
 HOME_IGNORE_LIMITS =YES
 MAX_OUTPUT =10

 Thank you.

 Richard
 
 Thanks for the halscope shot - that helps a lot!

 It looks like you are starting the homing process already on the switch.
 (Or maybe the home switch is active low and EMC only thinks it is on the 
 switch.)

 Your search and latch velocities are both positive.  But EMC starts the
 homing process moving in the negative direction - it thinks its on the
 switch and is trying to back off.  At about 3.5 divisions on the scope
 trace it thinks it is off the switch and starts to move positive at
 search velocity.  It almost almost immediately hits the switch, then
 backs off at a negative velocity.  It begins the final pass at positive
 latch velocity just after 4 divisions on the scope trace.

 What physical direction corresponds to the initial negative slopw
 portion of the scope trace?  Which end of the axis is your switch on?
 Is that initial move toward or away from the switch?

 If your switch is active low, you can invert the input by connecting
 to m5i20.0.in-whatever-not instead of m5i20.0.in-whatever.

 Regards,

 John Kasunich
   
 I've increased the Home_Latch_Vel to 0.8 to enable me to squeeze in the 
 whole cycle with 4 channels. This latch vel causes problems with 
 'bouncing', so it is just to make my point. Screen shot here:
 
 http://imagebin.org/9716
 
 The servo amps switch off travel at the limit switches (as previously 
 discussed) and home/limit is shared. As I see it, slope 1 is the 
 Home_Search_Vel, 2 is backing off, 3 is Home_Latch_Vel., 4 searching for 
 index. My point is that after final detection of switch, the direction 
 is reversed to find the index. As I said at the beginning, this is not 
 what I expected - maybe I'm wrong?
 
 I've got no problem with homing. Under 2.1.6 I used the 2nd homing 
 sequence diagram successfully (as this screen shot, but after slope 3, 
 Home_Offset -0.1) and as this shot shows, I can home on the index now.  
 It's just that homing using the index doesn't appear to behave as 
 detailed in the homing sequence diagrams of the user handbook. I've not 
 answered you questions directly, in the hope that the 4 ch. screen shot 
 makes it clear.
 
 Thank you.
 

I was interpreting the picture as:
   slope 1 = move negative to get off switch
   slope 2 = move positive to find switch (normal search phase)
   slope 3 = back off switch before final move
   slope 4 = move to switch at latch vel, then continue till index pulse

Assuming that the home switch input is the same as the neg limit switch
input, that interpretation doesn't make sense.

Your original post showed an ini file with positive values for search 
and latch velocities.  If slope 1 is search and slope 3 is latch, that
doesn't make sense either.  Those slopes are clearly negative in spite
of the positive values in your ini file.  Any bug that severe would have
shown up long ago.

Fortunately there is a way to see exactly what is going on.

Can you re-do the test and post a new image?  Set the green channel
to 'axis.0.home-sw-in' instead of 'axis.0.neg-limit-sw-in'.  They are
probably the same, but its best to be sure.  Set the dark blue channel
to 'axis.0.home-state' instead of 'axis.0.homing'.  Set the scale for
'home-state' to 5 per division - home-state is an integer that ranges
from 0 to 20 during the homing process.  To understand what the values
of 'home-state' mean, , search for states for homing in
http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/src/emc/motion/motion.h?rev=1.71.4.3

Looking at home-state will tell us exactly what is going on during each
slope.  If there is a bug, we'll find it and fix it.  Likewise, if there
is a misconfiguration somewhere, we'll fix that.

Can you post your complete ini and hal files at pastebin.ca when you
post the next scope trace?

Thanks,

John Kasunich


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping 

Re: [Emc-users] Homing with index m5i20

2007-08-03 Thread John Kasunich
Richard Arthur wrote:
 ini:
 http://www.pastebin.ca/644773
 hal:
 http://www.pastebin.ca/644774
 screen shot:
 http://imagebin.org/9721
 
 Thanks,
 
 Richard

The scope trace shows that the the home input to the motion controller
is true during the first slope - that means EMC thinks it is already
on the switch, and is trying to get off of it.

 From the HAL file:

# Connect limit/home switch outputs to motion controller.
newsig Xminlim bit
newsig Xmaxlim  bit
newsig Xhome bit
linksp Xminlim = m5i20.0.in-00-not
linksp Xminlim = axis.0.neg-lim-sw-in
linksp Xmaxlim = m5i20.0.in-01-not
linksp Xmaxlim = axis.0.pos-lim-sw-in
linksp Xhome = m5i20.0.in-00
linksp Xhome = axis.0.home-sw-in

Note that the limit switch signal is connected to the -not pin.  That's
because your switches are active low.  But the home signal is connected
to the regular pin, not the -not one.  So EMC is confused about the
polarity of your home switch.

The solution is to connect EMC's home input AND its negative limit input
both to the -not driver pin.

However, you can't connect two signals (Xminlim and Xhome)  to one pin.
You can connect two or more pins to one signal.  I'd do it like this:

# Connect limit/home switch outputs to motion controller.
newsig Xminlim-and-home bit
newsig Xmaxlim  bit
linksp Xminlim-and-home = m5i20.0.in-00-not
linksp Xminlim-and-home = axis.0.neg-lim-sw-in
linksp Xminlim-and-home = axis.0.home-sw-in
linksp Xmaxlim = m5i20.0.in-01-not
linksp Xmaxlim = axis.0.pos-lim-sw-in

Since you are homing on the negative end of the axis, SEARCH_VEL must be
negative.  If you also make LATCH_VEL negative, it will home on the 
first index pulse outside the limit switch, which is probably not what 
you want.  Make LATCH_VEL positive.  Then the homing process will be:

1) negative slope at SEARCH_VEL until you hit the switch
2) positive slope at LATCH_VEL until you get off the switch
3) continue at the same positive slope until you hit the index
4) done

Regards,

John Kasunich




-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Homing with index m5i20

2007-08-03 Thread Richard Arthur


John Kasunich wrote:
 Richard Arthur wrote:
   
 John Kasunich wrote:
 
 Richard Arthur wrote:
   
   
 Issue:
 The direction of searching for the index seems to be the inverse of the 
 direction of THE_HOME_LATCH VEL when I would have expected it to be the 
 same.

 What I did:
 Update from (Ubuntu) 2.1.6 to 2.1.7.  Generate new configs in my home 
 folder and modify to suit.

 However, with the current set up, homing is achieved  successfully on 
 the index pulse as can be seen from the screen shot:

 http://imagebin.org/9711

 ini snip:

 [AXIS_0]

 TYPE =  LINEAR
 HOME =  0.0
 MAX_VELOCITY =  4.0
 MAX_ACCELERATION =  20.0
 BACKLASH = 0.000
 INPUT_SCALE =   2
 OUTPUT_SCALE = 1.000
 OUTPUT_OFFSET = 0.0
 MIN_LIMIT = -32.0
 MAX_LIMIT = 20.0
 FERROR = 0.01
 MIN_FERROR = 0.01
 HOME_OFFSET =   0.0
 HOME_SEARCH_VEL =   0.1
 HOME_LATCH_VEL =0.04
 HOME_USE_INDEX =TRUE
 HOME_IGNORE_LIMITS =YES
 MAX_OUTPUT =10

 Thank you.

 Richard
 
 
 Thanks for the halscope shot - that helps a lot!

 It looks like you are starting the homing process already on the switch.
 (Or maybe the home switch is active low and EMC only thinks it is on the 
 switch.)

 Your search and latch velocities are both positive.  But EMC starts the
 homing process moving in the negative direction - it thinks its on the
 switch and is trying to back off.  At about 3.5 divisions on the scope
 trace it thinks it is off the switch and starts to move positive at
 search velocity.  It almost almost immediately hits the switch, then
 backs off at a negative velocity.  It begins the final pass at positive
 latch velocity just after 4 divisions on the scope trace.

 What physical direction corresponds to the initial negative slopw
 portion of the scope trace?  Which end of the axis is your switch on?
 Is that initial move toward or away from the switch?

 If your switch is active low, you can invert the input by connecting
 to m5i20.0.in-whatever-not instead of m5i20.0.in-whatever.

 Regards,

 John Kasunich
   
   
 I've increased the Home_Latch_Vel to 0.8 to enable me to squeeze in the 
 whole cycle with 4 channels. This latch vel causes problems with 
 'bouncing', so it is just to make my point. Screen shot here:

 http://imagebin.org/9716

 The servo amps switch off travel at the limit switches (as previously 
 discussed) and home/limit is shared. As I see it, slope 1 is the 
 Home_Search_Vel, 2 is backing off, 3 is Home_Latch_Vel., 4 searching for 
 index. My point is that after final detection of switch, the direction 
 is reversed to find the index. As I said at the beginning, this is not 
 what I expected - maybe I'm wrong?

 I've got no problem with homing. Under 2.1.6 I used the 2nd homing 
 sequence diagram successfully (as this screen shot, but after slope 3, 
 Home_Offset -0.1) and as this shot shows, I can home on the index now.  
 It's just that homing using the index doesn't appear to behave as 
 detailed in the homing sequence diagrams of the user handbook. I've not 
 answered you questions directly, in the hope that the 4 ch. screen shot 
 makes it clear.

 Thank you.

 

 I was interpreting the picture as:
slope 1 = move negative to get off switch
slope 2 = move positive to find switch (normal search phase)
slope 3 = back off switch before final move
slope 4 = move to switch at latch vel, then continue till index pulse

 Assuming that the home switch input is the same as the neg limit switch
 input, that interpretation doesn't make sense.

 Your original post showed an ini file with positive values for search 
 and latch velocities.  If slope 1 is search and slope 3 is latch, that
 doesn't make sense either.  Those slopes are clearly negative in spite
 of the positive values in your ini file.  Any bug that severe would have
 shown up long ago.

 Fortunately there is a way to see exactly what is going on.

 Can you re-do the test and post a new image?  Set the green channel
 to 'axis.0.home-sw-in' instead of 'axis.0.neg-limit-sw-in'.  They are
 probably the same, but its best to be sure.  Set the dark blue channel
 to 'axis.0.home-state' instead of 'axis.0.homing'.  Set the scale for
 'home-state' to 5 per division - home-state is an integer that ranges
 from 0 to 20 during the homing process.  To understand what the values
 of 'home-state' mean, , search for states for homing in
 http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/src/emc/motion/motion.h?rev=1.71.4.3

 Looking at home-state will tell us exactly what is going on during each
 slope.  If there is a bug, we'll find it and fix it.  Likewise, if there
 is a misconfiguration somewhere, we'll fix that.

 Can you post your complete ini and hal files at pastebin.ca when you
 post the next scope trace?

 Thanks,

 John Kasunich

   
ini:
http://www.pastebin.ca/644773
hal: