7i96 Configuration Tool

More
7 years 10 months ago #122778 by Ewok2
Replied by Ewok2 on topic 7i96 Configuration Tool
Yes you are right with 1000000 it is better.
It seem's that the tools 7i96 put it again to 100000 even if previous ini file had 1000000.

After this correction the linuxcnc open without warning, but when trying to move one axis with the manual control, I get a "joint 0 following error, emc/task/taskintf.cc 946: Error on the joint 0, command number 92"

Any idee of the pb ?

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago #122780 by PCW
Replied by PCW on topic 7i96 Configuration Tool
Can you post the generated hal and ini files?

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago #122786 by Ewok2
Replied by Ewok2 on topic 7i96 Configuration Tool
Yes of course
The ini file is below :
Code:
# This file was created with the 7i96 Wizard on Dec 23 2018 15:02:21 # Changes to most things are ok and will be read by the wizard [EMC] VERSION = 1.1 MACHINE = schugart_LinuxCNC DEBUG = 0x00000000 [HOSTMOT2] DRIVER = hm2_eth IPADDRESS = "10.10.10.10" BOARD = 7i96 STEPGENS = 3 ENCODERS = 1 SSERIAL_PORT = 1 [DISPLAY] DISPLAY = axis POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_FEED_OVERRIDE = 2.0 CYCLE_TIME = 0.1 INTRO_GRAPHIC = emc2.gif INTRO_TIME = 0 OPEN_FILE = "" [KINS] KINEMATICS = trivkins JOINTS = 3 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = schugart_LinuxCNC.tbl [RS274NGC] PARAMETER_FILE = schugart_LinuxCNC.var [EMCMOT] EMCMOT = motmod SERVO_PERIOD = 1000000 [TASK] TASK = milltask CYCLE_TIME = 0.010 [TRAJ] COORDINATES = XYZ LINEAR_UNITS = metric ANGULAR_UNITS = degree MAX_LINEAR_VELOCITY = 50.00 [HAL] HALFILE = schugart_LinuxCNC.hal HALFILE = io.hal HALFILE = custom.hal HALFILE = postgui.hal [HALUI] [AXIS_X] MIN_LIMIT = -0.01 MAX_LIMIT = 345.0 MAX_VELOCITY = 50.0 MAX_ACCELERATION = 750.0 [AXIS_Y] MIN_LIMIT = -0.01 MAX_LIMIT = 250.0 MAX_VELOCITY = 50.0 MAX_ACCELERATION = 750.0 [AXIS_Z] MIN_LIMIT = -10.01 MAX_LIMIT = 35.0 MAX_VELOCITY = 15.0 MAX_ACCELERATION = 500.0 [JOINT_0] AXIS = X MIN_LIMIT = -0.01 MAX_LIMIT = 345.0 MAX_VELOCITY = 50.0 MAX_ACCELERATION = 750.0 TYPE = LINEAR SCALE = 1 STEPGEN_MAX_VEL = 60.0 STEPGEN_MAX_ACC = 900.0 FERROR = 0.0002 MIN_FERROR = 0.0001 DIRSETUP = 20000 DIRHOLD = 20000 STEPLEN = 4000 STEPSPACE = 1000 DEADBAND = 0 P = 1000 I = 0 D = 0 FF0 = 0 FF1 = 1 FF2 = 0.00013 BIAS = 0 MAX_OUTPUT = 0 MAX_ERROR = 0.0127 HOME = 0.0 HOME_OFFSET = 0.0 HOME_USE_INDEX = False HOME_IGNORE_LIMITS = False [JOINT_1] AXIS = Y MIN_LIMIT = -0.01 MAX_LIMIT = 250.0 MAX_VELOCITY = 50.0 MAX_ACCELERATION = 750.0 TYPE = LINEAR SCALE = 1 STEPGEN_MAX_VEL = 60.0 STEPGEN_MAX_ACC = 900.0 FERROR = 0.0002 MIN_FERROR = 0.0001 DIRSETUP = 20000 DIRHOLD = 20000 STEPLEN = 4000 STEPSPACE = 1000 DEADBAND = 0 P = 1000 I = 0 D = 0 FF0 = 0 FF1 = 1 FF2 = 0.00013 BIAS = 0 MAX_OUTPUT = 0 MAX_ERROR = 0.0127 HOME = 0.0 HOME_OFFSET = 0.0 HOME_USE_INDEX = False HOME_IGNORE_LIMITS = False [JOINT_2] AXIS = Z MIN_LIMIT = -10.01 MAX_LIMIT = 35.0 MAX_VELOCITY = 15.0 MAX_ACCELERATION = 500.0 TYPE = LINEAR SCALE = 1 STEPGEN_MAX_VEL = 18.0 STEPGEN_MAX_ACC = 600.0 FERROR = 0.0002 MIN_FERROR = 0.0001 DIRSETUP = 20000 DIRHOLD = 20000 STEPLEN = 4000 STEPSPACE = 1000 DEADBAND = 0 P = 1000 I = 0 D = 0 FF0 = 0 FF1 = 1 FF2 = 0.00013 BIAS = 0 MAX_OUTPUT = 0 MAX_ERROR = 0.0127 HOME = 0.0 HOME_OFFSET = 0.0 HOME_USE_INDEX = False HOME_IGNORE_LIMITS = False [INPUTS] # DO NOT change the input text INPUT_0 = None INPUT_JOINT_0 = False INPUT_1 = None INPUT_JOINT_1 = False INPUT_2 = None INPUT_JOINT_2 = False INPUT_3 = None INPUT_JOINT_3 = False INPUT_4 = None INPUT_JOINT_4 = False INPUT_5 = None INPUT_JOINT_5 = False INPUT_6 = None INPUT_JOINT_6 = False INPUT_7 = None INPUT_JOINT_7 = False INPUT_8 = None INPUT_JOINT_8 = False INPUT_9 = None INPUT_JOINT_9 = False INPUT_10 = None INPUT_JOINT_10 = False [OUTPUTS] # DO NOT change the output text OUTPUT_0 = None OUTPUT_1 = None OUTPUT_2 = None OUTPUT_3 = None OUTPUT_4 = None [OPTIONS] MANUAL_TOOL_CHANGE = False HALUI = False PYVCP = False GLADEVCP = False LADDER = False

