absolute multiturn encoders (solved)
here is completely loockdown .... so no sky touringB) ! .... thise is nice for my old project on Ubuntu and Lcnc. My machinery work with ethercat and position profile cia402. My servo have multiturn absolute encoder .... I have never used them even with Mesa cards so I have no idea how to create a proper hal file and make Lcnc not ask me to reset the axes on power up.
I use Lcnc 2.9 with ethercat.
Up to now I have set the servodrive to use the encoder incrementally, so that Lcnc can follow its workflow and I have set the HOME functions all to 0 so that Lcnc does zero in place. At this stage of the project this is fine.
But now I have set the servodrives in absolute multiturn encoder mode (the encoders have the battery) and Lcnc continues to zero in place. How can I avoid making the zero and take the values of the encoders for good without having to reset the axes?
here mi ini file HOMING .... something is wrong but not understand ....
[AXIS_Z]
MIN_LIMIT = -1200
MAX_LIMIT = -400
MAX_VELOCITY = 7000.0
MAX_ACCELERATION = 2000.0
[JOINT_2]
# more annoing option .....
HOME_ABSOLUTE_ENCODER = 2
HOME = 0.0
HOME_DELAY = 0
HOME_VEL = 0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 0.0
HOME_USE_INDEX = NO
#HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
And I receive these error: tip: switch to joint mode for jog off soft limits
What is means? Zero axis start from joint mode .... but after these I'm on world mode ... and I have these error ..... I try to modify MAX_limit and MIN_LIMIT to very hight value so now receive these error after homing:
Note: Motion Enabled after reaching a coordinate soft limit with active external offset
But I have not external limit on my config .... so not understand
I will be very happy if someone can tell me which way to look to explore this problem. Now I don't see the road.
Merry Christmas at all again
Please Log in or Create an account to join the conversation.
# set homed flag if absolute position is valid
net x-absolute halui.joint.0.set-homed <= nyx.0.servo-00.abs-ok
net y-absolute halui.joint.1.set-homed <= nyx.0.servo-01.abs-ok
net z-absolute halui.joint.2.set-homed <= nyx.0.servo-02.abs-ok
net a-absolute halui.joint.3.set-homed <= nyx.0.servo-03.abs-ok
net b-absolute halui.joint.4.set-homed <= nyx.0.servo-04.abs-ok
net c-absolute halui.joint.5.set-homed <= nyx.0.servo-05.abs-ok
# unhome axes on absolute position loss
net x-abs-lost halui.joint.0.unhome <= nyx.0.servo-00.abs-lost
net y-abs-lost halui.joint.1.unhome <= nyx.0.servo-01.abs-lost
net z-abs-lost halui.joint.2.unhome <= nyx.0.servo-02.abs-lost
net a-abs-lost halui.joint.3.unhome <= nyx.0.servo-03.abs-lost
net b-abs-lost halui.joint.4.unhome <= nyx.0.servo-04.abs-lost
net c-abs-lost halui.joint.5.unhome <= nyx.0.servo-05.abs-lost
[edit]
As for your soft limits issues, you have this in your ini:
[AXIS_Z]
MIN_LIMIT = -1200
MAX_LIMIT = -400
Maybe it all resolves after you have your homing set up correctly.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Any way now I can only try the day after tomorrow ...
Thanks
bkt
Please Log in or Create an account to join the conversation.
Oops, thanks Dmitry I was not aware of that.aciera, that 'set-homed' hal pin is a part of my patch and is not present in the upstream linuxcnc code.
Please Log in or Create an account to join the conversation.
After these test I program to install Lcnc on old 6 axis arm like your project .... finished this delta I will begin to install Lcnc on an old 6 axis arm, so that your posts will be very useful .... I will try to put my own .... I will have 2 encoders per axis or 1 encoders and a torque sensor I do not know yet .... however there will be laughs ....
regards
bkt
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
But now I have set the servodrives in absolute multiturn encoder mode (the encoders have the battery) and Lcnc continues to zero in place
Maybe I misunderstand this but since Lcnc zeroes your axis and your axis limits put zero outside of the "legal" interval I would expect an error for limit violations.
.... however there will be laughs ....
Well, I hope you will be able take it with a laugh! I actually had quite a few _curses_ today when working on my robot configuration.
Please Log in or Create an account to join the conversation.
Any how my intention is modify a cobot .... so i think i will laugh a lot at myself. In any case, thanks.
However no misunderstanding ... the error you saw I had seen it too .... theoretically the true errors concern the zero position and the speeds (obviously you have to be in the valid workspace for soft limits). As soon as I can try I will post the correct solution for me.
Good saint stephen.
bkt
Please Log in or Create an account to join the conversation.
HOME_ABSOLUTE_ENCODER = 1
yes I need to make a homing at start but all sounds good.
But if use these one:
HOME_ABSOLUTE_ENCODER = 2
the new position at start-up becomes the current real one added to that of the last shutdown ... and this happens both if I use the INI file position.txt and if I leave the parameter empty and therefore Lcnc doesn't use it.
Why?
I didn't use
setp halui.joint.0.set-homed 1
regards
bkt
Please Log in or Create an account to join the conversation.