Rigid Tapping Help

More
8 years 3 months ago #114504 by NCPatrol
Rigid Tapping Help was created by NCPatrol
I'm slowing delving deeper in to my mill's functionality. I bought it from someone else that built it so I'm a little behind the curve on a lot of things...

I'm using Fusion to make drill/tap operation. In fusion, it simulates fine but when I run it on the mill it goes through the to drill operations and then gets to tapping, moves Z and then stalls at line N455 and doesn't actually tap...spindle is rotating but Z isn't moving.

This is the tapping portion of the code:
Code:
(DRILL2) N405 M9 N410 M1 N415 T2 M6 N420 T3 N425 S450 M3 N430 G54 N435 M8 N440 G0 X0.1272 Y-0.1315 N445 G43 Z0.6 H2 N450 G0 Z0.2 N455 G33.1 Z-1. K0.05 N460 G0 Z0.2 N465 X0.1272 Y-0.1315 Z0.6 N470 M9 N475 G53 Z0. N480 M30 %


Can anyone give me any input on what may be wrong here? I've looked at a couple other examples and everything seems right. The machine was set up and used by the PO for rigid tapping (encoder, etc.) so I don't believe it's a hardware issue. I'm leaning toward something in the post, but I'm still very green with gcode and I'm just not seeing it.

Please Log in to join the conversation.

More
8 years 3 months ago #114512 by NCPatrol
Replied by NCPatrol on topic Rigid Tapping Help
Well, after a little more trouble shooting, I may have been quick to dismiss a hardware problem. Seems the encoder is not registering the index signal....but is registering rotation/rpm. More trouble shooting tomorrow!

Please Log in to join the conversation.

More
8 years 3 months ago #114556 by OT-CNC
Replied by OT-CNC on topic Rigid Tapping Help
Do you have an A and B channel besides index? Make sure it counts + and -. Also, It's sometimes hard to see the index pulse using halmeter. Did you look at the index signal with the scope?

Please Log in to join the conversation.

More
8 years 3 months ago #114557 by NCPatrol
Replied by NCPatrol on topic Rigid Tapping Help
Index doesn't show anything on the scope...assuming I'm looking at the right thing.

A & B appear to be reading.

Poke around some more tonight - verified that wiring was clean and not damaged.

I'm kind of leaning toward one of two theories:

1) The index portion of the encoder is bad.....this doesn't seem very likely.
2) The previous owner gave me the wrong config file. Shortly after buying it, I replaced the PC he gave me with a smaller unit and and did a fresh install on a new SSD. He walked me through loading the backed up config files he gave me when I bought it. It's possible that the backup he gave me didn't have the encoder properly configured.

For #1 - Is there a way to test the encoder to verify it's actually working?

For #2 - how to do I go about figuring out configured properly....or at all?

This is with Mesa 5i25, 7i77 and a Automation Direct TRDA-2E1000VD encoder if that helps.

Please Log in to join the conversation.

More
8 years 3 months ago #114561 by PCW
Replied by PCW on topic Rigid Tapping Help
can you post your hal/ini files here?

Please Log in to join the conversation.

More
8 years 3 months ago #114610 by NCPatrol
Replied by NCPatrol on topic Rigid Tapping Help
Sure...

