# EMC controller parameters for UPC with threading. # Modified and intended for use only with Kirk Wallace's HNC lathe - KW 20070823 # General section ------------------------------------------------------------- [EMC] VERSION = $Revision: 1.6 $ MACHINE = HNC-3a-UPC-Thread NML_FILE = emc.nml # Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others DEBUG = 0x00000001 # DEBUG = 0x00000007 # DEBUG = 0x7FFFFFFF # Sections for display options ------------------------------------------------ [DISPLAY] DISPLAY = axis LATHE = 1 PYVCP = spindle.xml # DISPLAY = usrmot # DISPLAY = tkemc CYCLE_TIME = 0.100 HELP_FILE = doc/help.txt POSITION_OFFSET = RELATIVE POSITION_FEEDBACK = ACTUAL MAX_FEED_OVERRIDE = 1.2 PROGRAM_PREFIX = ../../nc_files/ INTRO_GRAPHIC = emc2.gif INTRO_TIME = 2 BALLOON_HELP = 1 # Task controller section ----------------------------------------------------- [TASK] TASK = milltask CYCLE_TIME = 0.010 [RS274NGC] PARAMETER_FILE = hnc-3a.var [EMCMOT] EMCMOT = motmod SHMEM_KEY = 111 COMM_TIMEOUT = 1.0 COMM_WAIT = 0.010 BASE_PERIOD = 50000 SERVO_PERIOD = 1000000 TRAJ_PERIOD = 10000000 [HAL] HALFILE = hnc_load-3a.hal # HALFILE = univpwm_save.hal HALFILE = hnc_servo-3a.hal HALFILE = hnc_motion-3a.hal HALFILE = hnc_io-3a.hal POSTGUI_HALFILE = spindle_to_pyvcp.hal # list of halcmd commands to execute # commands are executed in the order in which they appear #HALCMD = save neta [TRAJ] AXES = 3 COORDINATES = X Y Z HOME = 0 0 0 LINEAR_UNITS = 0.03937007874016 ANGULAR_UNITS = 1.0 CYCLE_TIME = 0.010 DEFAULT_VELOCITY = 0.50 # units/second MAX_VELOCITY = 4.0 # units/second DEFAULT_ACCELERATION = 3.0 # units/second^2 MAX_ACCELERATION = 7.0 # units/second^2 PROBE_INDEX = 0 PROBE_POLARITY = 1 POSITION_FILE = position.txt # Axes sections --------------------------------------------------------------- # Important note about OUTPUT_SCALE and PWM_OUTPUT_SCALE # For this configuration, OUTPUT_SCALE is not used, because # EMC always overwrites it on shutdown. So PWM_OUTPUT_SCALE # was added to hold the scaling. Someday the OUTPUT_SCALE # issue may be fixed, and PWM_OUTPUT_SCALE will go away. # Scaling: The PWM_OUTPUT_SCALE should be the speed # in UNITS/second (inches/sec or mm/sec) that would be # reached if the PWM duty cycle was 100%. It depends on # the power supply voltage, motor RPM/Volt factor, and # gearing/screw pitch. For example: # # Power supply voltage 50V # Motor RPM/V 1000RPM/24V # Gearing: 2 motor revs per 1 screw rev # Screw pitch: 0.2" per turn # # Max motor speed = 50V * 1000RPM/24V = 2083 RPM # Max screw speed = 2083RPM * 1(screw)/2(motor) = 1041RPM # Max table speed = 1041RPM * 0.2"/turn = 208 in/min # Max table speed = 208 in/min / 60 seconds = 3.47 inches/sec # # Since max speed is reached at 100% duty cycle, PWM_OUTPUT_SCALE # should be 3.47 # First axis [AXIS_0] TYPE = LINEAR UNITS = 0.03937007874016 HOME = 0.000 MAX_VELOCITY = 3.0 MAX_ACCELERATION = 6.0 PID_MAX_VEL = 100 BACKLASH = 0.000 CYCLE_TIME = 0.001000 INPUT_SCALE = 50000 OUTPUT_SCALE = -1 PWM_OUTPUT_SCALE = -1 MIN_LIMIT = -12.0 MAX_LIMIT = 10.0 FERROR = 0.005 MIN_FERROR = 0.002 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.8 HOME_LATCH_VEL = -0.06 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = NO DEADBAND = 1e-06 P = 250 I = 0 D = 1 BIAS = 0 FF0 = 0 FF1 = 0.25 FF2 = 0.002 # Second axis [AXIS_1] TYPE = LINEAR UNITS = 0.03937007874016 HOME = 0.000 MAX_VELOCITY = 1.20 MAX_ACCELERATION = 2.0 PID_MAX_VEL = 1.2 BACKLASH = 0.000 CYCLE_TIME = 0.001000 INPUT_SCALE = -128000 OUTPUT_SCALE = 1.000 PWM_OUTPUT_SCALE = -1 MIN_LIMIT = -10.0 MAX_LIMIT = 10.0 FERROR = 0.002 MIN_FERROR = 1.005 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.0 HOME_LATCH_VEL = 0.0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = NO DEADBAND = 1e-06 P = 1600 I = 30 D = 10 BIAS = 0 FF0 = 0 FF1 = 0.6 FF2 = 0.08 # Third axis [AXIS_2] TYPE = LINEAR UNITS = 0.03937007874016 HOME = 0.000 MAX_VELOCITY = 3.0 MAX_ACCELERATION = 6.0 PID_MAX_VEL = 100 BACKLASH = 0.000 CYCLE_TIME = 0.001000 INPUT_SCALE = 50000 OUTPUT_SCALE = 1 PWM_OUTPUT_SCALE = 1 MIN_LIMIT = -10.0 MAX_LIMIT = 10.0 FERROR = 0.005 MIN_FERROR = 0.002 HOME_OFFSET = 0.0 HOME_SEARCH_VEL = 0.8 HOME_LATCH_VEL = -0.06 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = NO DEADBAND = 1e-06 P = 210 I = 0 D = 1.3 BIAS = 0 FF0 = 0 FF1 = 0.25 FF2 = 0.002 [SPINDLE] # Encoder INPUT_SCALE = -5000 OUTPUT_SCALE = 1 # DAC output to VFD DAC_SCALE = 320 [TURRET] STOP_SETTLE = 200 PARK_SETTLE = 200 [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = hnc-3a.tbl # TOOL_CHANGE_POSITION = 4 0 6 [EMCSERVER] # Uncomment the following line if you need to run a remote GUI. # EMCSERVER = emcsvr