Using internal servodrive homing function (DS402 drives)

More
11 Mar 2021 12:40 #201806 by JimPanski
Hi@all!

I am tying to merge changes to the homing.c file so that the homing is controlled by the internal routine of the drives.
This was already a thing in the ethercat thread on eg. p88 ( link )
But unfortunately Roschi´s changes (see his github diff ) didnt work.
This try I was using a 2.9pre version and the homing instantly stopped after clicking the homing butten with homing state 7.


So my next try was switching back to 2.8.1 and tried changes seen on sqmathlete´s post on page 99 ( #109195 )
After merging his changes I got the ferror message in axis :(


ini-settings:
HOME_OFFSET = 500.0
HOME_SEARCH_VEL = 0.0
HOME_LATCH_VEL = 9.9
=>so my setup uses incremental encoders/no absolute ones
hal-settings:
net z-home-fb  lcec.0.EL6751.z-stat-Referenzgefunden =>  joint.1.home-sw-in
net z-homed joint.1.homed => classicladder.0.in-02
net z-homing_cmd joint.1.homing => classicladder.0.in-01

So cause I am really dont know whats wrong here I hope there is someone who might have ideas. I think there are setups here which might work already like that (or at least this is interesting also for other users with drives which support homing internally).

Thanks
Conny
Attachments:

Please Log in or Create an account to join the conversation.

More
11 Mar 2021 17:15 #201833 by db1981
Hi,

for clearify:

-you want to use the internal homing function of the 402 drive. Modes of Operation = 6 ?
-Homing Modes, velocity etc. are configured in the drives sdos? (your ini settings in this case are not used)
-Home switch is conected to the servo drive?
-what do you do with your classicladder in this case?

Please Log in or Create an account to join the conversation.

More
11 Mar 2021 17:30 #201838 by JimPanski
Hallo Dominik :)

right, cl is used to set the mode of operation to 6 if the homing pin is true.
I missed that: at my fist attemp with 2.9pre this doesn´t happen if i click the homing button.
The homing is correctly set up in the drive. If I switch manually to "6" everything is fine. So yes the homing switch is connected directly to the drive.
These ini settings of search and latch are needed to use the shortcut in the homing.c file. (as you can see in the diff from Roschi)

Please Log in or Create an account to join the conversation.

More
11 Mar 2021 17:51 #201841 by db1981
Hallo ??

home_position/offset is setup in the drive.
after the drive has done homing, linuxcnc should take the drives actual position (like absolute encoder) or should set its internal counter to zero?

we have an patch for this, i have done this with nanotecs pd4e's before.

(muss ich rauskramen und dokumentieren, kommt dann die Tage...)
The following user(s) said Thank You: JimPanski

Please Log in or Create an account to join the conversation.

More
11 Mar 2021 18:01 #201844 by JimPanski
so this means, nothing more to do here because this is really already done??
Uuh, that would be awesome!
Nevertheless I think also this could really be a helpful feature to have this already implemented in the official release. At least it would be nice to have a wiki article or something similar.

So for the home offset in my case, this has to be left out, cause the offset position is already in the drive? Will correct that if this is right.

Thank you!
Conny

Please Log in or Create an account to join the conversation.

More
13 Mar 2021 17:04 #202114 by db1981
Hi,

have a look at this, it works without patching linuxcnc.

forum.linuxcnc.org/24-hal-components/418...can-bus-ethercat-etc

Please Log in or Create an account to join the conversation.

More
16 Mar 2021 20:16 #202511 by JimPanski
Hi Dominik,

yesterday I got time to make the changes to my test config and installed your component.
This is very amazing and helped a lot. No mess with the state machine and mode of operation anymore! Thank you so much!
Now the bad thing. It seems that linuxcnc does put out target position when homing is true.
So for my first test I got the ferror message in axis too.
Then after raising my ferror ini values this problem was solved.
The thing is now my servo drive does put out the error message because of following error :(
For testing purposes I set up the homing velocity in my ini file to the same value as in the drive. Bingo! First time axis homed sucessful :) How cool is that?!

So now I am asking if there is a chance to interrupt the output of a target position when the drive is in mode 6? Would that be possible?

Big thanks
Conny
The following user(s) said Thank You: db1981

Please Log in or Create an account to join the conversation.

More
16 Mar 2021 22:03 #202523 by db1981
Hi,

i have done this so in the first tests, and then kicked it out again because it doesn't makes an difference...
At rethinking this know, my test device has been an integrated motor/drive combination and i did only home on index in testruns... My scaling was 1 Motor round = 1mm, so my ferror has never big raised.... upps.

The drive does not react to the target position in homing mode. The ferror is caused because the actual feedback from the drive does not fit linuxcnc's position.

Your solution with setting linuxcncs home velocity equals to the drive is an good one, because we got a second monitoring if something is unnormal/broken.

Although i will change that, and put the feedback simulation back in. But i will make this configurable for the user.
f-error-home-monitoring true /false ..

The other solution would be to patch linuxcncs homing and add a new mode like absolute encoder or so, but this will be a new "struckle stone" for unexperinted users....

It will need a few days, my linux pc is far away from me....

Please Log in or Create an account to join the conversation.

More
16 Mar 2021 22:16 #202527 by db1981
Hi again,

The thing is now my servo drive does put out the error message because of following error

.

Is this during homing or at the end of homing. I think op mode change back to cs(x) may has to be on cycle later, because lcnc needs on cycle after clearing index-enable to set it's output to the home position.

Please Log in or Create an account to join the conversation.

More
16 Mar 2021 23:02 #202539 by JimPanski
nah, drive is in mode 6/does the homing movement as the error in the drive occurs.
So homing was aborted and mode switch back to 8 didnt have to happen because of the error state in the drive. (so axis tells drive fault..)
This behavior was gone with the adapted ini velo to the settings in the drive.

Please Log in or Create an account to join the conversation.

Time to create page: 0.086 seconds
Powered by Kunena Forum