The Hal file is below
Code:
# This file was created with the 7i96 Wizard on Dec 23 2018 15:02:21 # If you make changes to this file your screwed # kinematics loadrt [KINS]KINEMATICS # motion controller loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS # standard components loadrt pid num_chan=3 # hostmot2 driver loadrt hostmot2 loadrt [HOSTMOT2](DRIVER) board_ip=[HOSTMOT2](IPADDRESS) config="num_encoders=[HOSTMOT2](ENCODERS)num_stepgens=[HOSTMOT2](STEPGENS)"sserial_port_0=[HOSTMOT2](SSERIAL_PORT) setp hm2_[HOSTMOT2](BOARD).0.watchdog.timeout_ns 25000000 # THREADS addf hm2_[HOSTMOT2](BOARD).0.read servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf pid.0.do-pid-calcs servo-thread addf pid.1.do-pid-calcs servo-thread addf pid.2.do-pid-calcs servo-thread addf hm2_[HOSTMOT2](BOARD).0.write servo-thread # Joint 0 # axis enable chain newsig emcmot.0.enable bit sets emcmot.0.enable FALSE net emcmot.0.enable <= joint.0.amp-enable-out net emcmot.0.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.00.enable pid.0.enable # position command and feedback net emcmot.0.pos-cmd joint.0.motor-pos-cmd => pid.0.command net motor.0.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-fb joint.0.motor-pos-fb pid.0.feedback net motor.0.command pid.0.output hm2_[HOSTMOT2](BOARD).0.stepgen.00.velocity-cmd setp pid.0.error-previous-target true setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirsetup [JOINT_0]DIRSETUP setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.dirhold [JOINT_0]DIRHOLD setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.steplen [JOINT_0]STEPLEN setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.stepspace [JOINT_0]STEPSPACE setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.position-scale [JOINT_0]SCALE setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAX_VEL setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAX_ACC setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0 setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.control-type 1 setp pid.0.Pgain [JOINT_0]P setp pid.0.Igain [JOINT_0]I setp pid.0.Dgain [JOINT_0]D setp pid.0.bias [JOINT_0]BIAS setp pid.0.FF0 [JOINT_0]FF0 setp pid.0.FF1 [JOINT_0]FF1 setp pid.0.FF2 [JOINT_0]FF2 setp pid.0.deadband [JOINT_0]DEADBAND setp pid.0.maxoutput [JOINT_0]MAX_OUTPUT setp pid.0.maxerror [JOINT_0]MAX_ERROR # Joint 1 # axis enable chain newsig emcmot.1.enable bit sets emcmot.1.enable FALSE net emcmot.1.enable <= joint.1.amp-enable-out net emcmot.1.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable pid.1.enable # position command and feedback net emcmot.1.pos-cmd joint.1.motor-pos-cmd => pid.1.command net motor.1.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb joint.1.motor-pos-fb pid.1.feedback net motor.1.command pid.1.output hm2_[HOSTMOT2](BOARD).0.stepgen.01.velocity-cmd setp pid.1.error-previous-target true setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup [JOINT_1]DIRSETUP setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold [JOINT_1]DIRHOLD setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen [JOINT_1]STEPLEN setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace [JOINT_1]STEPSPACE setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale [JOINT_1]SCALE setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAX_VEL setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAX_ACC setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type 0 setp hm2_[HOSTMOT2](BOARD).0.stepgen.01.control-type 1 setp pid.1.Pgain [JOINT_1]P setp pid.1.Igain [JOINT_1]I setp pid.1.Dgain [JOINT_1]D setp pid.1.bias [JOINT_1]BIAS setp pid.1.FF0 [JOINT_1]FF0 setp pid.1.FF1 [JOINT_1]FF1 setp pid.1.FF2 [JOINT_1]FF2 setp pid.1.deadband [JOINT_1]DEADBAND setp pid.1.maxoutput [JOINT_1]MAX_OUTPUT setp pid.1.maxerror [JOINT_1]MAX_ERROR # Joint 2 # axis enable chain newsig emcmot.2.enable bit sets emcmot.2.enable FALSE net emcmot.2.enable <= joint.2.amp-enable-out net emcmot.2.enable => hm2_[HOSTMOT2](BOARD).0.stepgen.02.enable pid.2.enable # position command and feedback net emcmot.2.pos-cmd joint.2.motor-pos-cmd => pid.2.command net motor.2.pos-fb <= hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-fb joint.2.motor-pos-fb pid.2.feedback net motor.2.command pid.2.output hm2_[HOSTMOT2](BOARD).0.stepgen.02.velocity-cmd setp pid.2.error-previous-target true setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirsetup [JOINT_2]DIRSETUP setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.dirhold [JOINT_2]DIRHOLD setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.steplen [JOINT_2]STEPLEN setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.stepspace [JOINT_2]STEPSPACE setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.position-scale [JOINT_2]SCALE setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAX_VEL setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAX_ACC setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.step_type 0 setp hm2_[HOSTMOT2](BOARD).0.stepgen.02.control-type 1 setp pid.2.Pgain [JOINT_2]P setp pid.2.Igain [JOINT_2]I setp pid.2.Dgain [JOINT_2]D setp pid.2.bias [JOINT_2]BIAS setp pid.2.FF0 [JOINT_2]FF0 setp pid.2.FF1 [JOINT_2]FF1 setp pid.2.FF2 [JOINT_2]FF2 setp pid.2.deadband [JOINT_2]DEADBAND setp pid.2.maxoutput [JOINT_2]MAX_OUTPUT setp pid.2.maxerror [JOINT_2]MAX_ERROR # Standard I/O Block - EStop, Etc # create a signal for the estop loopback net estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in

