How to configure Horizontal Boring mill

More
3 years 10 months ago #259547 by andypugh
So it is probably hm2_5i24.0.pwm_frequency. But as I said, have a look at the pins of the running config to find out.

Please Log in to join the conversation.

More
3 years 10 months ago #259742 by yrsiddhapura
i tried to set

setp hm2_5i24.0.pwmgen.pwm_frequency 20000

to
setp hm2_5i24.0.pwmgen.pwm_frequency 3000 and even 2000 but its still same i am getting 60khz frequency and very minor changes in duty cycle as mine multi meter says(i dont have access to oscilloscope right now) i have checked PWM value and is 1100(mine required RPM) and Output rps is 18.36 (about 1100 RPM) but frequency cycle is above 60khz. And "halcmd show pin *pwm_frequency" shows nothing.
Code:
HAL# Generated by PNCconf at Tue Dec 13 10:34:58 2022 # Using LinuxCNC version: 2.8 # If you make changes to this file, they will be # overwritten when you run PNCconf again loadrt [KINS]KINEMATICS loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS loadrt hostmot2 loadrt hm2_pci config="firmware=hm2/Discovered:5i24/~/mesa0_discovered.xml.BIT num_encoders=12 num_pwmgens=1 num_stepgens=5 sserial_port_0=000100" setp hm2_5i24.0.pwmgen.pwm_frequency 20000 setp hm2_5i24.0.pwmgen.pdm_frequency 6000000 setp hm2_5i24.0.watchdog.timeout_ns 5000000 setp hm2_5i24.0.gpio.000.is_output 1 setp hm2_5i24.0.gpio.023.is_output 1 loadrt pid names=pid.x,pid.y,pid.z,pid.w,pid.b,pid.s addf hm2_5i24.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.w.do-pid-calcs servo-thread addf pid.b.do-pid-calcs servo-thread addf pid.s.do-pid-calcs servo-thread addf hm2_5i24.0.write servo-thread # external output signals # --- X-ENABLE --- net x-enable => hm2_5i24.0.7i84.0.0.output-01 # --- Y-ENABLE --- net y-enable => hm2_5i24.0.7i84.0.0.output-04 # --- Z-ENABLE --- net z-enable => hm2_5i24.0.7i84.0.0.output-07 # --- W-ENABLE --- net w-enable => hm2_5i24.0.7i84.0.0.output-10 # --- B-ENABLE --- net b-enable => hm2_5i24.0.7i84.0.0.output-13 # --- COOLANT-FLOOD --- net coolant-flood => hm2_5i24.0.7i84.0.1.output-06 # --- COOLANT-MIST --- net coolant-mist => hm2_5i24.0.7i84.0.1.output-07 # --- SPINDLE-ENABLE --- net spindle-enable => hm2_5i24.0.7i84.0.2.output-01 # --- SPINDLE-CW --- net spindle-cw => hm2_5i24.0.7i84.0.2.output-03 # --- SPINDLE-CCW --- net spindle-ccw => hm2_5i24.0.7i84.0.2.output-04 # external input signals # --- MAX-X --- net max-x <= hm2_5i24.0.7i84.0.1.input-01 # --- MIN-X --- net min-x <= hm2_5i24.0.7i84.0.1.input-00 # --- HOME-X --- net home-x <= hm2_5i24.0.7i84.0.1.input-02 # --- MAX-Y --- net max-y <= hm2_5i24.0.7i84.0.1.input-03 # --- MIN-Y --- net min-y <= hm2_5i24.0.7i84.0.1.input-04 # --- HOME-Y --- net home-y <= hm2_5i24.0.7i84.0.1.input-05 # --- MAX-Z --- net max-z <= hm2_5i24.0.7i84.0.1.input-06 # --- MIN-Z --- net min-z <= hm2_5i24.0.7i84.0.1.input-07 # --- HOME-Z --- net home-z <= hm2_5i24.0.7i84.0.1.input-08 # --- MAX-W --- net max-W <= hm2_5i24.0.7i84.0.1.input-09 # --- MIN-W --- net min-w <= hm2_5i24.0.7i84.0.1.input-10 # --- HOME-W --- net home-w <= hm2_5i24.0.7i84.0.1.input-11 # --- MAX-B --- #net max-b <= hm2_5i24.0.7i84.0.1.input-12 # --- MIN-B --- #net min-b <= hm2_5i24.0.7i84.0.1.input-13 # --- HOME-B --- net home-b <= hm2_5i24.0.7i84.0.1.input-15 # --- JOG-X-POS --- net jog-x-pos <= hm2_5i24.0.7i84.0.2.input-09 # --- JOG-X-NEG --- net jog-x-neg <= hm2_5i24.0.7i84.0.2.input-10 # --- JOG-Y-POS --- net jog-y-pos <= hm2_5i24.0.7i84.0.2.input-11 # --- JOG-Y-NEG --- net jog-y-neg <= hm2_5i24.0.7i84.0.2.input-12 # --- JOG-Z-POS --- net jog-z-pos <= hm2_5i24.0.7i84.0.2.input-13 # --- JOG-Z-NEG --- net jog-z-neg <= hm2_5i24.0.7i84.0.2.input-14 # --- ESTOP-EXT --- net estop-ext <= hm2_5i24.0.7i84.0.2.input-20 #******************* # AXIS X JOINT 0 #******************* setp pid.x.Pgain [JOINT_0]P setp pid.x.Igain [JOINT_0]I setp pid.x.Dgain [JOINT_0]D setp pid.x.bias [JOINT_0]BIAS setp pid.x.FF0 [JOINT_0]FF0 setp pid.x.FF1 [JOINT_0]FF1 setp pid.x.FF2 [JOINT_0]FF2 setp pid.x.deadband [JOINT_0]DEADBAND setp pid.x.maxoutput [JOINT_0]MAX_OUTPUT setp pid.x.error-previous-target true # This setting is to limit bogus stepgen # velocity corrections caused by position # feedback sample time jitter. setp pid.x.maxerror 0.012700 net x-index-enable <=> pid.x.index-enable net x-enable => pid.x.enable net x-pos-cmd => pid.x.command net x-pos-fb => pid.x.feedback net x-output <= pid.x.output # Step Gen signals/setup setp hm2_5i24.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP setp hm2_5i24.0.stepgen.00.dirhold [JOINT_0]DIRHOLD setp hm2_5i24.0.stepgen.00.steplen [JOINT_0]STEPLEN setp hm2_5i24.0.stepgen.00.stepspace [JOINT_0]STEPSPACE setp hm2_5i24.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE setp hm2_5i24.0.stepgen.00.step_type 0 setp hm2_5i24.0.stepgen.00.control-type 1 setp hm2_5i24.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL setp hm2_5i24.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL # ---closedloop stepper signals--- net x-pos-cmd <= joint.0.motor-pos-cmd net x-vel-cmd <= joint.0.vel-cmd net x-output <= hm2_5i24.0.stepgen.00.velocity-cmd net x-pos-fb <= hm2_5i24.0.stepgen.00.position-fb net x-pos-fb => joint.0.motor-pos-fb net x-enable <= joint.0.amp-enable-out net x-enable => hm2_5i24.0.stepgen.00.enable # ---setup home / limit switch signals--- net home-x => joint.0.home-sw-in net min-x => joint.0.neg-lim-sw-in net max-x => joint.0.pos-lim-sw-in #******************* # AXIS Y JOINT 1 #******************* setp pid.y.Pgain [JOINT_1]P setp pid.y.Igain [JOINT_1]I setp pid.y.Dgain [JOINT_1]D setp pid.y.bias [JOINT_1]BIAS setp pid.y.FF0 [JOINT_1]FF0 setp pid.y.FF1 [JOINT_1]FF1 setp pid.y.FF2 [JOINT_1]FF2 setp pid.y.deadband [JOINT_1]DEADBAND setp pid.y.maxoutput [JOINT_1]MAX_OUTPUT setp pid.y.error-previous-target true # This setting is to limit bogus stepgen # velocity corrections caused by position # feedback sample time jitter. setp pid.y.maxerror 0.012700 net y-index-enable <=> pid.y.index-enable net y-enable => pid.y.enable net y-pos-cmd => pid.y.command net y-pos-fb => pid.y.feedback net y-output <= pid.y.output # Step Gen signals/setup setp hm2_5i24.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP setp hm2_5i24.0.stepgen.01.dirhold [JOINT_1]DIRHOLD setp hm2_5i24.0.stepgen.01.steplen [JOINT_1]STEPLEN setp hm2_5i24.0.stepgen.01.stepspace [JOINT_1]STEPSPACE setp hm2_5i24.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE setp hm2_5i24.0.stepgen.01.step_type 0 setp hm2_5i24.0.stepgen.01.control-type 1 setp hm2_5i24.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL setp hm2_5i24.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL # ---closedloop stepper signals--- net y-pos-cmd <= joint.1.motor-pos-cmd net y-vel-cmd <= joint.1.vel-cmd net y-output <= hm2_5i24.0.stepgen.01.velocity-cmd net y-pos-fb <= hm2_5i24.0.stepgen.01.position-fb net y-pos-fb => joint.1.motor-pos-fb net y-enable <= joint.1.amp-enable-out net y-enable => hm2_5i24.0.stepgen.01.enable # ---setup home / limit switch signals--- net home-y => joint.1.home-sw-in net min-y => joint.1.neg-lim-sw-in net max-y => joint.1.pos-lim-sw-in #******************* # AXIS Z JOINT 2 #******************* setp pid.z.Pgain [JOINT_2]P setp pid.z.Igain [JOINT_2]I setp pid.z.Dgain [JOINT_2]D setp pid.z.bias [JOINT_2]BIAS setp pid.z.FF0 [JOINT_2]FF0 setp pid.z.FF1 [JOINT_2]FF1 setp pid.z.FF2 [JOINT_2]FF2 setp pid.z.deadband [JOINT_2]DEADBAND setp pid.z.maxoutput [JOINT_2]MAX_OUTPUT setp pid.z.error-previous-target true # This setting is to limit bogus stepgen # velocity corrections caused by position # feedback sample time jitter. setp pid.z.maxerror 0.012700 net z-index-enable <=> pid.z.index-enable net z-enable => pid.z.enable net z-pos-cmd => pid.z.command net z-pos-fb => pid.z.feedback net z-output <= pid.z.output # Step Gen signals/setup setp hm2_5i24.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP setp hm2_5i24.0.stepgen.02.dirhold [JOINT_2]DIRHOLD setp hm2_5i24.0.stepgen.02.steplen [JOINT_2]STEPLEN setp hm2_5i24.0.stepgen.02.stepspace [JOINT_2]STEPSPACE setp hm2_5i24.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE setp hm2_5i24.0.stepgen.02.step_type 0 setp hm2_5i24.0.stepgen.02.control-type 1 setp hm2_5i24.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL setp hm2_5i24.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL # ---closedloop stepper signals--- net z-pos-cmd <= joint.2.motor-pos-cmd net z-vel-cmd <= joint.2.vel-cmd net z-output <= hm2_5i24.0.stepgen.02.velocity-cmd net z-pos-fb <= hm2_5i24.0.stepgen.02.position-fb net z-pos-fb => joint.2.motor-pos-fb net z-enable <= joint.2.amp-enable-out net z-enable => hm2_5i24.0.stepgen.02.enable # ---setup home / limit switch signals--- net home-z => joint.2.home-sw-in net min-z => joint.2.neg-lim-sw-in net max-z => joint.2.pos-lim-sw-in #******************* # AXIS W JOINT 3 #******************* setp pid.w.Pgain [JOINT_3]P setp pid.w.Igain [JOINT_3]I setp pid.w.Dgain [JOINT_3]D setp pid.w.bias [JOINT_3]BIAS setp pid.w.FF0 [JOINT_3]FF0 setp pid.w.FF1 [JOINT_3]FF1 setp pid.w.FF2 [JOINT_3]FF2 setp pid.w.deadband [JOINT_3]DEADBAND setp pid.w.maxoutput [JOINT_3]MAX_OUTPUT setp pid.w.error-previous-target true # This setting is to limit bogus stepgen # velocity corrections caused by position # feedback sample time jitter. setp pid.w.maxerror 0.012700 net w-index-enable <=> pid.w.index-enable net w-enable => pid.w.enable net w-pos-cmd => pid.w.command net w-pos-fb => pid.w.feedback net w-output <= pid.w.output # Step Gen signals/setup setp hm2_5i24.0.stepgen.03.dirsetup [JOINT_3]DIRSETUP setp hm2_5i24.0.stepgen.03.dirhold [JOINT_3]DIRHOLD setp hm2_5i24.0.stepgen.03.steplen [JOINT_3]STEPLEN setp hm2_5i24.0.stepgen.03.stepspace [JOINT_3]STEPSPACE setp hm2_5i24.0.stepgen.03.position-scale [JOINT_3]STEP_SCALE setp hm2_5i24.0.stepgen.03.step_type 0 setp hm2_5i24.0.stepgen.03.control-type 1 setp hm2_5i24.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL setp hm2_5i24.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL # ---closedloop stepper signals--- net w-pos-cmd <= joint.3.motor-pos-cmd net w-vel-cmd <= joint.3.vel-cmd net w-output <= hm2_5i24.0.stepgen.03.velocity-cmd net w-pos-fb <= hm2_5i24.0.stepgen.03.position-fb net w-pos-fb => joint.3.motor-pos-fb net w-enable <= joint.3.amp-enable-out net w-enable => hm2_5i24.0.stepgen.03.enable # ---setup home / limit switch signals--- net home-w => joint.3.home-sw-in net min-w => joint.3.neg-lim-sw-in net max-w => joint.3.pos-lim-sw-in #******************* # AXIS B JOINT 4 #******************* setp pid.b.Pgain [JOINT_4]P setp pid.b.Igain [JOINT_4]I setp pid.b.Dgain [JOINT_4]D setp pid.b.bias [JOINT_4]BIAS setp pid.b.FF0 [JOINT_4]FF0 setp pid.b.FF1 [JOINT_4]FF1 setp pid.b.FF2 [JOINT_4]FF2 setp pid.b.deadband [JOINT_4]DEADBAND setp pid.b.maxoutput [JOINT_4]MAX_OUTPUT setp pid.b.error-previous-target true # This setting is to limit bogus stepgen # velocity corrections caused by position # feedback sample time jitter. setp pid.b.maxerror 0.012700 net b-index-enable <=> pid.b.index-enable net b-enable => pid.b.enable net b-pos-cmd => pid.b.command net b-pos-fb => pid.b.feedback net b-output <= pid.b.output # Step Gen signals/setup setp hm2_5i24.0.stepgen.04.dirsetup [JOINT_4]DIRSETUP setp hm2_5i24.0.stepgen.04.dirhold [JOINT_4]DIRHOLD setp hm2_5i24.0.stepgen.04.steplen [JOINT_4]STEPLEN setp hm2_5i24.0.stepgen.04.stepspace [JOINT_4]STEPSPACE setp hm2_5i24.0.stepgen.04.position-scale [JOINT_4]STEP_SCALE setp hm2_5i24.0.stepgen.04.step_type 0 setp hm2_5i24.0.stepgen.04.control-type 1 setp hm2_5i24.0.stepgen.04.maxaccel [JOINT_4]STEPGEN_MAXACCEL setp hm2_5i24.0.stepgen.04.maxvel [JOINT_4]STEPGEN_MAXVEL # ---closedloop stepper signals--- net b-pos-cmd <= joint.4.motor-pos-cmd net b-vel-cmd <= joint.4.vel-cmd net b-output <= hm2_5i24.0.stepgen.04.velocity-cmd net b-pos-fb <= hm2_5i24.0.stepgen.04.position-fb net b-pos-fb => joint.4.motor-pos-fb net b-enable <= joint.4.amp-enable-out net b-enable => hm2_5i24.0.stepgen.04.enable # ---setup home / limit switch signals--- net home-b => joint.4.home-sw-in #net min-b => joint.4.neg-lim-sw-in #net max-b => joint.4.pos-lim-sw-in #net b-home-sw => joint.4.home-sw-in net b-neg-limit => joint.4.neg-lim-sw-in net b-pos-limit => joint.4.pos-lim-sw-in #******************* # SPINDLE #******************* setp pid.s.Pgain [SPINDLE_0]P setp pid.s.Igain [SPINDLE_0]I setp pid.s.Dgain [SPINDLE_0]D setp pid.s.bias [SPINDLE_0]BIAS setp pid.s.FF0 [SPINDLE_0]FF0 setp pid.s.FF1 [SPINDLE_0]FF1 setp pid.s.FF2 [SPINDLE_0]FF2 setp pid.s.deadband [SPINDLE_0]DEADBAND setp pid.s.maxoutput [SPINDLE_0]MAX_OUTPUT setp pid.s.error-previous-target true net spindle-index-enable <=> pid.s.index-enable net spindle-enable => pid.s.enable net spindle-vel-cmd-rpm => pid.s.command net spindle-vel-fb-rpm => pid.s.feedback net spindle-output <= pid.s.output # ---PWM Generator signals/setup--- setp hm2_5i24.0.pwmgen.00.output-type 1 setp hm2_5i24.0.pwmgen.00.scale [SPINDLE_0]OUTPUT_SCALE net spindle-vel-cmd-rpm => hm2_5i24.0.pwmgen.00.value net spindle-enable => hm2_5i24.0.pwmgen.00.enable # ---setup spindle control signals--- net spindle-vel-cmd-rps <= spindle.0.speed-out-rps net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs net spindle-vel-cmd-rpm <= spindle.0.speed-out net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs net spindle-enable <= spindle.0.on net spindle-cw <= spindle.0.forward net spindle-ccw <= spindle.0.reverse net spindle-brake <= spindle.0.brake net spindle-revs => spindle.0.revs net spindle-at-speed => spindle.0.at-speed net spindle-vel-fb-rps => spindle.0.speed-in net spindle-index-enable <=> spindle.0.index-enable # ---Setup spindle at speed signals--- sets spindle-at-speed true #****************************** # connect miscellaneous signals #****************************** # ---HALUI signals--- net axis-select-x halui.axis.x.select net jog-x-pos halui.axis.x.plus net jog-x-neg halui.axis.x.minus net jog-x-analog halui.axis.x.analog net x-is-homed halui.joint.0.is-homed net axis-select-y halui.axis.y.select net jog-y-pos halui.axis.y.plus net jog-y-neg halui.axis.y.minus net jog-y-analog halui.axis.y.analog net y-is-homed halui.joint.1.is-homed net axis-select-z halui.axis.z.select net jog-z-pos halui.axis.z.plus net jog-z-neg halui.axis.z.minus net jog-z-analog halui.axis.z.analog net z-is-homed halui.joint.2.is-homed net axis-select-w halui.axis.w.select net jog-w-pos halui.axis.w.plus net jog-w-neg halui.axis.w.minus net jog-w-analog halui.axis.w.analog net w-is-homed halui.joint.3.is-homed net jog-selected-pos halui.axis.selected.plus net jog-selected-neg halui.axis.selected.minus net spindle-manual-cw halui.spindle.0.forward net spindle-manual-ccw halui.spindle.0.reverse net spindle-manual-stop halui.spindle.0.stop net machine-is-on halui.machine.is-on net jog-speed halui.axis.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 # ---motion control signals--- net in-position <= motion.in-position net machine-is-enabled <= motion.motion-enabled # ---digital in / out signals--- # ---estop signals--- net estop-out <= iocontrol.0.user-enable-out net estop-ext => 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
Code:
INI# Generated by PNCconf at Tue Dec 13 10:34:58 2022 # Using LinuxCNC version: 2.8 # If you make changes to this file, they will be # overwritten when you run PNCconf again [EMC] MACHINE = HBMMEC80 DEBUG = 0 VERSION = 1.1 [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/lcnc/linuxcnc/nc_files INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm POSITION_FEEDBACK = ACTUAL DEFAULT_LINEAR_VELOCITY = 6.000000 MAX_LINEAR_VELOCITY = 100.000000 MIN_LINEAR_VELOCITY = 0.000167 DEFAULT_ANGULAR_VELOCITY = 3.000000 MAX_ANGULAR_VELOCITY = 12.000000 MIN_ANGULAR_VELOCITY = 0.006 EDITOR = gedit GEOMETRY = bxyzw [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 [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 SERVO_PERIOD = 1000000 [HMOT] # **** This is for info only **** CARD0=hm2_5i24.0 [HAL] HALUI = halui HALFILE = HBMMEC80.hal HALFILE = custom.hal POSTGUI_HALFILE = postgui_call_list.hal SHUTDOWN = shutdown.hal [HALUI] [KINS] JOINTS = 5 KINEMATICS = trivkins coordinates=XYZWB [TRAJ] COORDINATES = XYZWB LINEAR_UNITS = mm ANGULAR_UNITS = degree DEFAULT_LINEAR_VELOCITY = 10.00 MAX_LINEAR_VELOCITY = 100.00 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl #****************************************** [AXIS_X] MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 MIN_LIMIT = -0.01 MAX_LIMIT = 1200.0 [JOINT_0] TYPE = LINEAR HOME = 0.0 FERROR = 10.0 MIN_FERROR = 1.0 MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 125.00 STEPGEN_MAXACCEL = 937.50 P = 1000.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 0.0 # these are in nanoseconds DIRSETUP = 10000 DIRHOLD = 10000 STEPLEN = 2000 STEPSPACE = 2000 STEP_SCALE = 2000.0 MIN_LIMIT = -0.01 MAX_LIMIT = 1200.0 HOME_OFFSET = 0.000000 HOME_SEARCH_VEL = -1.000000 HOME_LATCH_VEL = -0.500000 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO HOME_SEQUENCE = 1 #****************************************** #****************************************** [AXIS_Y] MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 MIN_LIMIT = -0.01 MAX_LIMIT = 1200.0 [JOINT_1] TYPE = LINEAR HOME = 0.0 FERROR = 10.0 MIN_FERROR = 1.0 MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 125.00 STEPGEN_MAXACCEL = 937.50 P = 1000.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 0.0 # these are in nanoseconds DIRSETUP = 10000 DIRHOLD = 10000 STEPLEN = 2000 STEPSPACE = 2000 STEP_SCALE = 2000.0 MIN_LIMIT = -0.01 MAX_LIMIT = 1200.0 HOME_OFFSET = 0.000000 HOME_SEARCH_VEL = -1.000000 HOME_LATCH_VEL = -0.500000 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO HOME_SEQUENCE = 2 #****************************************** #****************************************** [AXIS_Z] MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 MIN_LIMIT = -1000.0 MAX_LIMIT = 0.01 [JOINT_2] TYPE = LINEAR HOME = 0.0 FERROR = 10.0 MIN_FERROR = 1.0 MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 125.00 STEPGEN_MAXACCEL = 937.50 P = 1000.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 0.0 # these are in nanoseconds DIRSETUP = 10000 DIRHOLD = 10000 STEPLEN = 2000 STEPSPACE = 2000 STEP_SCALE = 2000.0 MIN_LIMIT = -1000.0 MAX_LIMIT = 0.01 HOME_OFFSET = 0.000000 HOME_SEARCH_VEL = -1.000000 HOME_LATCH_VEL = -0.500000 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO HOME_SEQUENCE = 0 #****************************************** #****************************************** #****************************************** [AXIS_W] MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 MIN_LIMIT = -0.01 MAX_LIMIT = 600.0 [JOINT_3] TYPE = LINEAR HOME = 0.0 FERROR = 10.0 MIN_FERROR = 1.0 MAX_VELOCITY = 100.0 MAX_ACCELERATION = 750.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 125.00 STEPGEN_MAXACCEL = 937.50 P = 1000.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 0.0 # these are in nanoseconds DIRSETUP = 10000 DIRHOLD = 10000 STEPLEN = 2000 STEPSPACE = 2000 STEP_SCALE = 2000.0 MIN_LIMIT = -0.01 MAX_LIMIT = 600.0 HOME_OFFSET = 0.000000 HOME_SEARCH_VEL = -1.000000 HOME_LATCH_VEL = -0.500000 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO HOME_SEQUENCE = 4 #****************************************** #****************************************** [AXIS_B] MAX_VELOCITY = 12.0 MAX_ACCELERATION = 1200.0 MIN_LIMIT = -9999.0 MAX_LIMIT = 9999.0 [JOINT_4] TYPE = ANGULAR HOME = 0.0 FERROR = 0.5 MIN_FERROR = 0.05 MAX_VELOCITY = 12.0 MAX_ACCELERATION = 1200.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 37.50 STEPGEN_MAXACCEL = 1500.00 P = 1000.0 I = 0.0 D = 0.0 FF0 = 0.0 FF1 = 1.0 FF2 = 0.0 BIAS = 0.0 DEADBAND = 0.0 MAX_OUTPUT = 0.0 # these are in nanoseconds DIRSETUP = 10000 DIRHOLD = 10000 STEPLEN = 1500 STEPSPACE = 1500 STEP_SCALE = -7200 MIN_LIMIT = -9999.0 MAX_LIMIT = 9999.0 HOME_OFFSET = 0.000000 HOME_SEARCH_VEL = -2.000000 HOME_LATCH_VEL = -0.500000 HOME_FINAL_VEL = 0.000000 HOME_USE_INDEX = NO #HOME_OFFSET = 0.0 #****************************************** [SPINDLE_0] 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 = 1100.0 OUTPUT_SCALE = 1100 OUTPUT_MIN_LIMIT = 0 OUTPUT_MAX_LIMIT = 1100
Code:
READHMID General configuration information: BoardName : MESA5I24 FPGA Size: 25 KGates FPGA Pins: 256 Number of IO Ports: 3 Width of one I/O port: 24 Clock Low frequency: 33.3333 MHz Clock High frequency: 200.0000 MHz IDROM Type: 3 Instance Stride 0: 4 Instance Stride 1: 64 Register Stride 0: 256 Register Stride 1: 256 Modules in configuration: Module: DPLL There are 1 of DPLL in configuration Version: 0 Registers: 7 BaseAddress: 7000 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: WatchDog There are 1 of WatchDog in configuration Version: 0 Registers: 3 BaseAddress: 0C00 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: IOPort There are 3 of IOPort in configuration Version: 0 Registers: 5 BaseAddress: 1000 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: MuxedQCount There are 12 of MuxedQCount in configuration Version: 4 Registers: 5 BaseAddress: 3600 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: MuxedQCountSel There are 1 of MuxedQCountSel in configuration Version: 0 Registers: 0 BaseAddress: 0000 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: PWM There are 1 of PWM in configuration Version: 0 Registers: 5 BaseAddress: 4100 ClockFrequency: 200.000 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: SSerial There are 1 of SSerial in configuration Version: 0 Registers: 6 BaseAddress: 5B00 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 64 bytes Module: StepGen There are 5 of StepGen in configuration Version: 2 Registers: 10 BaseAddress: 2000 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Module: LED There are 1 of LED in configuration Version: 0 Registers: 1 BaseAddress: 0200 ClockFrequency: 33.333 MHz Register Stride: 256 bytes Instance Stride: 4 bytes Configuration pin-out: IO Connections for P4 Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir 1 0 IOPort None 3 1 IOPort MuxedQCount 0 MuxQ-A (In) 5 2 IOPort MuxedQCount 0 MuxQ-B (In) 7 3 IOPort MuxedQCount 0 MuxQ-IDX (In) 9 4 IOPort MuxedQCount 1 MuxQ-A (In) 11 5 IOPort MuxedQCount 1 MuxQ-B (In) 13 6 IOPort MuxedQCount 1 MuxQ-IDX (In) 15 7 IOPort MuxedQCount 2 MuxQ-A (In) 17 8 IOPort MuxedQCount 2 MuxQ-B (In) 19 9 IOPort MuxedQCount 2 MuxQ-IDX (In) 21 10 IOPort MuxedQCountSel 0 MuxSel0 (Out) 23 11 IOPort PWM 0 PWM (Out) 25 12 IOPort None 27 13 IOPort StepGen 4 Step/Table1 (Out) 29 14 IOPort StepGen 4 Dir/Table2 (Out) 31 15 IOPort StepGen 3 Step/Table1 (Out) 33 16 IOPort StepGen 3 Dir/Table2 (Out) 35 17 IOPort StepGen 2 Step/Table1 (Out) 37 18 IOPort StepGen 2 Dir/Table2 (Out) 39 19 IOPort StepGen 1 Step/Table1 (Out) 41 20 IOPort StepGen 1 Dir/Table2 (Out) 43 21 IOPort StepGen 0 Step/Table1 (Out) 45 22 IOPort StepGen 0 Dir/Table2 (Out) 47 23 IOPort None IO Connections for P3 Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir 1 24 IOPort SSerial 0 TXEn3 (Out) 3 25 IOPort MuxedQCount 3 MuxQ-A (In) 5 26 IOPort MuxedQCount 3 MuxQ-B (In) 7 27 IOPort MuxedQCount 3 MuxQ-IDX (In) 9 28 IOPort MuxedQCount 4 MuxQ-A (In) 11 29 IOPort MuxedQCount 4 MuxQ-B (In) 13 30 IOPort MuxedQCount 4 MuxQ-IDX (In) 15 31 IOPort MuxedQCount 5 MuxQ-A (In) 17 32 IOPort MuxedQCount 5 MuxQ-B (In) 19 33 IOPort MuxedQCount 5 MuxQ-IDX (In) 21 34 IOPort MuxedQCountSel 6 MuxSel0 (Out) 23 35 IOPort SSerial 0 TXData5 (Out) 25 36 IOPort SSerial 0 RXData5 (In) 27 37 IOPort SSerial 0 TXData4 (Out) 29 38 IOPort SSerial 0 RXData4 (In) 31 39 IOPort SSerial 0 TXData3 (Out) 33 40 IOPort SSerial 0 RXData3 (In) 35 41 IOPort SSerial 0 TXData2 (Out) 37 42 IOPort SSerial 0 RXData2 (In) 39 43 IOPort SSerial 0 TXData1 (Out) 41 44 IOPort SSerial 0 RXData1 (In) 43 45 IOPort SSerial 0 TXData0 (Out) 45 46 IOPort SSerial 0 RXData0 (In) 47 47 IOPort SSerial 0 TXEn0 (Out) IO Connections for P2 Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir 1 48 IOPort None 3 49 IOPort None 5 50 IOPort None 7 51 IOPort None 9 52 IOPort None 11 53 IOPort None 13 54 IOPort None 15 55 IOPort None 17 56 IOPort None 19 57 IOPort None 21 58 IOPort None 23 59 IOPort None 25 60 IOPort None 27 61 IOPort None 29 62 IOPort None 31 63 IOPort None 33 64 IOPort None 35 65 IOPort None 37 66 IOPort None 39 67 IOPort None 41 68 IOPort None 43 69 IOPort None 45 70 IOPort None 47 71 IOPort None