hal:
Code:
# Generated by PNCconf at Fri Dec 25 14:13:58 2015 # If you make changes to this file, they will be # overwritten when you run PNCconf again loadrt timedelay count=1 loadrt abs count=1 loadrt trivkins loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES loadrt hostmot2 loadrt hm2_pci config=" num_encoders=6 num_pwmgens=0 num_stepgens=0 sserial_port_0=0020 " setp hm2_5i25.0.watchdog.timeout_ns 5000000 loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.s addf hm2_5i25.0.read servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf pid.x.do-pid-calcs servo-thread addf pid.y.do-pid-calcs servo-thread addf pid.z.do-pid-calcs servo-thread addf pid.a.do-pid-calcs servo-thread addf pid.s.do-pid-calcs servo-thread addf hm2_5i25.0.write servo-thread #additional commands loadrt mux16 count=4 loadrt mux_generic config="ss32,ss32" loadrt ilowpass loadrt comp count=1 loadrt mult2 count=1 addf timedelay.0 servo-thread addf ilowpass.0 servo-thread addf mux16.0 servo-thread #jogincr addf mux16.1 servo-thread #Feedrate overide addf mux16.2 servo-thread addf mux16.3 servo-thread addf mux-gen.00 servo-thread addf mux-gen.01 servo-thread addf mult2.0 servo-thread addf abs.0 servo-thread addf comp.0 servo-thread loadrt near addf near.0 servo-thread # external output signals # ---COOLANT CONROL --- net coolant-flood hm2_5i25.0.7i77.0.0.output-01 # ---LUBRICATION SYSTEM --- # The first input to the comparator is zero. setp comp.0.in0 0.01 # The other input to the comparator is the current axis movement velocity net moving comp.0.in1 <= motion.current-vel # It needs to be connected to an output bit net pump comp.0.out => hm2_5i25.0.7i77.0.0.output-02 #Rotary input signals net rotary.clamped <= hm2_5i25.0.7i77.0.0.input-17 net rotary.unclamped <= hm2_5i25.0.7i77.0.0.input-18 # --- SPINDLE-BRAKE --- #net spindle-brake hm2_5i25.0.7i77.0.0.output-00 net spindle-brake => timedelay.0.in net spindle-delayed timedelay.0.out => hm2_5i25.0.7i77.0.0.output-00 setp timedelay.0.on-delay 14 setp timedelay.0.off-delay 0 # --- BOTH-HOME-X --- net both-home-x <= hm2_5i25.0.7i77.0.0.input-00 # --- BOTH-HOME-Y --- net both-home-y <= hm2_5i25.0.7i77.0.0.input-01 # --- MAX-HOME-Z --- net max-home-z <= hm2_5i25.0.7i77.0.0.input-03 # --- HOME-A --- net home-a <= hm2_5i25.0.7i77.0.0.input-16-not # --- MIN-Z --- net min-z <= hm2_5i25.0.7i77.0.0.input-04 # --- JOINT-SELECT-a-X --- net joint-select-a <= hm2_5i25.0.7i84.0.2.input-28 # --- JOINT-SELECT-b-Y --- net joint-select-b <= hm2_5i25.0.7i84.0.2.input-29 # --- JOINT-SELECT-c-Z --- net joint-select-c <= hm2_5i25.0.7i84.0.2.input-30 # --- JOINT-SELECT-d-A --- net joint-select-d <= hm2_5i25.0.7i84.0.2.input-31 # --- JOG-INCR-A --- net jog-incr-a <= hm2_5i25.0.7i84.0.2.input-11 # --- JOG-INCR-B --- net jog-incr-b <= hm2_5i25.0.7i84.0.2.input-10 # --- JOG-INCR-C --- net jog-incr-c <= hm2_5i25.0.7i84.0.2.input-09 # --- Feedrate overide - FO-INCR-A --- net fo-incr-a <= hm2_5i25.0.7i84.0.2.input-08 # --- FO-INCR-B --- net fo-incr-b <= hm2_5i25.0.7i84.0.2.input-07 # --- FO-INCR-C --- net fo-incr-c <= hm2_5i25.0.7i84.0.2.input-06 # --- FO-INCR-D --- net fo-incr-d <= hm2_5i25.0.7i84.0.2.input-05 # --- FO-INCR-E --- net fo-incr-e <= hm2_5i25.0.7i84.0.2.input-04 # --- Spindle override - SO-INCR-A --- net so-incr-a <= hm2_5i25.0.7i84.0.2.input-25 # --- SO-INCR-B --- net so-incr-b <= hm2_5i25.0.7i84.0.2.input-26 # --- SO-INCR-C --- net so-incr-c <= hm2_5i25.0.7i84.0.2.input-27 # --- Max velocity override - MVO-INCR-A --- net mvo-incr-a <= hm2_5i25.0.7i84.0.2.input-20 # --- MVO-INCR-B --- net mvo-incr-b <= hm2_5i25.0.7i84.0.2.input-21 # --- MVO-INCR-C --- net mvo-incr-c <= hm2_5i25.0.7i84.0.2.input-22 # --- MVO-INCR-D --- net mvo-incr-d <= hm2_5i25.0.7i84.0.2.input-23 # --- MVO-INCR-E --- net mvo-incr-e <= hm2_5i25.0.7i84.0.2.input-24 # --- FO-ENABLE --- net fo-enable <= hm2_5i25.0.7i84.0.2.input-14 # external input signals #******************* # AXIS X #******************* setp pid.x.Pgain [AXIS_0]P setp pid.x.Igain [AXIS_0]I setp pid.x.Dgain [AXIS_0]D setp pid.x.bias [AXIS_0]BIAS setp pid.x.FF0 [AXIS_0]FF0 setp pid.x.FF1 [AXIS_0]FF1 setp pid.x.FF2 [AXIS_0]FF2 setp pid.x.deadband [AXIS_0]DEADBAND setp pid.x.maxoutput [AXIS_0]MAX_OUTPUT setp pid.x.error-previous-target true setp pid.x.maxerror .0 net x-index-enable <=> pid.x.index-enable net x-enable => pid.x.enable net x-pos-cmd => pid.x.command net x-vel-cmd => pid.x.command-deriv net x-pos-fb => pid.x.feedback net x-output => pid.x.output # ---PWM Generator signals/setup--- setp hm2_5i25.0.7i77.0.1.analogout0-scalemax [AXIS_0]OUTPUT_SCALE setp hm2_5i25.0.7i77.0.1.analogout0-minlim [AXIS_0]OUTPUT_MIN_LIMIT setp hm2_5i25.0.7i77.0.1.analogout0-maxlim [AXIS_0]OUTPUT_MAX_LIMIT net x-output => hm2_5i25.0.7i77.0.1.analogout0 net x-pos-cmd axis.0.motor-pos-cmd net x-enable axis.0.amp-enable-out # enable _all_ sserial pwmgens net x-enable hm2_5i25.0.7i77.0.1.analogena # ---Encoder feedback signals/setup--- setp hm2_5i25.0.encoder.03.counter-mode 0 setp hm2_5i25.0.encoder.03.filter 1 setp hm2_5i25.0.encoder.03.index-invert 0 setp hm2_5i25.0.encoder.03.index-mask 0 setp hm2_5i25.0.encoder.03.index-mask-invert 0 setp hm2_5i25.0.encoder.03.scale [AXIS_0]ENCODER_SCALE net x-pos-fb <= hm2_5i25.0.encoder.03.position net x-vel-fb <= hm2_5i25.0.encoder.03.velocity net x-pos-fb => axis.0.motor-pos-fb net x-index-enable axis.0.index-enable <=> hm2_5i25.0.encoder.03.index-enable net x-pos-rawcounts <= hm2_5i25.0.encoder.03.rawcounts # ---setup home / limit switch signals--- net both-home-x => axis.0.home-sw-in net both-home-x => axis.0.neg-lim-sw-in net both-home-x => axis.0.pos-lim-sw-in #******************* # AXIS Y #******************* setp pid.y.Pgain [AXIS_1]P setp pid.y.Igain [AXIS_1]I setp pid.y.Dgain [AXIS_1]D setp pid.y.bias [AXIS_1]BIAS setp pid.y.FF0 [AXIS_1]FF0 setp pid.y.FF1 [AXIS_1]FF1 setp pid.y.FF2 [AXIS_1]FF2 setp pid.y.deadband [AXIS_1]DEADBAND setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT setp pid.y.error-previous-target true setp pid.y.maxerror .000 net y-index-enable <=> pid.y.index-enable net y-enable => pid.y.enable net y-pos-cmd => pid.y.command net y-vel-cmd => pid.y.command-deriv net y-pos-fb => pid.y.feedback net y-output => pid.y.output # ---PWM Generator signals/setup--- setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [AXIS_1]OUTPUT_SCALE setp hm2_5i25.0.7i77.0.1.analogout1-minlim [AXIS_1]OUTPUT_MIN_LIMIT setp hm2_5i25.0.7i77.0.1.analogout1-maxlim [AXIS_1]OUTPUT_MAX_LIMIT net y-output => hm2_5i25.0.7i77.0.1.analogout1 net y-pos-cmd axis.1.motor-pos-cmd net y-enable axis.1.amp-enable-out # ---Encoder feedback signals/setup--- setp hm2_5i25.0.encoder.01.counter-mode 0 setp hm2_5i25.0.encoder.01.filter 1 setp hm2_5i25.0.encoder.01.index-invert 0 setp hm2_5i25.0.encoder.01.index-mask 0 setp hm2_5i25.0.encoder.01.index-mask-invert 0 setp hm2_5i25.0.encoder.01.scale [AXIS_1]ENCODER_SCALE net y-pos-fb <= hm2_5i25.0.encoder.01.position net y-vel-fb <= hm2_5i25.0.encoder.01.velocity net y-pos-fb => axis.1.motor-pos-fb net y-index-enable axis.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable net y-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts # ---setup home / limit switch signals--- net both-home-y => axis.1.home-sw-in net both-home-y => axis.1.neg-lim-sw-in net both-home-y => axis.1.pos-lim-sw-in #******************* # AXIS Z #******************* setp pid.z.Pgain [AXIS_2]P setp pid.z.Igain [AXIS_2]I setp pid.z.Dgain [AXIS_2]D setp pid.z.bias [AXIS_2]BIAS setp pid.z.FF0 [AXIS_2]FF0 setp pid.z.FF1 [AXIS_2]FF1 setp pid.z.FF2 [AXIS_2]FF2 setp pid.z.deadband [AXIS_2]DEADBAND setp pid.z.maxoutput [AXIS_2]MAX_OUTPUT setp pid.z.error-previous-target true setp pid.z.maxerror .000 net z-index-enable <=> pid.z.index-enable net z-enable => pid.z.enable net z-pos-cmd => pid.z.command net z-vel-cmd => pid.z.command-deriv net z-pos-fb => pid.z.feedback net z-output => pid.z.output # ---PWM Generator signals/setup--- setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [AXIS_2]OUTPUT_SCALE setp hm2_5i25.0.7i77.0.1.analogout2-minlim [AXIS_2]OUTPUT_MIN_LIMIT setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [AXIS_2]OUTPUT_MAX_LIMIT net z-output => hm2_5i25.0.7i77.0.1.analogout2 net z-pos-cmd axis.2.motor-pos-cmd net z-enable axis.2.amp-enable-out # ---Encoder feedback signals/setup--- setp hm2_5i25.0.encoder.02.counter-mode 0 setp hm2_5i25.0.encoder.02.filter 1 setp hm2_5i25.0.encoder.02.index-invert 0 setp hm2_5i25.0.encoder.02.index-mask 0 setp hm2_5i25.0.encoder.02.index-mask-invert 0 setp hm2_5i25.0.encoder.02.scale [AXIS_2]ENCODER_SCALE net z-pos-fb <= hm2_5i25.0.encoder.02.position net z-vel-fb <= hm2_5i25.0.encoder.02.velocity net z-pos-fb => axis.2.motor-pos-fb net z-index-enable axis.2.index-enable <=> hm2_5i25.0.encoder.02.index-enable net z-pos-rawcounts <= hm2_5i25.0.encoder.02.rawcounts # ---setup home / limit switch signals--- net max-home-z => axis.2.home-sw-in net min-z => axis.2.neg-lim-sw-in net max-home-z => axis.2.pos-lim-sw-in #******************* # AXIS A #******************* setp pid.a.Pgain [AXIS_3]P setp pid.a.Igain [AXIS_3]I setp pid.a.Dgain [AXIS_3]D setp pid.a.bias [AXIS_3]BIAS setp pid.a.FF0 [AXIS_3]FF0 setp pid.a.FF1 [AXIS_3]FF1 setp pid.a.FF2 [AXIS_3]FF2 setp pid.a.deadband [AXIS_3]DEADBAND setp pid.a.maxoutput [AXIS_3]MAX_OUTPUT setp pid.a.error-previous-target true setp pid.a.maxerror .000 net a-index-enable <=> pid.a.index-enable net a-enable => pid.a.enable net a-pos-cmd => pid.a.command net a-vel-cmd => pid.a.command-deriv net a-pos-fb => pid.a.feedback net a-output => pid.a.output # ---PWM Generator signals/setup--- setp hm2_5i25.0.7i77.0.1.analogout3-scalemax [AXIS_3]OUTPUT_SCALE setp hm2_5i25.0.7i77.0.1.analogout3-minlim [AXIS_3]OUTPUT_MIN_LIMIT setp hm2_5i25.0.7i77.0.1.analogout3-maxlim [AXIS_3]OUTPUT_MAX_LIMIT net a-output => hm2_5i25.0.7i77.0.1.analogout3 net a-pos-cmd axis.3.motor-pos-cmd net a-enable axis.3.amp-enable-out # ---Encoder feedback signals/setup--- setp hm2_5i25.0.encoder.04.counter-mode 0 setp hm2_5i25.0.encoder.04.filter 1 setp hm2_5i25.0.encoder.04.index-invert 0 setp hm2_5i25.0.encoder.04.index-mask 0 setp hm2_5i25.0.encoder.04.index-mask-invert 0 setp hm2_5i25.0.encoder.04.scale [AXIS_3]ENCODER_SCALE net a-pos-fb <= hm2_5i25.0.encoder.04.position net a-vel-fb <= hm2_5i25.0.encoder.04.velocity net a-pos-fb => axis.3.motor-pos-fb net a-index-enable axis.3.index-enable <=> hm2_5i25.0.encoder.04.index-enable net a-pos-rawcounts <= hm2_5i25.0.encoder.04.rawcounts # ---setup home / limit switch signals--- net home-a => axis.3.home-sw-in net a-neg-limit => axis.3.neg-lim-sw-in net a-pos-limit => axis.3.pos-lim-sw-in #******************* # SPINDLE S #******************* setp pid.s.Pgain [SPINDLE_9]P setp pid.s.Igain [SPINDLE_9]I setp pid.s.Dgain [SPINDLE_9]D setp pid.s.bias [SPINDLE_9]BIAS setp pid.s.FF0 [SPINDLE_9]FF0 setp pid.s.FF1 [SPINDLE_9]FF1 setp pid.s.FF2 [SPINDLE_9]FF2 setp pid.s.deadband [SPINDLE_9]DEADBAND setp pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT setp pid.s.error-previous-target true setp pid.s.maxerror .0000 net spindle-index-enable <=> pid.s.index-enable net spindle-enable => pid.s.enable net spindle-vel-cmd-rpm-abs => pid.s.command net spindle-vel-fb-rpm-abs => pid.s.feedback net spindle-output <= pid.s.output # ---PWM Generator signals/setup--- setp hm2_5i25.0.7i77.0.1.analogout5-scalemax [SPINDLE_9]OUTPUT_SCALE setp hm2_5i25.0.7i77.0.1.analogout5-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT setp hm2_5i25.0.7i77.0.1.analogout5-maxlim [SPINDLE_9]OUTPUT_MAX_LIMIT net spindle-output => hm2_5i25.0.7i77.0.1.analogout5 net spindle-enable => hm2_5i25.0.7i77.0.1.spinena # ---Encoder feedback signals/setup--- setp hm2_5i25.0.encoder.05.counter-mode 0 setp hm2_5i25.0.encoder.05.filter 1 setp hm2_5i25.0.encoder.05.index-invert 0 setp hm2_5i25.0.encoder.05.index-mask 0 setp hm2_5i25.0.encoder.05.index-mask-invert 0 setp hm2_5i25.0.encoder.05.scale [SPINDLE_9]ENCODER_SCALE net spindle-revs <= hm2_5i25.0.encoder.05.position net spindle-vel-fb-rps abs.0.in <= hm2_5i25.0.encoder.05.velocity net spindle-index-enable <=> hm2_5i25.0.encoder.05.index-enable # ---setup spindle control signals--- net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs net spindle-vel-cmd-rpm <= motion.spindle-speed-out net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs net spindle-enable <= motion.spindle-on net spindle-cw <= motion.spindle-forward net spindle-ccw <= motion.spindle-reverse net spindle-brake <= motion.spindle-brake net spindle-revs => motion.spindle-revs net spindle-at-speed => motion.spindle-at-speed net spindle-vel-fb-rps => motion.spindle-speed-in net spindle-index-enable <=> motion.spindle-index-enable net spindle-cw => hm2_5i25.0.7i77.0.0.output-04 net spindle-ccw => hm2_5i25.0.7i77.0.0.output-05 net spindle-vel-fb-rps-abs <= abs.0.out # ---Setup spindle at speed signals--- net spindle-vel-cmd-rpm-abs => near.0.in1 net spindle-vel-fb-rpm => near.0.in2 net spindle-at-speed <= near.0.out setp near.0.scale 1.000000 setp near.0.difference 75.0 setp mult2.0.in0 60 net spindle-vel-fb-rps-abs => mult2.0.in1 net spindle-vel-fb-rpm <= mult2.0.out # Use ACTUAL spindle velocity from spindle encoder # spindle-velocity bounces around so we filter it with lowpass # spindle-velocity is signed so we use absolute component to remove sign # ACTUAL velocity is in RPS not RPM so we scale it. #setp scale.spindle.gain 60 #setp lowpass.spindle.gain 1.000000 #net spindle-vel-fb-rps => scale.spindle.in #net spindle-fb-rpm scale.spindle.out => abs.spindle.in #net spindle-fb-rpm-abs abs.spindle.out => lowpass.spindle.in #net spindle-fb-rpm-abs-filtered lowpass.spindle.out #****************************** # connect miscellaneous signals #****************************** # ---HALUI signals--- net joint-select-a halui.joint.0.select net x-is-homed halui.joint.0.is-homed net jog-x-pos halui.jog.0.plus net jog-x-neg halui.jog.0.minus net jog-x-analog halui.jog.0.analog net joint-select-b halui.joint.1.select net y-is-homed halui.joint.1.is-homed net jog-y-pos halui.jog.1.plus net jog-y-neg halui.jog.1.minus net jog-y-analog halui.jog.1.analog net joint-select-c halui.joint.2.select net z-is-homed halui.joint.2.is-homed net jog-z-pos halui.jog.2.plus net jog-z-neg halui.jog.2.minus net jog-z-analog halui.jog.2.analog net joint-select-d halui.joint.3.select net a-is-homed halui.joint.3.is-homed net jog-a-pos halui.jog.3.plus net jog-a-neg halui.jog.3.minus net jog-a-analog halui.jog.3.analog net jog-selected-pos halui.jog.selected.plus net jog-selected-neg halui.jog.selected.minus net spindle-manual-cw halui.spindle.forward net spindle-manual-ccw halui.spindle.reverse net spindle-manual-stop halui.spindle.stop net machine-is-on halui.machine.is-on net jog-speed halui.jog-speed net MDI-mode halui.mode.is-mdi # ---coolant signals--- net coolant-mist <= iocontrol.0.coolant-mist net coolant-flood <= iocontrol.0.coolant-flood # ---probe signal--- net probe-in => motion.probe-input # ---jog button signals--- net jog-speed <= hm2_5i25.0.7i84.0.2.analogin0 #sets jog-speed .16 ## MPG stuff########## # ---jogwheel signals to mesa encoder - shared MPG--- net joint-selected-count <= hm2_5i25.0.7i84.0.2.enc0.count setp hm2_5i25.0.encoder.00.filter true setp hm2_5i25.0.encoder.00.counter-mode true # ---mpg signals--- # for axis x MPG setp axis.0.jog-vel-mode 0 net selected-jog-incr => axis.0.jog-scale net joint-select-a => axis.0.jog-enable net joint-selected-count => axis.0.jog-counts # for axis y MPG setp axis.1.jog-vel-mode 0 net selected-jog-incr => axis.1.jog-scale net joint-select-b => axis.1.jog-enable net joint-selected-count => axis.1.jog-counts # for axis z MPG setp axis.2.jog-vel-mode 0 net selected-jog-incr => axis.2.jog-scale net joint-select-c => axis.2.jog-enable net joint-selected-count => axis.2.jog-counts # for axis a MPG setp axis.3.jog-vel-mode 0 net selected-jog-incr => axis.3.jog-scale net joint-select-d => axis.3.jog-enable net joint-selected-count => axis.3.jog-counts ##connect jog incr override increments net jog-incr-a => mux16.0.sel0 net jog-incr-b => mux16.0.sel1 net jog-incr-c => mux16.0.sel2 net jog-incr-d => mux16.0.sel3 net selected-jog-incr <= mux16.0.out-f setp mux16.0.debounce-time 0.200000 setp mux16.0.use-graycode False setp mux16.0.suppress-no-input False setp mux16.0.in00 0.0001 setp mux16.0.in01 0.001 setp mux16.0.in02 .01 setp mux16.0.in03 .1 setp mux16.0.in04 1 # connect feed overide increments - switches setp halui.feed-override.count-enable true setp halui.feed-override.direct-value true setp halui.feed-override.scale .01 net feedoverride-incr => halui.feed-override.counts net fo-incr-a => mux-gen.00.sel-bit-00 net fo-incr-b => mux-gen.00.sel-bit-01 net fo-incr-c => mux-gen.00.sel-bit-02 net fo-incr-d => mux-gen.00.sel-bit-03 net fo-incr-e => mux-gen.00.sel-bit-04 net feedoverride-incr <= mux-gen.00.out-s32 setp mux-gen.00.debounce-us 200000 setp mux-gen.00.suppress-no-input False setp mux-gen.00.in-s32-00 0 setp mux-gen.00.in-s32-01 10 setp mux-gen.00.in-s32-02 20 setp mux-gen.00.in-s32-03 30 setp mux-gen.00.in-s32-04 40 setp mux-gen.00.in-s32-05 50 setp mux-gen.00.in-s32-06 60 setp mux-gen.00.in-s32-07 70 setp mux-gen.00.in-s32-08 80 setp mux-gen.00.in-s32-09 90 setp mux-gen.00.in-s32-10 100 setp mux-gen.00.in-s32-11 110 setp mux-gen.00.in-s32-12 120 setp mux-gen.00.in-s32-13 130 setp mux-gen.00.in-s32-14 140 setp mux-gen.00.in-s32-15 150 setp mux-gen.00.in-s32-16 160 setp mux-gen.00.in-s32-17 170 setp mux-gen.00.in-s32-18 180 setp mux-gen.00.in-s32-19 190 setp mux-gen.00.in-s32-20 200 # connect max velocity overide increments - switches setp halui.max-velocity.count-enable true setp halui.max-velocity.direct-value true setp halui.max-velocity.scale 0.016670 net max-vel-override-incr => halui.max-velocity.counts net mvo-incr-a => mux-gen.01.sel-bit-00 net mvo-incr-b => mux-gen.01.sel-bit-01 net mvo-incr-c => mux-gen.01.sel-bit-02 net mvo-incr-d => mux-gen.01.sel-bit-03 net mvo-incr-e => mux-gen.01.sel-bit-04 net max-vel-override-incr <= mux-gen.01.out-s32 setp mux-gen.01.debounce-us 200000 setp mux-gen.01.suppress-no-input False setp mux-gen.01.in-s32-00 0 setp mux-gen.01.in-s32-01 2 setp mux-gen.01.in-s32-02 4 setp mux-gen.01.in-s32-03 6 setp mux-gen.01.in-s32-04 8 setp mux-gen.01.in-s32-05 10 setp mux-gen.01.in-s32-06 12 setp mux-gen.01.in-s32-07 14 setp mux-gen.01.in-s32-08 16 setp mux-gen.01.in-s32-09 18 setp mux-gen.01.in-s32-10 20 setp mux-gen.01.in-s32-11 25 setp mux-gen.01.in-s32-12 30 setp mux-gen.01.in-s32-13 35 setp mux-gen.01.in-s32-14 40 setp mux-gen.01.in-s32-15 45 setp mux-gen.01.in-s32-16 50 setp mux-gen.01.in-s32-17 55 setp mux-gen.01.in-s32-18 60 # connect spindle overide increments setp halui.spindle-override.count-enable true setp halui.spindle-override.direct-value true setp halui.spindle-override.scale .01 net spindleoverride-incr => halui.spindle-override.counts net so-incr-a => mux16.3.sel0 net so-incr-b => mux16.3.sel1 net so-incr-c => mux16.3.sel2 net spindleoverride-incr <= mux16.3.out-s setp mux16.3.debounce-time 0.200000 setp mux16.3.use-graycode False setp mux16.3.suppress-no-input False setp mux16.3.in00 100.000000 setp mux16.3.in01 90.000000 setp mux16.3.in02 70.000000 setp mux16.3.in03 80.000000 setp mux16.3.in04 110.000000 setp mux16.3.in05 120.000000 setp mux16.3.in06 60.000000 setp mux16.3.in07 50.000000 # ---motion control signals--- net in-position <= motion.in-position net machine-is-enabled <= motion.motion-enabled # ---digital in / out signals--- # ---estop signals--- # ---estop signals--- net estop-out <= hm2_5i25.0.7i84.0.2.input-15 net estop-out => iocontrol.0.emc-enable-in # ---manual tool change signals--- loadusr -W hal_manualtoolchange net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change net tool-change-confirmed 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


