Hi all,
I'm in process to setup my 5 axis milling machine (gantry construction), and I 
managed to configure all axes, so I can home all of them and then switch to 
world. There I can enter some code to test all axes and they run with no 
problem with G0 speed (3000mm/min linear) all at the same time.

The only problem I am stuck on, and run out of idea, is when I try to jog (in 
world mode), where I can do that only with speeds below around 400mm/min, If i 
go higher, I immediately get Joint following error message.What is also 
confusing me is when I jog with low speed and on the end of jog stepper stops 
and makes small move in opposite direction of jog direction. This is happening 
only in world mode.I played around with values of FERROR and MIN_ERROR ...

As I am switching from Mach3, I can remember there I had to set some debounce 
delay on limit/home switches, but I think in this case here I would get error 
messages of limit/home switch being triggered or it could cause also Joint 
following error?

Here are links to my .ini and .hal files.

http://www.sendspace.com/file/iez45p
http://www.sendspace.com/file/ku6xw7


Regards!



Pasted INI and HAL:


[EMC]MACHINE = my-5axisDEBUG = 0
[DISPLAY]DISPLAY = axisEDITOR = geditPOSITION_OFFSET = 
RELATIVEPOSITION_FEEDBACK = ACTUALMAX_FEED_OVERRIDE = 1.2INTRO_GRAPHIC = 
emc2.gifINTRO_TIME = 2PROGRAM_PREFIX = /home/tomaz/emc2/nc_filesINCREMENTS = 
5mm 1mm .5mm .1mm .05mm .01mm .005mm
[FILTER]PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth 
ImagePROGRAM_EXTENSION = .py Python Scriptpng = image-to-gcodegif = 
image-to-gcodejpg = image-to-gcodepy = python
[TASK]TASK = milltaskCYCLE_TIME = 0.010
[RS274NGC]PARAMETER_FILE = emc.var
[EMCMOT]EMCMOT = motmodCOMM_TIMEOUT = 1.0COMM_WAIT = 0.010BASE_PERIOD = 
25000SERVO_PERIOD = 1000000
[HAL]HALFILE = my-5axis.halPOSTGUI_HALFILE = custom_postgui.hal
[TRAJ]AXES = 6COORDINATES = X Y Z A B CLINEAR_UNITS = mmANGULAR_UNITS = 
degreeCYCLE_TIME = 0.010DEFAULT_VELOCITY = 30.00MAX_LINEAR_VELOCITY = 50.00
[EMCIO]EMCIO = ioCYCLE_TIME = 0.100TOOL_TABLE = tool.tbl
#X[AXIS_0]TYPE = LINEARHOME = 0.0MAX_VELOCITY = 47.5MAX_ACCELERATION = 
60.0STEPGEN_MAXACCEL = 80.0SCALE = -266.666666667FERROR = 1MIN_FERROR = 
.5MIN_LIMIT = 0.0MAX_LIMIT = 1705.0HOME_OFFSET = 0.0HOME_SEQUENCE = 
1HOME_SEARCH_VEL = -5.00000HOME_LATCH_VEL = 2.00000HOME_IGNORE_LIMITS = YES
#Y[AXIS_1]TYPE = LINEARHOME = 0.0MAX_VELOCITY = 47.5MAX_ACCELERATION = 
60.0STEPGEN_MAXACCEL = 80.0SCALE = -266.666666667FERROR = 1MIN_FERROR = 
.5MIN_LIMIT = 0.0MAX_LIMIT = 1160.0HOME_OFFSET = 0.000000HOME_SEQUENCE = 
0HOME_SEARCH_VEL = -5.00000HOME_LATCH_VEL = 2.00000HOME_IGNORE_LIMITS = YES
#Z[AXIS_2]TYPE = LINEARHOME = 0.0MAX_VELOCITY = 40.0MAX_ACCELERATION = 
60.0STEPGEN_MAXACCEL = 67.5SCALE = 200.0FERROR = 1MIN_FERROR = .5MIN_LIMIT = 
-475.0MAX_LIMIT = 0.0HOME_OFFSET = 0.0HOME_SEQUENCE = 0HOME_SEARCH_VEL = 
5.00000HOME_LATCH_VEL = -2.00000HOME_IGNORE_LIMITS = YES
#X1[AXIS_3]TYPE = LINEARHOME = 0.0MAX_VELOCITY = 47.5MAX_ACCELERATION = 
60.0STEPGEN_MAXACCEL = 80.0SCALE = -266.666666667FERROR = 1MIN_FERROR = 
.25MIN_LIMIT = 0.0MAX_LIMIT = 1705.0HOME_OFFSET = 0.0HOME_SEQUENCE = 
1HOME_SEARCH_VEL = -5.00000HOME_LATCH_VEL = 2.00000HOME_IGNORE_LIMITS = YES
#B[AXIS_4]TYPE = ANGULARHOME = 0.0MAX_VELOCITY = 500MAX_ACCELERATION = 
100.0STEPGEN_MAXACCEL = 110.0SCALE = -166.666666667FERROR = 1MIN_FERROR = 
.25MIN_LIMIT = -130.0MAX_LIMIT = 130.0HOME_OFFSET = 17.000HOME_SEQUENCE = 
1HOME_SEARCH_VEL = 5.00000HOME_LATCH_VEL = -2.00000HOME_IGNORE_LIMITS = YES
#C[AXIS_5]TYPE = ANGULARHOME = 0.0MAX_VELOCITY = 500MAX_ACCELERATION = 
100.0STEPGEN_MAXACCEL = 110.0SCALE = -166.666666667FERROR = 1MIN_FERROR = 
.25MIN_LIMIT = -185.0MAX_LIMIT = 185.0HOME_OFFSET = 60.000HOME_SEQUENCE = 
1HOME_SEARCH_VEL = 5.00000HOME_LATCH_VEL = -2.00000HOME_IGNORE_LIMITS = YES

