CoreXY translation for TrivKins
22 Mar 2021 15:07 #203248
by +Jan+
Replied by +Jan+ on topic CoreXY translation for TrivKins
Understood, thanks!
Are there equivalents for a mesa board configuration?
Are there equivalents for a mesa board configuration?
Please Log in or Create an account to join the conversation.
22 Mar 2021 15:14 #203249
by PCW
Replied by PCW on topic CoreXY translation for TrivKins
I think if you globally replace "spiPRU.joint."
with "hm2_5i25.0.stepgen.0"
You should be a lot closer
with "hm2_5i25.0.stepgen.0"
You should be a lot closer
Please Log in or Create an account to join the conversation.
22 Mar 2021 20:39 - 22 Mar 2021 20:49 #203291
by +Jan+
Replied by +Jan+ on topic CoreXY translation for TrivKins
Thanks, i replaced now "spiPRU.0.pos" with "hm2_5i25.0.stepgen.00.position" and commented out some hal links till linuxcnc starts.
If i try to move the Axis now I get a following error. What can I do to solve this?
NOTE: Instead ofI useIs that correct?
Here ist the HAL part for the X Axis
INI part for X
And here for the Y Axis
INI for Y
Thanks in advance
Jan
If i try to move the Axis now I get a following error. What can I do to solve this?
NOTE: Instead of
setp spiPRU.joint.0.scale [JOINT_0]SCALE
setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
Here ist the HAL part for the X Axis
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_5i25.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_5i25.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_5i25.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
# setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 1
# setp hm2_5i25.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
# net x-pos-cmd <= joint.0.motor-pos-cmd
net x-vel-cmd <= joint.0.vel-cmd
net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd
# net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
# net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_5i25.0.stepgen.00.enable
# COREXY
setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_5i25.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => corexy.xpos-cmd
net m0pos-cmd corexy.m0pos-cmd => hm2_5i25.0.stepgen.00.position-cmd
net m0pos-fb hm2_5i25.0.stepgen.00.position-fb => corexy.m0pos-fb
net xpos-fb corexy.xpos-fb => joint.0.motor-pos-fb
INI part for X
#******************************************
[AXIS_X]
MAX_VELOCITY = 8.33333333333
MAX_ACCELERATION = 200.0
MIN_LIMIT = -0.01
MAX_LIMIT = 40.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 8.33333333333
MAX_ACCELERATION = 200.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 10.42
STEPGEN_MAXACCEL = 250.00
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 5000
DIRHOLD = 10000
STEPLEN = 2500
STEPSPACE = 2500
STEP_SCALE = 3200.0
MIN_LIMIT = -0.01
MAX_LIMIT = 40.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
And here for the Y Axis
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
# setp hm2_5i25.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE
setp hm2_5i25.0.stepgen.01.step_type 0
setp hm2_5i25.0.stepgen.01.control-type 1
# setp hm2_5i25.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
# ---closedloop stepper signals---
# net y-pos-cmd <= joint.1.motor-pos-cmd
net y-vel-cmd <= joint.1.vel-cmd
net y-output <= hm2_5i25.0.stepgen.01.velocity-cmd
# net y-pos-fb <= hm2_5i25.0.stepgen.01.position-fb
# net y-pos-fb => joint.1.motor-pos-fb
net y-enable <= joint.1.amp-enable-out
net y-enable => hm2_5i25.0.stepgen.01.enable
# COREXY (WHOLE BLOCK)
setp hm2_5i25.0.stepgen.01.position-scale [JOINT_0]STEP_SCALE
setp hm2_5i25.0.stepgen.01.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net ypos-cmd joint.1.motor-pos-cmd => corexy.ypos-cmd
net m1pos-cmd corexy.m1pos-cmd => hm2_5i25.0.stepgen.01.position-cmd
net m1pos-fb hm2_5i25.0.stepgen.01.position-fb => corexy.m1pos-fb
net ypos-fb corexy.ypos-fb => joint.1.motor-pos-fb
INI for Y
#******************************************
[AXIS_Y]
MAX_VELOCITY = 11.6666666667
MAX_ACCELERATION = 200.0
MIN_LIMIT = -0.01
MAX_LIMIT = 50.0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 10.0
MIN_FERROR = 1.0
MAX_VELOCITY = 11.6666666667
MAX_ACCELERATION = 200.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 14.58
STEPGEN_MAXACCEL = 250.00
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 5000
DIRHOLD = 10000
STEPLEN = 2500
STEPSPACE = 2500
STEP_SCALE = 3200.0
MIN_LIMIT = -0.01
MAX_LIMIT = 50.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = -1.000000
HOME_LATCH_VEL = -0.500000
HOME_FINAL_VEL = 0.000000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 2
#******************************************
Thanks in advance
Jan
Last edit: 22 Mar 2021 20:49 by +Jan+.
Please Log in or Create an account to join the conversation.
22 Mar 2021 21:00 #203294
by PCW
Replied by PCW on topic CoreXY translation for TrivKins
This is wrong for the velocity mode:
net m0pos-cmd corexy.m0pos-cmd => hm2_5i25.0.stepgen.00.position-cmd
corexy.m0pos-cmd should instead connect to pid.x.command
There are also critical hal setup lines commented out like:
# setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
net m0pos-cmd corexy.m0pos-cmd => hm2_5i25.0.stepgen.00.position-cmd
corexy.m0pos-cmd should instead connect to pid.x.command
There are also critical hal setup lines commented out like:
# setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
Please Log in or Create an account to join the conversation.
22 Mar 2021 23:02 - 22 Mar 2021 23:03 #203318
by +Jan+
Replied by +Jan+ on topic CoreXY translation for TrivKins
As you probably noticed, my knowledge doesn't really go beyond the configuration via PNCCONF and some other small config adjustments. So please understand that I have to ask again. Is this what you meant? In the configuration below I still get the following error.
The entry "# setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE" and a few others was duplicated, so I just commented it out. Now they are only single present.
Thanks a lot
Jan
The entry "# setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE" and a few others was duplicated, so I just commented it out. Now they are only single present.
Thanks a lot
Jan
#*******************
# AXIS X JOINT 0
#*******************
setp pid.x.Pgain [JOINT_0]P
setp pid.x.Igain [JOINT_0]I
setp pid.x.Dgain [JOINT_0]D
setp pid.x.bias [JOINT_0]BIAS
setp pid.x.FF0 [JOINT_0]FF0
setp pid.x.FF1 [JOINT_0]FF1
setp pid.x.FF2 [JOINT_0]FF2
setp pid.x.deadband [JOINT_0]DEADBAND
setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.x.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp pid.x.maxerror 0.012700
net x-index-enable <=> pid.x.index-enable
net x-enable => pid.x.enable
net x-pos-cmd corexy.m0pos-cmd => pid.x.command
net x-pos-fb => pid.x.feedback
net x-output <= pid.x.output
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_5i25.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_5i25.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_5i25.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 1
setp hm2_5i25.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
# net x-pos-cmd <= joint.0.motor-pos-cmd
net x-vel-cmd <= joint.0.vel-cmd
net x-output <= hm2_5i25.0.stepgen.00.velocity-cmd
# net x-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
# net x-pos-fb => joint.0.motor-pos-fb
net x-enable <= joint.0.amp-enable-out
net x-enable => hm2_5i25.0.stepgen.00.enable
# COREXY
net xpos-cmd joint.0.motor-pos-cmd => corexy.xpos-cmd
net m0pos-cmd => hm2_5i25.0.stepgen.00.position-cmd
net m0pos-fb hm2_5i25.0.stepgen.00.position-fb => corexy.m0pos-fb
net xpos-fb corexy.xpos-fb => joint.0.motor-pos-fb
Last edit: 22 Mar 2021 23:03 by +Jan+.
Please Log in or Create an account to join the conversation.
23 Mar 2021 05:54 #203353
by scotta
Replied by scotta on topic CoreXY translation for TrivKins
I'm now using the corexy component that is included in LinuxCNC, corexy_by_hal
linuxcnc.org/docs/html/man/man9/corexy_by_hal.9.html
spiPRU is now called Remora and is for Raspberry Pi not Beagle Bone.
BR
Scott
linuxcnc.org/docs/html/man/man9/corexy_by_hal.9.html
spiPRU is now called Remora and is for Raspberry Pi not Beagle Bone.
BR
Scott
Please Log in or Create an account to join the conversation.
28 Mar 2021 22:11 - 28 Mar 2021 22:19 #203954
by +Jan+
Replied by +Jan+ on topic CoreXY translation for TrivKins
Good evening, thank you for the tip. Despite some research, I only found a sample configuration for the COREXY_BY_HAL component. Here is the link to github.
github antonchromjak /
corexy_by_hal-with-mesa-7i96-config
I have adapted the configuration for the Mesa 7i76 I am using and so far everything is behaving as expected. I was not able to perform a complete homing sequence due to the lack of mounted reference switches. However, the axes are moved as desired when the homing is started. Many thanks to all developers. To make it easier for the next beginners, below I attach my configuration that works with Mesa 5i25 and 7i76.
Best regards
Jan
github antonchromjak /
corexy_by_hal-with-mesa-7i96-config
I have adapted the configuration for the Mesa 7i76 I am using and so far everything is behaving as expected. I was not able to perform a complete homing sequence due to the lack of mounted reference switches. However, the axes are moved as desired when the homing is started. Many thanks to all developers. To make it easier for the next beginners, below I attach my configuration that works with Mesa 5i25 and 7i76.
Best regards
Jan
Attachments:
Last edit: 28 Mar 2021 22:19 by +Jan+.
Please Log in or Create an account to join the conversation.
02 May 2023 01:53 #270443
by Scooby
Replied by Scooby on topic CoreXY translation for TrivKins
Thanks for this topic and posting your files - i'm now up and running!
Please Log in or Create an account to join the conversation.
Time to create page: 0.092 seconds