ini:
Code:
# Generated by PNCconf at Fri Dec 25 14:13:58 2015 # If you make changes to this file, they will be # overwritten when you run PNCconf again [EMC] MACHINE = Boss5_servo DEBUG = 0 [DISPLAY] DISPLAY = axis POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_FEED_OVERRIDE = 2.000000 MAX_SPINDLE_OVERRIDE = 1.000000 MIN_SPINDLE_OVERRIDE = 0.500000 INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 PROGRAM_PREFIX = /home/shefron/linuxcnc/nc_files INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in POSITION_FEEDBACK = ACTUAL DEFAULT_LINEAR_VELOCITY = 0.250000 MAX_LINEAR_VELOCITY = 2.08 MIN_LINEAR_VELOCITY = 0.010000 DEFAULT_ANGULAR_VELOCITY = 0.250000 MAX_ANGULAR_VELOCITY = 1.000000 MIN_ANGULAR_VELOCITY = 0.010000 EDITOR = gedit GEOMETRY = xyz-aw PYVCP = spindle.xml PYVCP = LEDs.xml [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image PROGRAM_EXTENSION = .py Python Script 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 USER_M_PATH= M-codes [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 COMM_WAIT = 0.010 SERVO_PERIOD = 1000000 [HOSTMOT2] # **** This is for info only **** # DRIVER0=hm2_pci # BOARD0=5i25 [HAL] HALUI = halui HALFILE = Boss5_servo.hal HALFILE = custom.hal POSTGUI_HALFILE = postgui_call_list.hal POSTGUI_HALFILE = spindle_to_pyvcp.hal SHUTDOWN = shutdown.hal [HALUI] [TRAJ] AXES = 9 COORDINATES = X Y Z W A MAX_ANGULAR_VELOCITY = 360.00 DEFAULT_ANGULAR_VELOCITY = 36.00 LINEAR_UNITS = inch ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 0.10 MAX_LINEAR_VELOCITY = 2.08 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl TOOL_CHANGE_QUILL_UP = 1 #******************** # Axis X #******************** [AXIS_0] TYPE = LINEAR HOME = 9 FERROR = 1 MIN_FERROR = 1 MAX_VELOCITY = 1.0 MAX_ACCELERATION = 30.0 P = 100 I = 0 D = 0 FF0 = 0 FF1 = 3.03 FF2 = 0 BIAS = 0 DEADBAND = 0 MAX_OUTPUT = 0 ENCODER_SCALE = -163840 OUTPUT_SCALE = 10 OUTPUT_MIN_LIMIT = -10 OUTPUT_MAX_LIMIT = 10 MIN_LIMIT = .25 MAX_LIMIT = 18.0 HOME_OFFSET = 0 HOME_SEARCH_VEL = -.2 HOME_LATCH_VEL = 0.016667 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 1 #******************** # Axis Y #******************** [AXIS_1] TYPE = LINEAR HOME = 10 FERROR = 1 MIN_FERROR = 1 MAX_VELOCITY = 2.08 MAX_ACCELERATION = 30.0 P = 500 I = 0 D = 0 FF0 = 0 FF1 = 3.03 FF2 = 0 BIAS = 0 DEADBAND = 0 MAX_OUTPUT = 0 ENCODER_SCALE = -40960 OUTPUT_SCALE = 10 OUTPUT_MIN_LIMIT = -10 OUTPUT_MAX_LIMIT = 10 MIN_LIMIT = -0 MAX_LIMIT = 12 HOME_OFFSET = 12 HOME_SEARCH_VEL = 0.2 HOME_LATCH_VEL = -0.016667 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 2 #******************** # Axis Z #******************** [AXIS_2] TYPE = LINEAR HOME = 0.0 FERROR = 1 MIN_FERROR = 1 MAX_VELOCITY = 1.0 MAX_ACCELERATION = 30.0 P = 300 I = 0 D = 0 FF0 = 0 FF1 = 3.1 FF2 = 0 BIAS = 0 DEADBAND = 0 MAX_OUTPUT = 0 ENCODER_SCALE = -163840 OUTPUT_SCALE = 10 OUTPUT_MIN_LIMIT = -10 OUTPUT_MAX_LIMIT = 10 MIN_LIMIT = -5 MAX_LIMIT = 0.001 HOME_OFFSET = 0.05 HOME_SEARCH_VEL = 0.100000 HOME_LATCH_VEL = 0.016667 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 0 #******************** # Axis W #******************** [AXIS_8] TYPE = LINEAR ENCODER_SCALE = -6350 ##Immediate Homing### HOME_SEARCH_VEL = 0 HOME_LATCH_VEL = 0 HOME_FINAL_VEL = 0 HOME_USE_INDEX = NO HOME_SEQUENCE = 0 #******************** # Axis A #******************** [AXIS_3] TYPE = ANGULAR HOME = 13.411 FERROR = 360 MIN_FERROR = 30 MAX_VELOCITY = 140 MAX_ACCELERATION = 30 P = 60 I = 0 D = 0 FF0 = 0 FF1 = 3.03 FF2 = 0 BIAS = 0 DEADBAND = 0 MAX_OUTPUT = 0 ENCODER_SCALE = -16384 OUTPUT_SCALE = 10 OUTPUT_MIN_LIMIT = -10 OUTPUT_MAX_LIMIT = 10 MIN_LIMIT = -9999999.0 MAX_LIMIT = 9999999.0 ##Immediate Homing### HOME_SEARCH_VEL = 0 HOME_LATCH_VEL = 0 HOME_FINAL_VEL = 0 HOME_USE_INDEX = NO HOME_SEQUENCE = 0 ##Repeatable homing## #HOME_OFFSET = 1 #HOME_SEARCH_VEL = 10.000000 #HOME_LATCH_VEL = -0.500000 #HOME_FINAL_VEL = 0.000000 #HOME_USE_INDEX = YES #******************** # Spindle #******************** [SPINDLE_9] P = 0.0 I = 0.0 D = 0.0 FF0 = 1.0 FF1 = 0.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 3600.0 ENCODER_SCALE = 4000.0 OUTPUT_SCALE = 3600.0 OUTPUT_MIN_LIMIT = 0.0 OUTPUT_MAX_LIMIT = 3600.0 #******************** # Axis B #******************** [AXIS_4] #******************** # Axis C #******************** [AXIS_5] #******************** # Axis U #******************** [AXIS_6] #******************** # Axis V #******************** [AXIS_7]