--------------------------


loadrt gantrykins
setp gantrykins.joint-0 0setp gantrykins.joint-1 1setp gantrykins.joint-2 2setp 
gantrykins.joint-3 0setp gantrykins.joint-4 4setp gantrykins.joint-5 5
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD 
servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXESloadrt 
probe_parportloadrt hal_parport cfg="0xe800 out 0xec00 in "setp 
parport.0.reset-time 500loadrt stepgen step_type=0,0,0,0,0,0

addf parport.0.read base-threadaddf parport.1.read base-threadaddf 
stepgen.make-pulses base-threadaddf parport.0.write base-threadaddf 
parport.0.reset base-threadaddf parport.1.write base-thread
addf stepgen.capture-position servo-threadaddf motion-command-handler 
servo-threadaddf motion-controller servo-threadaddf stepgen.update-freq 
servo-threadnet spindle-cmd <= motion.spindle-speed-out
#X axissetp parport.0.pin-02-out-invert 1net xstep => parport.0.pin-02-outsetp 
parport.0.pin-02-out-reset 1
setp parport.0.pin-03-out-invert 1net xdir => parport.0.pin-03-out
#X1 axissetp parport.0.pin-04-out-invert 1net astep => parport.0.pin-04-outsetp 
parport.0.pin-04-out-reset 1
setp parport.0.pin-05-out-invert 1net adir => parport.0.pin-05-out
#Y axisnet ystep => parport.0.pin-06-outsetp parport.0.pin-06-out-reset 1
net ydir => parport.0.pin-07-out
#Z axisnet zstep => parport.0.pin-14-outsetp parport.0.pin-14-out-reset 1
net zdir => parport.0.pin-01-out
#Bsetp parport.0.pin-17-out-invert 1 net bstep => parport.0.pin-17-outsetp 
parport.0.pin-17-out-reset 1
net bdir => parport.0.pin-16-out
#Csetp parport.0.pin-08-out-invert 1 net cstep => parport.0.pin-08-outsetp 
parport.0.pin-08-out-reset 1
net cdir => parport.0.pin-09-out