Thanks for your help

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago - 7 years 10 months ago #122787 by PCW
Replied by PCW on topic 7i96 Configuration Tool
These are likely the problem:

FERROR = 0.0002
MIN_FERROR = 0.0001

These numbers make sense for inch machines but not for mm.
I would scale them up by 25X and see how you do

In addition, for minimum following error I would enable the DPLL:

# latch stepgen position 100 usec before nominal read time (- means before):
setp hm2_[HOSTMOT2](BOARD).0.dpll.01.timer-us -100
setp hm2_[HOSTMOT2](BOARD).0.stepgen.timer-number 1
Last edit: 7 years 10 months ago by PCW.

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago #122792 by Ewok2
Replied by Ewok2 on topic 7i96 Configuration Tool
Thanks, no more error but It should be something else with inches constant.
The motor make noise but does not move

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago - 7 years 10 months ago #122795 by PCW
Replied by PCW on topic 7i96 Configuration Tool
That may be an indication that your acceleration or velocity is too high and the step motors are stalling

(With you current acceleration settings, you get to full speed in 66.6 ms, this sounds a bit aggressive to me)
Last edit: 7 years 10 months ago by PCW.
The following user(s) said Thank You: Ewok2

Please Log in or Create an account to join the conversation.

Moderators: PCW, jmelson
Time to create page: 0.239 seconds
Powered by Kunena Forum