Please Log in to join the conversation.

More
8 years 3 months ago #114773 by NCPatrol
Replied by NCPatrol on topic Rigid Tapping Help
Bump!

Any pointers?


The previous owner did this conversion with the original steppers and then later converted to servos. He's fairly confident that he had used rigid tapping after the servo conversion (meaning the config should be correct), but I don't think he was 100% sure.

Please Log in to join the conversation.

More
8 years 3 months ago #114808 by OT-CNC
Replied by OT-CNC on topic Rigid Tapping Help
I glanced over the ini and hal and didn't see anything obviously wrong but maybe one of the experts could confirm.
How low of an rpm can you go with your vfd?

Seems the encoder is not registering the index signal....but is registering rotation/rpm. More trouble shooting tomorrow!


Can you currently turn on the spindle in a cw and ccw direction?
Can you confirm that in halmeter if you load the encoder.05 it's counting + and -?
Can you turn the spindle manually very slowly and see if the encoder.05 index led blips brown/yellow one per revolution? If you can't turn it slowly you'll need to use halscope to trigger it.

Your ini's name suggests this is on a Boss5 BP type of machine? Can tell us where the encoder is fitted on your machine? Is the vari-disc "gear box" in place and being used? If so, is your spindle at speed correct?

Please Log in to join the conversation.

