Dear All,
I'm back to get some help, I've tried to use my 2 phases 1.8° 12Nm stepmotor in closed loop on linuxcnc I have connected 600 lines encoder to get the feedback for my stone lathe. This encoder is connected directly to the back of the motor My driver is a leadshine MD2278 with a selector to set 400 step/rev (default) to 10000 step/rev so it's possible to adjust the encoder resolution (2400pts/rev) to the encoder (2400 pulse/rev) I have tried to use the etch-servo config to control my step motor as servo motor When I tried to move the motor I have a fallowing error I have tried to change the parameters in the INI file but it doesn't really change My important axis is the A axis Can someone can give me help ? There are my config file I've removed the other axis because that will be same for the other axis : thanks a lot HAL # load realtime modules # kinematics loadrt trivkins loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES loadrt hal_parport cfg="0x378 out" loadrt encoder num_chan=1 loadrt pid num_chan=1 loadrt pwmgen output_type=1 loadrt ddt count=2 loadrt constant count=1 # define the order of execution for RT code addf parport.0.read base-thread addf encoder.update-counters base-thread addf pwmgen.make-pulses base-thread addf parport.0.write base-thread addf encoder.capture-position servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf pid.0.do-pid-calcs servo-thread addf constant.0 servo-thread addf pwmgen.update servo-thread addf ddt.0 servo-thread addf ddt.1 servo-thread # hook stuff together newsig Apos-fb float setp encoder.0.position-scale [AXIS_3]INPUT_SCALE net enc0A encoder.0.phase-A <= parport.0.pin-10-in net enc0B encoder.0.phase-B <= parport.0.pin-11-in linksp Apos-fb <= encoder.0.position newsig Avel-cmd float linksp Apos-fb => pid.0.feedback linksp Apos-fb => axis.3.motor-pos-fb linksp Avel-cmd <= pid.0.output linksp Avel-cmd => pwmgen.0.value newsigApwm bit linkps pwmgen.0.pwm Apwm newsig Adir bit linkps pwmgen.0.dir => Adir linksp Adir => parport.0.pin-05-out #linksp Adir => parport.0.pin-07-out setp parport.0.pin-07-out-invert TRUE linksp Apwm => parport.0.pin-04-out setp pid.0.maxoutput 1.0 # the values below come from the ini setp pid.0.Pgain [AXIS_3]P setp pid.0.Igain [AXIS_3]I setp pid.0.Dgain [AXIS_3]D setp pid.0.bias [AXIS_3]BIAS setp pid.0.FF0 [AXIS_3]FF0 setp pid.0.FF1 [AXIS_3]FF1 setp pid.0.FF2 [AXIS_3]FF2 setp pid.0.deadband [AXIS_3]DEADBAND newsig Apos-cmd float linksp Apos-cmd <= axis.3.motor-pos-cmd linkps pid.0.command <= Apos-cmd newsig Aenable bit linkps axis.3.amp-enable-out => Aenable linksp Aenable => pid.0.enable linksp Aenable => pwmgen.0.enable net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in newsig Avel float newsig Aacc float linksp Apos-cmd => ddt.0.in linkps ddt.0.out => Avel linksp Avel => ddt.1.in linkps ddt.1.out => Aacc net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed INI [EMC] #- Version of this INI file VERSION = $Revision$ #+ Name of machine, for use with display, etc. MACHINE = EMC-ETCH-SERVO #+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others DEBUG = 0 [DISPLAY] #+ Name of display program, e.g., xemc DISPLAY = axis CYCLE_TIME = 0.200 OPEN_FILE = "" #- Path to help file HELP_FILE = doc/help.txt #- Initial display setting for position, RELATIVE or MACHINE POSITION_OFFSET = RELATIVE #- Initial display setting for position, COMMANDED or ACTUAL POSITION_FEEDBACK = ACTUAL #+ Highest value that will be allowed for feed override, 1.0 = 100% MAX_FEED_OVERRIDE = 10 #- Prefix to be used PROGRAM_PREFIX = /home/elhima/emc2/nc_files #- Introductory graphic INTRO_GRAPHIC = emc2.gif INTRO_TIME = 5 # Editor to be used with Axis EDITOR = gedit [TASK] # Name of task controller program, e.g., milltask TASK = milltask #- Cycle time, in seconds, that task controller will sleep between polls CYCLE_TIME = 0.010 [RS274NGC] #- File containing interpreter variables PARAMETER_FILE = etch.var [EMCMOT] #- Name of the motion controller to use (only one exists for nontrivkins) EMCMOT = motmod #- Timeout for comm to emcmot, in seconds COMM_TIMEOUT = 1.0 #- Interval between tries to emcmot, in seconds COMM_WAIT = 0.010 #+ Base task period, in nanosecs - this is the fastest thread in the machine BASE_PERIOD = 100000 #- Servo task period, in nanosecs - will be rounded to an int multiple of BASE_PERIOD SERVO_PERIOD = 1000000 [HAL] HALFILE = etch.hal [TRAJ] #+ machine specific settings AXES = 4 COORDINATES = A HOME = 0 0 LINEAR_UNITS = mm ANGULAR_UNITS = degree CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 1 MAX_VELOCITY = 30 DEFAULT_ACCELERATION = 15.0 MAX_ACCELERATION = 20.0 ############################################################################### # Axes sections ############################################################################### [AXIS_3] TYPE = ANGULAR HOME = 0.000 MAX_VELOCITY = 30 MAX_ACCELERATION = 50 BACKLASH = 0.000 INPUT_SCALE = 6.666666667 #### (600x4=2400/360) OUTPUT_SCALE = 1.000 MIN_LIMIT = -9999 MAX_LIMIT = 9999 FERROR = 1 MIN_FERROR = 0.3 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO P = 1 I = 0 D = 0 BIAS = 0.0 FF0 = 0 FF1 = 1 FF2 = 0.0 DEADBAND= 0.3 ############################################################################### # section for main IO controller parameters ############################################################################### [EMCIO] #- Name of IO controller program, e.g., io EMCIO = io #- cycle time, in seconds CYCLE_TIME = 0.100 #- tool table file TOOL_TABLE = etch.tbl Cordialement, Moustapha Elhima +33 6 09 99 21 97 P Penser à préserver l'environnement avant d'imprimer ce message. Merci ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers