CoreXY translation for TrivKins

More
5 years 7 months ago #203248 by +Jan+
Understood, thanks!
Are there equivalents for a mesa board configuration?

Please Log in to join the conversation.

More
5 years 7 months ago #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

Please Log in to join the conversation.

More
5 years 7 months ago #203291 by +Jan+
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 of
Code:
setp spiPRU.joint.0.scale [JOINT_0]SCALE
I use
Code:
setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
Is that correct?

Here ist the HAL part for the X Axis
Code:
# 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
Code:
#****************************************** [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
Code:
# 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
Code:
#****************************************** [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

Please Log in to join the conversation.

More
5 years 7 months ago #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

Please Log in to join the conversation.

More
5 years 7 months ago #203318 by +Jan+
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
Code:
#******************* # 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

Please Log in to join the conversation.

More
5 years 7 months ago #203353 by scotta
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

Please Log in to join the conversation.

More
5 years 7 months ago #203954 by +Jan+
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.

Attachment not found



Best regards

Jan

Please Log in to join the conversation.

More
3 years 5 months ago #270443 by Scooby
Thanks for this topic and posting your files - i'm now up and running!

Please Log in to join the conversation.

Time to create page: 0.073 seconds
Powered by Kunena Forum