Using internal servodrive homing function (DS402 drives)
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:=>so my setup uses incremental encoders/no absolute ones
hal-settings:
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
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
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
Please Log in or Create an account to join the conversation.
11 Mar 2021 17:15 #201833
by db1981
Replied by db1981 on topic Using internal servodrive homing function (DS402 drives)
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?
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.
11 Mar 2021 17:30 #201838
by JimPanski
Replied by JimPanski on topic Using internal servodrive homing function (DS402 drives)
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)
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.
11 Mar 2021 17:51 #201841
by db1981
Replied by db1981 on topic Using internal servodrive homing function (DS402 drives)
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...)
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.
11 Mar 2021 18:01 #201844
by JimPanski
Replied by JimPanski on topic Using internal servodrive homing function (DS402 drives)
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
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.
13 Mar 2021 17:04 #202114
by db1981
Replied by db1981 on topic Using internal servodrive homing function (DS402 drives)
Hi,
have a look at this, it works without patching linuxcnc.
forum.linuxcnc.org/24-hal-components/418...can-bus-ethercat-etc
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.
16 Mar 2021 20:16 #202511
by JimPanski
Replied by JimPanski on topic Using internal servodrive homing function (DS402 drives)
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
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.
16 Mar 2021 22:03 #202523
by db1981
Replied by db1981 on topic Using internal servodrive homing function (DS402 drives)
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....
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.
16 Mar 2021 22:16 #202527
by db1981
Replied by db1981 on topic Using internal servodrive homing function (DS402 drives)
Hi again,
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.
.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.
16 Mar 2021 23:02 #202539
by JimPanski
Replied by JimPanski on topic Using internal servodrive homing function (DS402 drives)
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.
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.111 seconds