As following readhmid PIN 23 is PWMgen and as following 7i52s manual Pin 23 is TX5B and as following it i have connected PWM connection to P2 PIN No 21 of 7i52s and GND to P2 PIN No 17 of 7i52s for mine PWM to Voltage converter(Chines Generic module).does mine connections are wrong or i am missing any thing  ?I am attaching mine HAL and INI files and readhmid output file. 

Please Log in to join the conversation.

More
3 years 10 months ago #259747 by andypugh

setp hm2_5i24.0.pwmgen.pwm_frequency 3000 and even 2000 but its still same i am getting 60khz frequency 
...

Code:
setp hm2_5i24.0.pwmgen.pwm_frequency 20000 setp hm2_5i24.0.pwmgen.pdm_frequency 6000000


Maybe it is using PDM mode? (though from this line in the HAL I would expect 6 MHz)

Add
Code:
setp hm2_5i24.0.pwmgen.output-type 1

linuxcnc.org/docs/stable/html/man/man9/hostmot2.9.html#pwmgen

Please Log in to join the conversation.

More
3 years 10 months ago #259755 by yrsiddhapura
I think it's type-1 is pwm according to manual

output-type

This emulates the output_type load-time argument to the software pwmgen component. This parameter may be changed at runtime, but most of the time you probably want to set it at startup and then leave it alone. Accepted values are 1 (PWM on Out0 and Direction on Out1), 2 (Up on Out0 and Down on Out1), 3 (PDM mode, PDM on Out0 and Dir on Out1), and 4 (Direction on Out0 and PWM on Out1, "for locked antiphase").