More
8 years 3 months ago #114809 by NCPatrol
Replied by NCPatrol on topic Rigid Tapping Help

OT-CNC wrote: I glanced over the ini and hal and didn't see anything obviously wrong but maybe one of the experts could confirm.
How low of an rpm can you go with your vfd?
It doesn't seem to like anything below 100rpm, but does fine on the next click up around 120rpm.

Seems the encoder is not registering the index signal....but is registering rotation/rpm. More trouble shooting tomorrow!


Can you currently turn on the spindle in a cw and ccw direction?
Yes, spindle functions perfectly in both directions.
Can you confirm that in halmeter if you load the encoder.05 it's counting + and -?
Yes, encoder counts both directions
Can you turn the spindle manually very slowly and see if the encoder.05 index led blips brown/yellow one per revolution? If you can't turn it slowly you'll need to use halscope to trigger it.
No change/response shown on any of the index variables.

Your ini's name suggests this is on a Boss5 BP type of machine? Can tell us where the encoder is fitted on your machine? Is the vari-disc "gear box" in place and being used? If so, is your spindle at speed correct?

Correct, it's a rigid ram Boss 5. Encoder is mounted on top of the spindle pulley. The machine has been retrofitted with pulley drives, the varispeed is long gone. Speed appears to be correct, though i haven't checked it with a tach yet. I ha no reason to believe it's off.

^^

Please Log in to join the conversation.

More
8 years 3 months ago #114813 by OT-CNC
Replied by OT-CNC on topic Rigid Tapping Help
How is the encoder connected to your board? Index going to the right connection?

Please Log in to join the conversation.

Time to create page: 0.097 seconds
Powered by Kunena Forum