Where do I go from here? Troubleshooting X axis

More
7 years 1 month ago #145166 by SRcnc
Hello all. I am pulling my hair out troubleshooting my x axis homing issue. First off I bought this machine second hand. It's a HF converted 3 axis mill. I had this issue when I first brought it home but after some fiddling it resolved its self.

The issue is during homing sequence it homes Z and Y perfectly then when it try's to home X the DRO will just keep searching but no movement at table.

Troubleshooting I have done is I replaced all wiring going to X axis. I know the new wiring is correct because if i swap X and Y plugs coming from my controller box the X axis moves and homes like Y axis would and I get no movement from Y axis.

I used a multimeter to test continuity of my parallel port cable and I did not observe any issues even when moving the cable around.

If I check ignore limits I get a no limit switch active message.

I don't understand how this can be since I just milled a part last night. I start it up this morning and boom the issue is back.

Any suggestions for troubleshooting would be awesome. I'm out of ideas.

Thanks.

Please Log in to join the conversation.

More
7 years 1 month ago #145175 by bevins

SRcnc wrote: Hello all. I am pulling my hair out troubleshooting my x axis homing issue. First off I bought this machine second hand. It's a HF converted 3 axis mill. I had this issue when I first brought it home but after some fiddling it resolved its self.

The issue is during homing sequence it homes Z and Y perfectly then when it try's to home X the DRO will just keep searching but no movement at table.

Troubleshooting I have done is I replaced all wiring going to X axis. I know the new wiring is correct because if i swap X and Y plugs coming from my controller box the X axis moves and homes like Y axis would and I get no movement from Y axis.

I used a multimeter to test continuity of my parallel port cable and I did not observe any issues even when moving the cable around.

If I check ignore limits I get a no limit switch active message.

I don't understand how this can be since I just milled a part last night. I start it up this morning and boom the issue is back.

Any suggestions for troubleshooting would be awesome. I'm out of ideas.

Thanks.


Start by posting your hal and ini.
Does your X home switch show proper behaviour in hal show?

Please Log in to join the conversation.

More
7 years 1 month ago #145186 by tommylight
Can you jog the X axis before homing ?
That all points to a non functional drive inside the controller case, or a miss configuration in the hal file.

Please Log in to join the conversation.

More
7 years 1 month ago #145188 by SRcnc
Hey thanks for the reply. I'm not quite sure how to check to see if its working correctly. Maybe with HAL scope? I was looking around in there today through the GUI but couldn't really see any difference between the X, Y or Z sensors. I'm pretty new to this Linux thing. I know how to modify INIT files but that about it.

Here are my INIT and HAL files. Maybe you could see something strange in there but it is just weird that it worked last night.