As novice i am not sure which type is suitable for me could you pls suggest ?

Please Log in to join the conversation.

More
3 years 10 months ago #259763 by andypugh
Yes, you want type 1.

Also try just deleting the PDM frequency line.

Please Log in to join the conversation.

More
3 years 10 months ago #259799 by yrsiddhapura
No changes after deleting pdm line still not able to get 2khz pwm afters settings pwm_frequancy to 2000 it's still got about. But according to mine volt meter it change voltages 0-5v so it is safe to use it as analogue my drive supports both 10v and 5v analogue input or i should connect/TX5B => pwm in and TX5B => GND , currently i have connected TX5B => pwm in and GND to GND of 7i52s

Please Log in to join the conversation.

More
3 years 10 months ago #259810 by andypugh
The multimeter is averaging the PWM. The drive _might_ accept the 60kHz, but really you should set the PWM frequency to what the manual says.

With LinuxCNC running, what is the value shown on the pwm_frequency pin? (Use halmeter or "show hal configuration" from the "machine" menu to check this.

How are you measuring the PWM frequency and duty cycle? Maybe the measurement is wrong?

Please Log in to join the conversation.

More
3 years 10 months ago #259842 by yrsiddhapura
Hal meter shows value of pwm_value 1100 @ 18.35 rps(1100 rpm) spindle out and to measure pwm frequency and duty i am using mine kaiweets ht118a which supports 10mhz frequency and duty cycle. Well yes I am also believe measurements are wrong so try to get access to ocilloscope

Please Log in to join the conversation.

More
3 years 10 months ago #259909 by andypugh
I asked about the pwm_frequency pin, to see if it really was being set to the right value (and not being set to another value elsewhere in the HAL files)

Please Log in to join the conversation.

More
3 years 10 months ago #260072 by yrsiddhapura
pwm_frequency says 3000

 

Attachment not found

Please Log in to join the conversation.

Time to create page: 0.598 seconds
Powered by Kunena Forum