#inputsnet estop-ext <= parport.0.pin-10-innet min-home-y <= 
parport.1.pin-04-innet min-home-z <= parport.1.pin-06-innet min-home-x <= 
parport.1.pin-03-innet min-home-a <= parport.1.pin-02-innet min-home-b <= 
parport.1.pin-08-innet min-home-c <= parport.1.pin-07-in
#joint 0setp stepgen.0.position-scale [AXIS_0]SCALEsetp stepgen.0.steplen 1setp 
stepgen.0.stepspace 0setp stepgen.0.dirhold 27272setp stepgen.0.dirsetup 
8272setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCELnet xpos-cmd 
axis.0.motor-pos-cmd => stepgen.0.position-cmdnet xpos-fb stepgen.0.position-fb 
=> axis.0.motor-pos-fbnet xstep <= stepgen.0.stepnet xdir <= stepgen.0.dirnet 
xenable axis.0.amp-enable-out => stepgen.0.enablenet min-home-x => 
axis.0.home-sw-innet min-home-x => axis.0.neg-lim-sw-in
#joint 3setp stepgen.3.position-scale [AXIS_3]SCALEsetp stepgen.3.steplen 1setp 
stepgen.3.stepspace 0setp stepgen.3.dirhold 27272setp stepgen.3.dirsetup 
8272setp stepgen.3.maxaccel [AXIS_3]STEPGEN_MAXACCELnet apos-cmd 
axis.3.motor-pos-cmd => stepgen.3.position-cmdnet apos-fb stepgen.3.position-fb 
=> axis.3.motor-pos-fbnet astep <= stepgen.3.stepnet adir <= stepgen.3.dirnet 
aenable axis.3.amp-enable-out => stepgen.3.enablenet min-home-a => 
axis.3.home-sw-innet min-home-a => axis.3.neg-lim-sw-in
#joint 1setp stepgen.1.position-scale [AXIS_1]SCALEsetp stepgen.1.steplen 1setp 
stepgen.1.stepspace 0setp stepgen.1.dirhold 27272setp stepgen.1.dirsetup 
8272setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCELnet ypos-cmd 
axis.1.motor-pos-cmd => stepgen.1.position-cmdnet ypos-fb stepgen.1.position-fb 
=> axis.1.motor-pos-fbnet ystep <= stepgen.1.stepnet ydir <= stepgen.1.dirnet 
yenable axis.1.amp-enable-out => stepgen.1.enablenet min-home-y => 
axis.1.home-sw-innet min-home-y => axis.1.neg-lim-sw-in
#joint 2setp stepgen.2.position-scale [AXIS_2]SCALEsetp stepgen.2.steplen 1setp 
stepgen.2.stepspace 0setp stepgen.2.dirhold 27272setp stepgen.2.dirsetup 
8272setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCELnet zpos-cmd 
axis.2.motor-pos-cmd => stepgen.2.position-cmdnet zpos-fb stepgen.2.position-fb 
=> axis.2.motor-pos-fbnet zstep <= stepgen.2.stepnet zdir <= stepgen.2.dirnet 
zenable axis.2.amp-enable-out => stepgen.2.enablenet min-home-z => 
axis.2.home-sw-innet min-home-z => axis.2.neg-lim-sw-in
#joint 4setp stepgen.4.position-scale [AXIS_4]SCALEsetp stepgen.4.steplen 1setp 
stepgen.4.stepspace 0setp stepgen.4.dirhold 27272setp stepgen.4.dirsetup 
8272setp stepgen.4.maxaccel [AXIS_4]STEPGEN_MAXACCELnet bpos-cmd 
axis.4.motor-pos-cmd => stepgen.4.position-cmdnet bpos-fb stepgen.4.position-fb 
=> axis.4.motor-pos-fbnet bstep <= stepgen.4.stepnet bdir <= stepgen.4.dirnet 
benable axis.4.amp-enable-out => stepgen.4.enablenet min-home-b => 
axis.4.home-sw-in#net min-home-b => axis.4.neg-lim-sw-in
#joint 5setp stepgen.5.position-scale [AXIS_5]SCALEsetp stepgen.5.steplen 1setp 
stepgen.5.stepspace 0setp stepgen.5.dirhold 27272setp stepgen.5.dirsetup 
8272setp stepgen.5.maxaccel [AXIS_5]STEPGEN_MAXACCELnet cpos-cmd 
axis.5.motor-pos-cmd => stepgen.5.position-cmdnet cpos-fb stepgen.5.position-fb 
=> axis.5.motor-pos-fbnet cstep <= stepgen.5.stepnet cdir <= stepgen.5.dirnet 
cenable axis.5.amp-enable-out => stepgen.5.enablenet min-home-c => 
axis.5.home-sw-in#net min-home-c => axis.5.neg-lim-sw-in
net estop-out <= iocontrol.0.user-enable-outnet estop-ext => 
iocontrol.0.emc-enable-in
loadusr -W hal_manualtoolchangenet tool-change iocontrol.0.tool-change => 
hal_manualtoolchange.changenet tool-changed iocontrol.0.tool-changed <= 
hal_manualtoolchange.changednet tool-number iocontrol.0.tool-prep-number => 
hal_manualtoolchange.numbernet tool-prepare-loopback iocontrol.0.tool-prepare 
=> iocontrol.0.tool-prepared
----------------

                                          
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to