INIT:
Code:
# Generated by stepconf 1.1 at Wed May 15 11:54:56 2019 # If you make changes to this file, they will be # overwritten when you run stepconf again [EMC] MACHINE = SPIRIT001 DEBUG = 0 VERSION = 1.0 [DISPLAY] DISPLAY = gmoccapy EDITOR = gedit POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL ARCDIVISION = 64 GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in MAX_FEED_OVERRIDE = 1.2 MIN_SPINDLE_OVERRIDE = 0.5 MAX_SPINDLE_OVERRIDE = 2 DEFAULT_LINEAR_VELOCITY = 0.5 MIN_LINEAR_VELOCITY = 0 MAX_LINEAR_VELOCITY = 1.00 INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in [KINS] JOINTS = 3 KINEMATICS = trivkins coordinates=XYZ [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image PROGRAM_EXTENSION = .py Python Script PROGRAM_EXTENSION = .nc,.tap G-Code File png = image-to-gcode gif = image-to-gcode jpg = image-to-gcode py = python [TASK] TASK = milltask CYCLE_TIME = 0.010 [RS274NGC] PARAMETER_FILE = linuxcnc.var [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 BASE_PERIOD = 100000 SERVO_PERIOD = 1000000 [HAL] HALFILE = SPIRIT001.hal HALFILE = custom.hal POSTGUI_HALFILE = postgui_call_list.hal [TRAJ] COORDINATES = X Y Z LINEAR_UNITS = inch ANGULAR_UNITS = degree DEFAULT_LINEAR_VELOCITY = 0.10 MAX_LINEAR_VELOCITY = 1.00 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl [AXIS_X] MAX_VELOCITY = 0.95 MAX_ACCELERATION = 30.0 MIN_LIMIT = -0.01 MAX_LIMIT = 9.0 [JOINT_0] TYPE = LINEAR HOME = 4.5 MIN_LIMIT = -0.01 MAX_LIMIT = 9.0 MAX_VELOCITY = 0.95 MAX_ACCELERATION = 30.0 STEPGEN_MAXACCEL = 50.0 SCALE = 10000.0 FERROR = 0.05 MIN_FERROR = 0.01 HOME_OFFSET = -0.100000 HOME_SEARCH_VEL = -0.750000 HOME_LATCH_VEL = -0.050000 HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 3 BACKLASH = 0.006 [AXIS_Y] MAX_VELOCITY = 0.95 MAX_ACCELERATION = 30.0 MIN_LIMIT = -4.385 MAX_LIMIT = -0.0625 [JOINT_1] TYPE = LINEAR HOME = -2.1875 MIN_LIMIT = -4.385 MAX_LIMIT = -0.0625 MAX_VELOCITY = 0.95 MAX_ACCELERATION = 30.0 STEPGEN_MAXACCEL = 50.0 SCALE = 10005 FERROR = 0.05 MIN_FERROR = 0.01 HOME_OFFSET = -0.0500000 HOME_SEARCH_VEL = 0.750000 HOME_LATCH_VEL = 0.050000 HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 2 BACKLASH = 0.0085 [AXIS_Z] MAX_VELOCITY = 0.67 MAX_ACCELERATION = 30.0 MIN_LIMIT = -9.0 MAX_LIMIT = 0.0 [JOINT_2] TYPE = LINEAR HOME = -0.05 MIN_LIMIT = -9.0 MAX_LIMIT = 0.0 MAX_VELOCITY = 0.67 MAX_ACCELERATION = 30.0 STEPGEN_MAXACCEL = 50.0 SCALE = 10003 FERROR = 0.05 MIN_FERROR = 0.01 HOME_OFFSET = 0.02 HOME_SEARCH_VEL = 0.166 HOME_LATCH_VEL = 0.083 HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 1 BACKLASH = 0.0005
HAL:
Code:
# Generated by stepconf 1.1 at Wed May 15 11:54:56 2019 # If you make changes to this file, they will be # overwritten when you run stepconf again 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" setp parport.0.reset-time 1000 loadrt stepgen step_type=0,0,0 loadrt charge_pump net estop-out charge-pump.enable iocontrol.0.user-enable-out net charge-pump <= charge-pump.out loadrt pwmgen output_type=1 addf parport.0.read base-thread addf stepgen.make-pulses base-thread addf charge-pump base-thread addf pwmgen.make-pulses base-thread addf parport.0.write base-thread addf parport.0.reset 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 6000.0 setp pwmgen.0.offset 0.0 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 probe-in => motion.probe-input net spindle-on => parport.0.pin-01-out net xstep => parport.0.pin-02-out setp parport.0.pin-02-out-reset 1 net xdir => parport.0.pin-03-out net ystep => parport.0.pin-04-out setp parport.0.pin-04-out-reset 1 setp parport.0.pin-05-out-invert 1 net ydir => parport.0.pin-05-out net zstep => parport.0.pin-06-out setp parport.0.pin-06-out-reset 1 setp parport.0.pin-07-out-invert 1 net zdir => parport.0.pin-07-out net spindle-cw => parport.0.pin-14-out net spindle-pwm => parport.0.pin-16-out net charge-pump => parport.0.pin-17-out net estop-ext <= parport.0.pin-10-in-not net min-home-x <= parport.0.pin-11-in-not net max-home-y <= parport.0.pin-12-in-not net max-home-z <= parport.0.pin-13-in-not net probe-in <= parport.0.pin-15-in-not setp stepgen.0.position-scale [JOINT_0]SCALE setp stepgen.0.steplen 1 setp stepgen.0.stepspace 0 setp stepgen.0.dirhold 15200 setp stepgen.0.dirsetup 15200 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 min-home-x => joint.0.home-sw-in net min-home-x => joint.0.neg-lim-sw-in setp stepgen.1.position-scale [JOINT_1]SCALE setp stepgen.1.steplen 1 setp stepgen.1.stepspace 0 setp stepgen.1.dirhold 15200 setp stepgen.1.dirsetup 15200 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 max-home-y => joint.1.home-sw-in net max-home-y => joint.1.pos-lim-sw-in setp stepgen.2.position-scale [JOINT_2]SCALE setp stepgen.2.steplen 1 setp stepgen.2.stepspace 0 setp stepgen.2.dirhold 15200 setp stepgen.2.dirsetup 15200 setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL net zpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb net zstep <= stepgen.2.step net zdir <= stepgen.2.dir net zenable joint.2.amp-enable-out => stepgen.2.enable net max-home-z => joint.2.home-sw-in net max-home-z => joint.2.pos-lim-sw-in 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

Please Log in to join the conversation.

More
7 years 1 month ago #145189 by SRcnc
No, I can't. The only way I can get X axis to move is to swap X and Y connectors at the controller. Then X axis moves and homes and Y is completely dead. So problem follows.

Please Log in to join the conversation.

More
7 years 1 month ago #145191 by tommylight
That is the controller, one of the drives is not working.
You will have to open it and check if all the drives have their lights on.

Please Log in to join the conversation.

More
7 years 1 month ago #145321 by SRcnc
Okay. I opened it up and they are gecko 251 drives. All have red lights constantly on. I observed them during homing and the led does not change. I guess I will try to swap the X and Y drives to see if the problem follows the drive. Also it uses a pmdx 126 board.

Please Log in to join the conversation.

More
7 years 1 month ago #145341 by SRcnc
So today I swapped X and Y axis drives. The problem is still present. I did notice on my PMDX-126 there is an led on the J4 connector Pin 3 that outputs to the X drive. J4 Pin 3 is fed by parallel port cable pin 3. I retested my parallel port cable and it still seems to be fine. all pins have less than and OHM. I watched the LED's while the machine was homing. My homing sequence is Z, Y, X. I watched some LED's on the connector for Z axis turn on and off during homing. I did the same for Y axis. Then when X tries to home it does nothing but the LED stays lit. Any ideas?

Attached is a picture of the LED.

Please Log in to join the conversation.

More
7 years 1 month ago #145347 by tommylight
Disconnect the wires going to the X axis drive and check that LED again.

Please Log in to join the conversation.

More
7 years 1 month ago #145360 by SRcnc
Okay I disconnected wires to X axis drive and the light is still on. I tested voltage at the STEP and DIRECTION wires out of the PMDX into the drives. Y and Z step and direction wires have 12mv. Step and direction for X have 0V and 12V. I don't know if this is because its not hooked up to the drive or what. I'll test the voltage tomorrow when it's hooked up to the drive.

Please Log in to join the conversation.

Time to create page: 0.150 seconds
Powered by Kunena Forum