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


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--not" instead of "m5i20.0.in-".
>>>
>>> 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 wha

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--not" instead of "m5i20.0.in-".
>>
>> 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
p

Re: [Emc-users] Homing with index m5i20

2007-08-03 Thread Richard Arthur
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--not" instead of "m5i20.0.in-".
>
> 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.

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:
> 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--not" instead of "m5i20.0.in-".

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