AASD chinese ac servo's step/dir Oscilations
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
20 Sep 2020 14:30 - 20 Sep 2020 14:30 #182910
by bevins
AASD chinese ac servo's step/dir Oscilations was created by bevins
I am trying to get these servos operating properly. I am using 7i92/7i76 and the drives are in step/dir.
When I move them with keyboard jogging they oscillate like crazy as shown in video.
When I jog them with drive control panel they don't. and they move great.
I know it seems like they need tuning but I think it may be linuxcnc and how it is setup.
I am using step+- and dir +- and tried 0,1,2 step type to no avail.
HAL File
INI file
When I move them with keyboard jogging they oscillate like crazy as shown in video.
When I jog them with drive control panel they don't. and they move great.
I know it seems like they need tuning but I think it may be linuxcnc and how it is setup.
I am using step+- and dir +- and tried 0,1,2 step type to no avail.
HAL File
Warning: Spoiler!
# Generated by PNCconf at Wed Dec 4 06:18:45 2019
# Using LinuxCNC version: UNAVAILABLE
# 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_eth board_ip="10.10.10.10" config=" num_encoders=1 num_pwmgens=0 num_stepgens=4 sserial_port_0=200xxx"
setp hm2_7i92.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.x,pid.x2,pid.y,pid.z,pid.s
loadrt mux4 count=3
addf hm2_7i92.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.x2.do-pid-calcs servo-thread
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
addf hm2_7i92.0.write servo-thread
addf mux4.0 servo-thread
setp hm2_7i92.0.dpll.01.timer-us -50
setp hm2_7i92.0.stepgen.timer-number 1
# external output signals
# external input signals
# --- BOTH-HOME-X ---
##net both-home-x <= hm2_7i92.0.7i76.0.0.input-01
# --- BOTH-HOME-X2 ---
##net both-home-x2 <= hm2_7i92.0.7i76.0.0.input-02
# --- BOTH-HOME-Y ---
##net both-home-y <= hm2_7i92.0.7i76.0.0.input-03
# --- BOTH-HOME-Z ---
##$net both-home-z <= hm2_7i92.0.7i76.0.0.input-04
#*******************
# 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
setp pid.x.maxerror .01
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_7i92.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_7i92.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_7i92.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_7i92.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_7i92.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_7i92.0.stepgen.00.step_type 2
setp hm2_7i92.0.stepgen.00.control-type 1
setp hm2_7i92.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_7i92.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_7i92.0.stepgen.00.velocity-cmd
net x-pos-fb <= hm2_7i92.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_7i92.0.stepgen.00.enable
# ---setup home / limit switch signals---
net both-home-x => joint.0.home-sw-in
net both-home-x => joint.0.neg-lim-sw-in
net both-home-x => joint.0.pos-lim-sw-in
#*******************
# Tandem AXIS X2 JOINT 1
#*******************
setp pid.x2.Pgain [JOINT_1]P
setp pid.x2.Igain [JOINT_1]I
setp pid.x2.Dgain [JOINT_1]D
setp pid.x2.bias [JOINT_1]BIAS
setp pid.x2.FF0 [JOINT_1]FF0
setp pid.x2.FF1 [JOINT_1]FF1
setp pid.x2.FF2 [JOINT_1]FF2
setp pid.x2.deadband [JOINT_1]DEADBAND
setp pid.x2.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.x2.error-previous-target true
setp pid.x2.maxerror .01
net x2-index-enable <=> pid.x2.index-enable
net x2-enable => pid.x2.enable
net x2-pos-cmd => pid.x2.command
net x2-pos-fb => pid.x2.feedback
net x2-output <= pid.x2.output
# Step Gen signals/setup for tandem axis
setp hm2_7i92.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_7i92.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_7i92.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_7i92.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_7i92.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE
setp hm2_7i92.0.stepgen.01.step_type 2
setp hm2_7i92.0.stepgen.01.control-type 1
setp hm2_7i92.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net x2-pos-cmd <= joint.1.motor-pos-cmd
net x2-vel-cmd <= joint.1.vel-cmd
net x2-output <= hm2_7i92.0.stepgen.01.velocity-cmd
net x2-pos-fb <= hm2_7i92.0.stepgen.01.position-fb
net x2-pos-fb => joint.1.motor-pos-fb
net x2-enable <= joint.1.amp-enable-out
net x2-enable => hm2_7i92.0.stepgen.01.enable
# ---setup home / limit switch signals---
net both-home-x2 => joint.1.home-sw-in
net both-home-x2 => joint.1.neg-lim-sw-in
net both-home-x2 => joint.1.pos-lim-sw-in
#*******************
# AXIS Y JOINT 2
#*******************
setp pid.y.Pgain [JOINT_2]P
setp pid.y.Igain [JOINT_2]I
setp pid.y.Dgain [JOINT_2]D
setp pid.y.bias [JOINT_2]BIAS
setp pid.y.FF0 [JOINT_2]FF0
setp pid.y.FF1 [JOINT_2]FF1
setp pid.y.FF2 [JOINT_2]FF2
setp pid.y.deadband [JOINT_2]DEADBAND
setp pid.y.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.y.error-previous-target true
setp pid.y.maxerror .01
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_7i92.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_7i92.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_7i92.0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_7i92.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_7i92.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE
setp hm2_7i92.0.stepgen.02.step_type 2
setp hm2_7i92.0.stepgen.02.control-type 1
setp hm2_7i92.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net y-pos-cmd <= joint.2.motor-pos-cmd
net y-vel-cmd <= joint.2.vel-cmd
net y-output <= hm2_7i92.0.stepgen.02.velocity-cmd
net y-pos-fb <= hm2_7i92.0.stepgen.02.position-fb
net y-pos-fb => joint.2.motor-pos-fb
net y-enable <= joint.2.amp-enable-out
net y-enable => hm2_7i92.0.stepgen.02.enable
# ---setup home / limit switch signals---
net both-home-y => joint.2.home-sw-in
net both-home-y => joint.2.neg-lim-sw-in
net both-home-y => joint.2.pos-lim-sw-in
#*******************
# AXIS Z JOINT 3
#*******************
setp pid.z.Pgain [JOINT_3]P
setp pid.z.Igain [JOINT_3]I
setp pid.z.Dgain [JOINT_3]D
setp pid.z.bias [JOINT_3]BIAS
setp pid.z.FF0 [JOINT_3]FF0
setp pid.z.FF1 [JOINT_3]FF1
setp pid.z.FF2 [JOINT_3]FF2
setp pid.z.deadband [JOINT_3]DEADBAND
setp pid.z.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.z.error-previous-target true
setp pid.z.maxerror .01
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_7i92.0.stepgen.03.dirsetup [JOINT_3]DIRSETUP
setp hm2_7i92.0.stepgen.03.dirhold [JOINT_3]DIRHOLD
setp hm2_7i92.0.stepgen.03.steplen [JOINT_3]STEPLEN
setp hm2_7i92.0.stepgen.03.stepspace [JOINT_3]STEPSPACE
setp hm2_7i92.0.stepgen.03.position-scale [JOINT_3]STEP_SCALE
setp hm2_7i92.0.stepgen.03.step_type 2
setp hm2_7i92.0.stepgen.03.control-type 1
setp hm2_7i92.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
setp hm2_7i92.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net z-pos-cmd <= joint.3.motor-pos-cmd
net z-vel-cmd <= joint.3.vel-cmd
net z-output <= hm2_7i92.0.stepgen.03.velocity-cmd
net z-pos-fb <= hm2_7i92.0.stepgen.03.position-fb
net z-pos-fb => joint.3.motor-pos-fb
net z-enable <= joint.3.amp-enable-out
net z-enable => hm2_7i92.0.stepgen.03.enable
# ---setup home / limit switch signals---
net both-home-z => joint.3.home-sw-in
net both-home-z => joint.3.neg-lim-sw-in
net both-home-z => joint.3.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
#net spindle-enable hm2_7i92.0.7i76.0.0.output-00
# ---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---
setp hm2_7i92.0.7i76.0.0.spinout-scalemax 24000
setp hm2_7i92.0.7i76.0.0.spinout-maxlim 24000
setp hm2_7i92.0.7i76.0.0.spinout-minlim 0
#sets spindle-at-speed true
loadrt timedelay count=1
addf timedelay.0 servo-thread
setp timedelay.0.on-delay 10
setp timedelay.0.off-delay 0
net spindle-enable => timedelay.0.in
net spindle-ready <= timedelay.0.out
net spindle-ready => spindle.0.at-speed
net spindle-enable hm2_7i92.0.7i76.0.0.spinena
net spindle-vel-cmd-rpm hm2_7i92.0.7i76.0.0.spinout
#******************************
# 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 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-out => iocontrol.0.emc-enable-in
loadrt estop_latch
addf estop-latch.0 servo-thread
net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <= hm2_7i92.0.7i76.0.0.input-00-not
# ---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 file
Warning: Spoiler!
# Generated by PNCconf at Wed Dec 4 06:18:45 2019
# Using LinuxCNC version: UNAVAILABLE
# If you make changes to this file, they will be
# overwritten when you run PNCconf again
[EMC]
MACHINE = TN1
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/fab1/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 4.0
MAX_LINEAR_VELOCITY = 10
MIN_LINEAR_VELOCITY = 0.016670
DEFAULT_ANGULAR_VELOCITY = 12.000000
MAX_ANGULAR_VELOCITY = 180.000000
MIN_ANGULAR_VELOCITY = 1.666667
EDITOR = gedit
GEOMETRY = xxyz
#OPEN_FILE = /home/fab1/CNCT_LOGO.ngc
[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_7i92.0
[HAL]
HALUI = halui
HALFILE = TN1.hal
HALFILE = custom.hal
POSTGUI_HALFILE = postgui_call_list.hal
SHUTDOWN = shutdown.hal
[HALUI]
[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XXYZ
[TRAJ]
COORDINATES = XXYZ
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 = 10
MAX_ACCELERATION = 10.0
MIN_LIMIT = -0.001
MAX_LIMIT = 96.0
[JOINT_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 10
MAX_ACCELERATION = 10.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 = 50
STEPGEN_MAXACCEL = 150
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 = 5000
STEPSPACE = 5000
STEP_SCALE = 1422.0
MIN_LIMIT = -0.001
MAX_LIMIT = 96
#HOME_OFFSET = -0.500000
#HOME_SEARCH_VEL = -1
#HOME_LATCH_VEL = -0.5
#HOME_FINAL_VEL = 1.000000
#HOME_USE_INDEX = NO
#HOME_IGNORE_LIMITS = YES
#HOME_SEQUENCE = -2
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
[JOINT_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 10
MAX_ACCELERATION = 10.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 = 50
STEPGEN_MAXACCEL = 150
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 = 5000
STEPSPACE = 5000
STEP_SCALE = -1422.0
MIN_LIMIT = -0.001
MAX_LIMIT = 96
#HOME_OFFSET = -0.500000
#HOME_SEARCH_VEL = -1
#HOME_LATCH_VEL = -0.5
#HOME_FINAL_VEL = 1.000000
#HOME_USE_INDEX = NO
#HOME_IGNORE_LIMITS = YES
#HOME_SEQUENCE = -2
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
#******************************************
#******************************************
[AXIS_Y]
MAX_VELOCITY = 10
MAX_ACCELERATION = 10.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0
[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 10
MAX_ACCELERATION = 10.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 = 50.25
STEPGEN_MAXACCEL = 150.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 = 5000
DIRHOLD = 5000
STEPLEN = 2000
STEPSPACE = 2000
STEP_SCALE = 1422.0
MIN_LIMIT = -0.001
MAX_LIMIT = 48.0
#HOME_OFFSET = -0.500000
#HOME_SEARCH_VEL = -1
#HOME_LATCH_VEL = -0.5
#HOME_FINAL_VEL = 1.000000
#HOME_USE_INDEX = NO
#HOME_IGNORE_LIMITS = YES
#HOME_SEQUENCE = -1
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
#******************************************
#******************************************
[AXIS_Z]
MAX_VELOCITY = 3.0
MAX_ACCELERATION = 8.0
MIN_LIMIT = -8.0
MAX_LIMIT = 0.001
[JOINT_3]
TYPE = LINEAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 3.0
MAX_ACCELERATION = 8.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 = 10
STEPGEN_MAXACCEL = 55
P = 1000
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 = 5000
STEPSPACE = 5000
STEP_SCALE = -7300
MIN_LIMIT = -8.0
MAX_LIMIT = 0.001
#HOME_OFFSET = -0.500000
#HOME_SEARCH_VEL = -1
#HOME_LATCH_VEL = -0.5
#HOME_FINAL_VEL = 1.000000
#HOME_USE_INDEX = NO
#HOME_IGNORE_LIMITS = YES
#HOME_SEQUENCE = -0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = 0
#******************************************
[SPINDLE_0]
P = 0
I = 0
D = 0
FF0 = 1
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 24000
OUTPUT_SCALE = 24000
OUTPUT_MIN_LIMIT = 0
OUTPUT_MAX_LIMIT = 24000
Last edit: 20 Sep 2020 14:30 by bevins.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19471
- Thank you received: 6530
20 Sep 2020 17:04 #182932
by tommylight
Replied by tommylight on topic AASD chinese ac servo's step/dir Oscilations
Omit the
....maxerror.. =0.01
lines and see if that helps.
....maxerror.. =0.01
lines and see if that helps.
The following user(s) said Thank You: bevins
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17953
- Thank you received: 4819
20 Sep 2020 19:07 - 20 Sep 2020 19:14 #182944
by PCW
Replied by PCW on topic AASD chinese ac servo's step/dir Oscilations
Looks like a drive issue (oscillations > max_ferror)
You can check this by monitoring the following error
Note step-type should be 0 for step/dir drives
1 is CW/CCW, 2 is Quadrature
You can check this by monitoring the following error
Note step-type should be 0 for step/dir drives
1 is CW/CCW, 2 is Quadrature
Last edit: 20 Sep 2020 19:14 by PCW.
The following user(s) said Thank You: bevins
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
20 Sep 2020 20:46 #182957
by bevins
Yeah, did that in the hal and it does the same thing.
Replied by bevins on topic AASD chinese ac servo's step/dir Oscilations
Omit the
....maxerror.. =0.01
lines and see if that helps.
Yeah, did that in the hal and it does the same thing.
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
20 Sep 2020 20:52 #182958
by bevins
I changed them back to step type 0. no change
I have worked on this for half the week and all weekend and cannot get these drives to be stable. I actually havent been able to change the way they act at all. These drives are fubar or I am not changing what needs to be change3d.
Here is the manual: AASD manuals
Use the AASD one. better translation.
Replied by bevins on topic AASD chinese ac servo's step/dir Oscilations
Looks like a drive issue (oscillations > max_ferror)
You can check this by monitoring the following error
Note step-type should be 0 for step/dir drives
1 is CW/CCW, 2 is Quadrature
I changed them back to step type 0. no change
I have worked on this for half the week and all weekend and cannot get these drives to be stable. I actually havent been able to change the way they act at all. These drives are fubar or I am not changing what needs to be change3d.
Here is the manual: AASD manuals
Use the AASD one. better translation.
Please Log in or Create an account to join the conversation.
- tommylight
- Online
- Moderator
Less
More
- Posts: 19471
- Thank you received: 6530
20 Sep 2020 21:26 #182968
by tommylight
Replied by tommylight on topic AASD chinese ac servo's step/dir Oscilations
Wiring according to page 20?
Any alarms going off ?
Looks like Pn002 has to be set to 2
Pn096 on page 61 has to be set to 0 for step/dir but on the wiring page it says it has to be 1 for step/dir ????
Any alarms going off ?
Looks like Pn002 has to be set to 2
Pn096 on page 61 has to be set to 0 for step/dir but on the wiring page it says it has to be 1 for step/dir ????
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
20 Sep 2020 22:31 #182974
by bevins
Pn002 is set to 2
I am using differential input mode. step +/Step- dir+/dir-
No alarms.....
I tried all three.... on Pn096
It says with differential max 500khz. Where is this changed?
I cant find any parameters that change the internal pid. I change the gain I think is P but doesn't do anything.
Replied by bevins on topic AASD chinese ac servo's step/dir Oscilations
Wiring according to page 20?
Any alarms going off ?
Looks like Pn002 has to be set to 2
Pn096 on page 61 has to be set to 0 for step/dir but on the wiring page it says it has to be 1 for step/dir ????
Pn002 is set to 2
I am using differential input mode. step +/Step- dir+/dir-
No alarms.....
I tried all three.... on Pn096
It says with differential max 500khz. Where is this changed?
I cant find any parameters that change the internal pid. I change the gain I think is P but doesn't do anything.
Please Log in or Create an account to join the conversation.
- PCW
- Away
- Moderator
Less
More
- Posts: 17953
- Thank you received: 4819
20 Sep 2020 22:45 - 20 Sep 2020 22:46 #182976
by PCW
Replied by PCW on topic AASD chinese ac servo's step/dir Oscilations
Did you determine that its an internal vs external (LinuxCNC setup) issue?
You can do this by seeing if the following error shows the oscillations
If it does, this is a LinuxCNC setup issue, if not, its a drive tuning issue
You can do this by seeing if the following error shows the oscillations
If it does, this is a LinuxCNC setup issue, if not, its a drive tuning issue
Last edit: 20 Sep 2020 22:46 by PCW.
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
20 Sep 2020 22:55 #182979
by bevins
I thought I had it nailed down to being linuxcnc setup because in jogging mode on the drive when I jog, it acts perfectly.
I will check hal scope for following error.
Replied by bevins on topic AASD chinese ac servo's step/dir Oscilations
Did you determine that its an internal vs external (LinuxCNC setup) issue?
You can do this by seeing if the following error shows the oscillations
If it does, this is a LinuxCNC setup issue, if not, its a drive tuning issue
I thought I had it nailed down to being linuxcnc setup because in jogging mode on the drive when I jog, it acts perfectly.
I will check hal scope for following error.
Please Log in or Create an account to join the conversation.
- bevins
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 1937
- Thank you received: 335
20 Sep 2020 23:01 #182982
by bevins
Replied by bevins on topic AASD chinese ac servo's step/dir Oscilations
Jogging from Drive panel works fine.
Please Log in or Create an account to join the conversation.
Time to create page: 0.089 seconds