Mesa 5i25 with plain G540, no 7i77
07 Nov 2014 09:13 #52890
by jaybobc
Replied by jaybobc on topic Mesa 5i25 with plain G540, no 7i77
Yes, I' tried jogging multiple combinations of axis at the same time including x,y & z. I have a 48v power supply. I have a nema 17 stepper for the z axis and the other three steppers are nema 23s (1 on the x and two on the y). Should 48v be enough?
Please Log in or Create an account to join the conversation.
07 Nov 2014 17:22 #52899
by cncbasher
Replied by cncbasher on topic Mesa 5i25 with plain G540, no 7i77
yes 48v should be ok , but looking at the problems your having , and as Andy mentioned what is the current rating of your power supply ?
as the current available may be your problem , for an example you'll need around 8 - 10A , more is better
as the current available may be your problem , for an example you'll need around 8 - 10A , more is better
Please Log in or Create an account to join the conversation.
08 Nov 2014 00:58 - 08 Nov 2014 00:58 #52909
by PCW
Replied by PCW on topic Mesa 5i25 with plain G540, no 7i77
Just in case its a marginal timing problem, I would try setting the step timings a bit longer (say 5000/5000 for steptime/stepspace)
Last edit: 08 Nov 2014 00:58 by PCW.
Please Log in or Create an account to join the conversation.
08 Nov 2014 11:34 #52933
by jaybobc
Replied by jaybobc on topic Mesa 5i25 with plain G540, no 7i77
ok time for a update/question/answer:
1) I had originally entered 1500/2500 for the steplength/stepspace because I'd read, somewhere, that those are the recommended for the G540. At any rate, I changed them to 5000/5000 as PCW suggested and that seems to have solved the problem for the most part (read below).
2) My power supply is only rated for 7.3 amps. While it seems to be working ok, I'll order a 10amp power supply to be safe.
3) when I was running the code, this time, everything was working great. It went far beyond where it was having problems before when all of the sudden, I got the following errors in rapid succession:
1. Unexpected realtime delay: check dmesg for details
2. joint 2 following error
3. RTAPI: ERROR: Unexpected realtime delay on task 1
4. This Message will only display once per session.
Run the Latency Test and resolve before continuing.
The last part of dmes says:
dmesg:
[ 1468.652783] In recent history there were
[ 1468.652783] 2431624, 2383484, 2395944, 2405324, and 2393308
[ 1468.652783] elapsed clocks between calls to the motion controller.
[ 1468.652783] This time, there were 74905808 which is so anomalously
[ 1468.652783] large that it probably signifies a problem with your
[ 1468.652783] realtime configuration. For the rest of this run of
[ 1468.652783] EMC, this message will be suppressed.
[ 1468.652783]
[ 1468.928735] RTAPI: ERROR: Unexpected realtime delay on task 1
[ 1468.928735] This Message will only display once per session.
[ 1468.928735] Run the Latency Test and resolve before continuing.
The last time I ran the latency test, I ran about 4 instances of glxgears for several hours. I also did some surfing on the web and moving windows around as suggested. The base thread ended up being around 32000, From what I've read this is not great, but acceptable for hardware step generation. After this error, I ran the latency test again and by the time I got the 4 instances of glxgears started, my base thread was over 30000000 (nope, not a typo. That's 30,000,000 nanoseconds). Looks like it's time to try another computer. Luckily I have another one that should work (actually it should be overkill, but I'll try it anyway). My question is could this have been causing my timing problem too? (I'm assuming yes, but would like to verify that). If I haven't done so, I'd like to thank everyone that has helped me, to this point, you guys have been great (and have saved some of my hair from being pulled out).
Thanks again,
Jay C.
1) I had originally entered 1500/2500 for the steplength/stepspace because I'd read, somewhere, that those are the recommended for the G540. At any rate, I changed them to 5000/5000 as PCW suggested and that seems to have solved the problem for the most part (read below).
2) My power supply is only rated for 7.3 amps. While it seems to be working ok, I'll order a 10amp power supply to be safe.
3) when I was running the code, this time, everything was working great. It went far beyond where it was having problems before when all of the sudden, I got the following errors in rapid succession:
1. Unexpected realtime delay: check dmesg for details
2. joint 2 following error
3. RTAPI: ERROR: Unexpected realtime delay on task 1
4. This Message will only display once per session.
Run the Latency Test and resolve before continuing.
The last part of dmes says:
dmesg:
[ 1468.652783] In recent history there were
[ 1468.652783] 2431624, 2383484, 2395944, 2405324, and 2393308
[ 1468.652783] elapsed clocks between calls to the motion controller.
[ 1468.652783] This time, there were 74905808 which is so anomalously
[ 1468.652783] large that it probably signifies a problem with your
[ 1468.652783] realtime configuration. For the rest of this run of
[ 1468.652783] EMC, this message will be suppressed.
[ 1468.652783]
[ 1468.928735] RTAPI: ERROR: Unexpected realtime delay on task 1
[ 1468.928735] This Message will only display once per session.
[ 1468.928735] Run the Latency Test and resolve before continuing.
The last time I ran the latency test, I ran about 4 instances of glxgears for several hours. I also did some surfing on the web and moving windows around as suggested. The base thread ended up being around 32000, From what I've read this is not great, but acceptable for hardware step generation. After this error, I ran the latency test again and by the time I got the 4 instances of glxgears started, my base thread was over 30000000 (nope, not a typo. That's 30,000,000 nanoseconds). Looks like it's time to try another computer. Luckily I have another one that should work (actually it should be overkill, but I'll try it anyway). My question is could this have been causing my timing problem too? (I'm assuming yes, but would like to verify that). If I haven't done so, I'd like to thank everyone that has helped me, to this point, you guys have been great (and have saved some of my hair from being pulled out).
Thanks again,
Jay C.
Please Log in or Create an account to join the conversation.
08 Nov 2014 23:46 #52956
by PCW
Replied by PCW on topic Mesa 5i25 with plain G540, no 7i77
wow thats 30 ms, that will always trigger a real time delay warning so its probably unrelated to the step timing
Note that the error when running was the about the same delay:
74905808 / 2431624 = ~30.8 ms (extracted from the dmesg)
Before giving up on that motherboard I would make sure all all power management is disabled in the BIOS
and the SMI patch is applied if its old enough to use SMI
Note that the error when running was the about the same delay:
74905808 / 2431624 = ~30.8 ms (extracted from the dmesg)
Before giving up on that motherboard I would make sure all all power management is disabled in the BIOS
and the SMI patch is applied if its old enough to use SMI
Please Log in or Create an account to join the conversation.
03 Apr 2015 19:42 #57485
by dbotos
Replied by dbotos on topic Mesa 5i25 with plain G540, no 7i77
Thanks to all who have contributed to this thread! I got my motors turning this morning with modified versions of PCW's ini file and blacksmith99's hal file (attached for reference).
So now that I can sit here and jog each of the four motors (I've got them sitting on a piece of cardboard on the slats at the moment), I have a new question. My machine is a plasma table with the bridge driven by a motor on each end (Y and A). How do I "slave" the A axis to the Y (i.e. when the Y motor moves, the A motor moves the same amount, but in the opposite direction)? I saw jaybobc has a similar style machine and in his hal file, there's a line that says
setp hm2_[HOSTMOT2](BOARD).0.gpio.012.invert_output true
in the section for the second Y axis. I'm assuming this is the direction inversion, but I didn't see anything linking axis 1 (Y) and 3 (A). Would this be done in the hal file or somewhere else?
Thanks,
David
So now that I can sit here and jog each of the four motors (I've got them sitting on a piece of cardboard on the slats at the moment), I have a new question. My machine is a plasma table with the bridge driven by a motor on each end (Y and A). How do I "slave" the A axis to the Y (i.e. when the Y motor moves, the A motor moves the same amount, but in the opposite direction)? I saw jaybobc has a similar style machine and in his hal file, there's a line that says
setp hm2_[HOSTMOT2](BOARD).0.gpio.012.invert_output true
in the section for the second Y axis. I'm assuming this is the direction inversion, but I didn't see anything linking axis 1 (Y) and 3 (A). Would this be done in the hal file or somewhere else?
Thanks,
David
Please Log in or Create an account to join the conversation.
03 Apr 2015 21:32 #57488
by dbotos
Replied by dbotos on topic Mesa 5i25 with plain G540, no 7i77
It appears that the gantrykins kinematics module is the answer to assigning the Y and A motors (joints 1 and 3) to the Y axis. Based on what I read in various places, I did the following:
in the ini file:
under [TRAJ], change COORDINATES = X Y Z A to COORDINATES = X Y Z Y and uncomment the HOME = 0 0 0 0 line
under all four [AXIS] sections:
HOME = 0.000
HOME_OFFSET = 0.000
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
in the hal file:
under # Core EMC/HAL Loads --> # kinematics, comment out loadrt trivkins and add loadrt gantrykins coordinates=XYZY
My machine has no limit switches at the moment, so I used the settings given in section 3.12 of www.linuxcnc.org/docs/html/config/ini_ho....html#_configuration for the various HOME_ parameters under each [AXIS] in the ini file.
So now when I fire up LinuxCNC, it opens up in joint/free mode. I can jog the X, Y, and Z motors from there (it only shows joints 0, 1, and 2; no joint 3). If I hit the Home All button and then go into world/teleop mode and try to jog any of the axes, it gives me a joint following error for one or more joints depending on which axis I try to jog.
in the ini file:
under [TRAJ], change COORDINATES = X Y Z A to COORDINATES = X Y Z Y and uncomment the HOME = 0 0 0 0 line
under all four [AXIS] sections:
HOME = 0.000
HOME_OFFSET = 0.000
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
in the hal file:
under # Core EMC/HAL Loads --> # kinematics, comment out loadrt trivkins and add loadrt gantrykins coordinates=XYZY
My machine has no limit switches at the moment, so I used the settings given in section 3.12 of www.linuxcnc.org/docs/html/config/ini_ho....html#_configuration for the various HOME_ parameters under each [AXIS] in the ini file.
So now when I fire up LinuxCNC, it opens up in joint/free mode. I can jog the X, Y, and Z motors from there (it only shows joints 0, 1, and 2; no joint 3). If I hit the Home All button and then go into world/teleop mode and try to jog any of the axes, it gives me a joint following error for one or more joints depending on which axis I try to jog.
Please Log in or Create an account to join the conversation.
03 Apr 2015 22:19 - 04 Apr 2015 05:14 #57490
by PCW
Replied by PCW on topic Mesa 5i25 with plain G540, no 7i77
A possibility without using gantrykins is to just use a vanilla XYZ config and
wire the A stepper to the Y position command in HAL:
# ################
# A [3] Axis wired to Y command
# ################
# axis enable chain
# enable Y2 with Y1 enable
net emcmot.01.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.03.enable
# Y2 position command from Y
net emcmot.01.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-cmd
# no feedback needed
# net motor.03.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-fb
# net motor.03.pos-fb => axis.3.motor-pos-fb
# no changes here
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirsetup [AXIS_3]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirhold [AXIS_3]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.steplen [AXIS_3]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.stepspace [AXIS_3]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-scale [AXIS_3]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxvel [AXIS_3]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxaccel [AXIS_3]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.step_type 0
wire the A stepper to the Y position command in HAL:
# ################
# A [3] Axis wired to Y command
# ################
# axis enable chain
# enable Y2 with Y1 enable
net emcmot.01.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.03.enable
# Y2 position command from Y
net emcmot.01.pos-cmd => hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-cmd
# no feedback needed
# net motor.03.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-fb
# net motor.03.pos-fb => axis.3.motor-pos-fb
# no changes here
# timing parameters
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirsetup [AXIS_3]DIRSETUP
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.dirhold [AXIS_3]DIRHOLD
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.steplen [AXIS_3]STEPLEN
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.stepspace [AXIS_3]STEPSPACE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.position-scale [AXIS_3]SCALE
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxvel [AXIS_3]STEPGEN_MAX_VEL
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.maxaccel [AXIS_3]STEPGEN_MAX_ACC
setp hm2_[HOSTMOT2](BOARD).0.stepgen.03.step_type 0
Last edit: 04 Apr 2015 05:14 by PCW.
Please Log in or Create an account to join the conversation.
04 Apr 2015 04:49 #57499
by dbotos
Replied by dbotos on topic Mesa 5i25 with plain G540, no 7i77
Peter,
Thanks. I set the loadrt line back to trivkins and the modified axis 3 as you show above. It threw an error about pin or parameter y2-pos-cmd not being found. So I added a line that says
newsig y2-pos-cmd float
under # axis enable chain. No love. Thought it might need to be initialized, so I added the following under that:
sets y2-pos-cmd 0
Still no dice. Commented those out and tried putting "net" in front of
y2-pos-cmd <= axis.1.motor-pos-cmd
and it said that the axis.1.motor-pos-cmd was already assigned when I tried to run it.
Thanks. I set the loadrt line back to trivkins and the modified axis 3 as you show above. It threw an error about pin or parameter y2-pos-cmd not being found. So I added a line that says
newsig y2-pos-cmd float
under # axis enable chain. No love. Thought it might need to be initialized, so I added the following under that:
sets y2-pos-cmd 0
Still no dice. Commented those out and tried putting "net" in front of
y2-pos-cmd <= axis.1.motor-pos-cmd
and it said that the axis.1.motor-pos-cmd was already assigned when I tried to run it.
Please Log in or Create an account to join the conversation.
04 Apr 2015 05:15 - 04 Apr 2015 06:09 #57500
by PCW
Replied by PCW on topic Mesa 5i25 with plain G540, no 7i77
Sorry edited in a hurry
I fixed the hal file code above
I fixed the hal file code above
Last edit: 04 Apr 2015 06:09 by PCW.
The following user(s) said Thank You: dbotos
Please Log in or Create an account to join the conversation.
Time to create page: 0.142 seconds