Dual ballscrew router with 2.8 problems

More
17 Jan 2018 16:57 - 17 Jan 2018 17:03 #104632 by Grotius
@Desertboy,

You have it cold. The place to get warm is nearby for you.
You know Guy Martin?


Although unsure on how I set the homing actually up for the Y.

I think when you do stepconf wizard, and choose different name, i think you can pick up a limit switch configuration,
without overwriting your working system. If not, there is work to do.

For info : Only P code gives following error :
P word with no G2 G3 G4 G10 G64 G5 G5.2 G76 G82 G86 G88 G89 or M50 M51 M52 M53 M62 M63 M64 M65 M66 or user M code to use it
Last edit: 17 Jan 2018 17:03 by Grotius.
The following user(s) said Thank You: Desertboy

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

More
17 Jan 2018 17:08 #104633 by Todd Zuercher

It's too cold in UK today I had to come home but will wrap up better tomorrow, hard to work on an aluminium router when it's cold you're fingers freeze lol.


Speaking of cold, I had a flat tire on the way to work this morning. 6°F changing tire in the snow and ice along the road kind of sucked.

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

More
17 Jan 2018 21:18 #104644 by Desertboy
My size is wrong not sure why at moment this is 2.7 stepconf configured.

My microsteps are set to 8 and my screw pitch is correct for all axis but when it's readind 1200, it's more like 850mm.

Not sure why will investigate tomorrow.

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

More
18 Jan 2018 10:25 #104659 by Desertboy

@Desertboy,

You have it cold. The place to get warm is nearby for you.
You know Guy Martin?


Not into racing but my dad loves it when I was a kid got dragged round F1 tracks in europe met Senna, Prost, Mansell and a fair few other 80's stars when I was between 5 and 12 years old.

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

More
20 Jan 2018 19:28 - 20 Jan 2018 19:31 #104750 by Desertboy
Right now I have it running code I upgraded to 2.8 today then made a new configuration with 4 joints.

from my .ini (I posted what I think is relevant)

[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ

[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 36.00
MAX_LINEAR_VELOCITY = 75.00

[AXIS_X]
MAX_VELOCITY = 18.5546875
MAX_ACCELERATION = 750.0
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0

[JOINT_0]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = 0.0
MAX_LIMIT = 1200.0
MAX_VELOCITY = 18.5546875
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 640.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 50.000000
HOME_SEARCH_VEL = 36.000000
HOME_LATCH_VEL = 0.781250
HOME_SEQUENCE = 1


[AXIS_Y]
MAX_VELOCITY = 14.84375
MAX_ACCELERATION = 750.0
MIN_LIMIT = 0.0
MAX_LIMIT = 700.0

[JOINT_1]
TYPE = LINEAR
HOME = 0
MIN_LIMIT = 0.0
MAX_LIMIT = 700.0
MAX_VELOCITY = 14.84375
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 800.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 650.000000
HOME_SEARCH_VEL = 36.000000
HOME_LATCH_VEL = 0.625000
HOME_SEQUENCE = -1

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = 0.0
MAX_LIMIT = 700.0
MAX_VELOCITY = 14.84375
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 800.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 650.000000
HOME_SEARCH_VEL = 36.000000
HOME_LATCH_VEL = 0.625000
HOME_SEQUENCE = -1


[AXIS_Z]
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
MIN_LIMIT = -100.0
MAX_LIMIT = 0.001

[JOINT_3]
TYPE = LINEAR
HOME = 0.0
MIN_LIMIT = -100.0
MAX_LIMIT = 0.001
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
STEPGEN_MAXACCEL = 937.5
SCALE = 80.0
FERROR = 1
MIN_FERROR = .25
HOME_OFFSET = 0.0


and my .hal file

loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0 out"
loadrt stepgen step_type=0,0,0,0
loadrt pwmgen output_type=1

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-thread

net spindle-cmd-rpm => pwmgen.0.value
net spindle-on <= motion.spindle-on => pwmgen.0.enable
net spindle-pwm <= pwmgen.0.pwm
setp pwmgen.0.pwm-freq 100.0
setp pwmgen.0.scale 1166.66666667
setp pwmgen.0.offset 0.114285714286
setp pwmgen.0.dither-pwm true
net spindle-cmd-rpm <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed => motion.spindle-at-speed
net spindle-cw <= motion.spindle-forward

net estop-out => parport.0.pin-01-out
net xstep => parport.0.pin-02-out
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
net zdir => parport.0.pin-07-out
net ystep => parport.0.pin-08-out
net ydir => parport.0.pin-09-out
net spindle-cw => parport.0.pin-14-out
net spindle-pwm => parport.0.pin-16-out
net xenable => parport.0.pin-17-out
net estop-ext <= parport.0.pin-10-in
net home-x <= parport.0.pin-12-in
net home-y1 <= parport.0.pin-13-in
net home-y <= parport.0.pin-15-in

setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 35000
setp stepgen.0.dirsetup 35000
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable
net home-x => joint.0.home-sw-in

setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 1
setp stepgen.1.dirhold 35000
setp stepgen.1.dirsetup 35000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable joint.1.amp-enable-out => stepgen.1.enable
net home-y => joint.1.home-sw-in

setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 1
setp stepgen.2.dirhold 35000
setp stepgen.2.dirsetup 35000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net y1pos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net y1pos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net y1step <= stepgen.2.step
net y1dir <= stepgen.2.dir
net y1enable joint.2.amp-enable-out => stepgen.2.enable
net home-y1 => joint.2.home-sw-in

setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 1
setp stepgen.3.dirhold 35000
setp stepgen.3.dirsetup 35000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net zpos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net zpos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net zstep <= stepgen.3.step
net zdir <= stepgen.3.dir
net zenable joint.3.amp-enable-out => stepgen.3.enable

net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared



I tried to edit it best I could, now when I home Y both motors turn and it travels untils clicks the Y home (Pin 15) then both axis stop but I can see in linuxcnc it thinks it's moving the Y axis which is counting (I think it was down into -) but the motors do not move. When it gets to -1400 it fires an error.

With this .ini before I edited the .hal I had full control of machine could home X & Y and run code ok with 4 joints but of course no dual homing.

I'm sure I'm very close, I've included my .hal and .ini as attachments as well.

Thanks
Desertboy
Attachments:
Last edit: 20 Jan 2018 19:31 by Desertboy.

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

More
20 Jan 2018 20:24 - 20 Jan 2018 20:25 #104752 by rodw
This says your joints are 0 = x, 1 = y, 2 =y, 3 = z
[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYYZ

But using
HOME_SEQUENCE = -1
you have told LCNC that Joints 0, 1 and 2 are part of the joint axis

Make this change to Joint 0
[JOINT_0]
HOME_SEQUENCE =  1

And add this to joint 3

[code
[JOINT_3]
HOME_SEQUENCE = 0
[/code]
So now you should have your Z home first to get it up out of the road, then X, then your joint Axis Y should home
Last edit: 20 Jan 2018 20:25 by rodw.
The following user(s) said Thank You: Desertboy

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

More
21 Jan 2018 18:25 - 21 Jan 2018 18:28 #104805 by Desertboy
Hi, thanks for advice so far, I have changed joint 0 home sequence = 1

I have no Z home switch I do it manually.

I still have same problem



2 switches on the Y axis, Y and Y1 when it touchs Y (One you can see in video) then both motors stop but the Y keeps counting.

After they touch the Y I then want them to move in sync to touch Y1 then adjust 1 motor only on the same axis as Y1 to square the gantry (I neccesary).

I have no idea why youtube mirrored my video the one I uploaded isn't mirrored.
Last edit: 21 Jan 2018 18:28 by Desertboy.

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

More
18 Feb 2018 10:38 #106120 by andypugh

You know Guy Martin?


I have met Guy Martin. He came to one of our Track Days at Cadwell Park. We ended up talking about diesel SCR catalysts and the use of AdBlu. He really is more interested in being a truck mechanic than anything else.

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

More
20 Feb 2018 11:40 #106225 by Yannis

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

Time to create page: 0.186 seconds
Powered by Kunena Forum