# Edit 11.10.22 add homing. # Edit 12.12.22 Added Max rapid override. [EMC] MACHINE = Schaublin_125-CNC DEBUG = 0 VERSION = 1.1 [DISPLAY] DISPLAY = gmoccapy 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/schaublin/linuxcnc/nc_files INCREMENTS = 1mm .1mm .01mm .001mm LATHE = 1 POSITION_FEEDBACK = ACTUAL DEFAULT_LINEAR_VELOCITY = 10 MAX_LINEAR_VELOCITY = 50 MIN_LINEAR_VELOCITY = 0.500000 DEFAULT_ANGULAR_VELOCITY = 12.000000 MAX_ANGULAR_VELOCITY = 180.000000 MIN_ANGULAR_VELOCITY = 1.666667 MAX_RAPID_OVERRIDE = 100 DEFAULT_SPINDLE_0_SPEED= 50 DEFAULT_SPINDLE_SPEED = 50 MAX_SPINDLE_0_SPEED = 70 MIN_SPINDLE_0_SPEED = 10 SPINDLE_0_SPEED = 70 MAX_SPINDLE_0_OVERRIDE = 70 MIN_SPINDLE_0_OVERRIDE = 10 EDITOR = gedit CYCLE_TIME = 100 GEOMETRY = xz EMBED_TAB_NAME = Cycles EMBED_TAB_LOCATION = ntb_preview EMBED_TAB_COMMAND = halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -U notouch=1 -U norun=0 -u lathehandler.py -x {XID} lathemacro.ui MESSAGE_BOLDTEXT = BACK GEAR NOT ENGAGED MESSAGE_TEXT = Check pneumatic pressure and that gearbox is free to shift. MESSAGE_TYPE = okdialog MESSAGE_PINNAME = backgear-fault [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 IO_ERROR [RS274NGC] PARAMETER_FILE = linuxcnc.var SUBROUTINE_PATH = macros FEATURES = 12 RS274NGC_STARTUP_CODE = G7 G18 G21 G40 G49 G54 G64 P0.1 G80 G90 G91.1 G94 G97 G99 [MACROS] [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 SERVO_PERIOD = 1000000 [HMOT] # **** This is for info only **** CARD0=hm2_7i92.0 [HAL] HALUI = halui HALFILE = Schaublin_125-CNC.hal HALFILE = custom.hal POSTGUI_HALFILE = postgui_call_list.hal SHUTDOWN = shutdown.hal [HALUI] [KINS] JOINTS = 2 KINEMATICS = trivkins coordinates=XZ [TRAJ] COORDINATES = XZ LINEAR_UNITS = mm ANGULAR_UNITS = degree DEFAULT_LINEAR_VELOCITY = 10 MAX_LINEAR_VELOCITY = 50 [EMCIO] EMCIO = io PROTOCOL_VERSION = 2 CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl #TOOL_CHANGE_POSITION = 180 300 #****************************************** [AXIS_X] MAX_VELOCITY = 50 MAX_ACCELERATION = 375 MIN_LIMIT = -4 MAX_LIMIT = 180 [JOINT_0] TYPE = LINEAR HOME = 175 HOME_SEARCH_VEL = 30 HOME_LATCH_VEL = 5 HOME_FINAL_VEL = 50 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = YES HOME_OFFSET = 181 HOME_SEQUENCE = 0 FERROR = 1 MIN_FERROR = 1.0 MAX_VELOCITY = 50 MAX_ACCELERATION = 375 P = 17 I = 5 D = 0 FF0 = 0 FF1 = 0.199 FF2 = 0.0009 BIAS = 0 DEADBAND = 1e-06 MAX_OUTPUT = 10 ENCODER_SCALE = 5000 OUTPUT_SCALE = -10 OUTPUT_MIN_LIMIT = -10 OUTPUT_MAX_LIMIT = 10 MIN_LIMIT = -4 MAX_LIMIT = 180.0 #****************************************** #****************************************** [AXIS_Z] MAX_VELOCITY = 50 MAX_ACCELERATION = 750 MIN_LIMIT = 0 MAX_LIMIT = 445 [JOINT_1] TYPE = LINEAR HOME = 400 HOME_SEARCH_VEL = 30 HOME_LATCH_VEL = 5 HOME_FINAL_VEL = 50 HOME_USE_INDEX = YES HOME_IGNORE_LIMITS = NO HOME_OFFSET = 410 HOME_SEQUENCE = 1 FERROR = 1 MIN_FERROR = 1 MAX_VELOCITY = 50 MAX_ACCELERATION = 750 P = 30 I = 0 D = 0 FF0 = 0 FF1 = 0.2 FF2 = 0.0011 BIAS = 0 DEADBAND = 1e-06 MAX_OUTPUT = 10 ENCODER_SCALE = 5000 OUTPUT_SCALE = 10 OUTPUT_MIN_LIMIT = -10 OUTPUT_MAX_LIMIT = 10 MIN_LIMIT = 0 MAX_LIMIT = 445 #****************************************** # ============================================================================= # INI additions – paste into your existing [SPINDLE_0] section # (replace the current stub section entirely) # # System: # Motor: 4-pole, 50 Hz → 1500 RPM (so 30 RPM/Hz) # VFD range: 10 – 70 Hz → 300 – 2100 motor RPM # Gearbox: 1:1 (high) or 6.5:1 (backgear/low) # CVT: variable, no feedback, slow (~5 s full travel) # Spindle encoder: 8000 counts/rev # ============================================================================= # ============================================================================= # INI additions – paste into your existing [SPINDLE_0] section # (replace the current stub section entirely) # # System: # Motor: 4-pole, 50 Hz → 1500 RPM (so 30 RPM/Hz) # VFD range: 10 – 70 Hz → 300 – 2100 motor RPM # Gearbox: 1:1 (high) or 6.5:1 (backgear/low) # CVT: variable, no feedback, slow (~5 s full travel) # Spindle encoder: 8000 counts/rev # ============================================================================= # ============================================================================= # [SPINDLE_0] section for schaublin_125-CNC.ini # Replace the existing [SPINDLE_0] section entirely with this block. # # Measured drivetrain data (high gear = 1:1 gearbox): # High gear, slowest CVT, 70 Hz -> 776 RPM ratio = 2100/776 = 2.706 # High gear, fastest CVT, 29 Hz -> 1765 RPM ratio = 870/1765 = 0.493 # Backgear multiplies ratio by 6.5: # Backgear, slowest CVT -> ratio = 2.706 * 6.5 = 17.59 # Backgear, fastest CVT -> ratio = 0.493 * 6.5 = 3.20 # # Spindle RPM ranges (10-70 Hz): # High gear, slowest CVT: 111 - 776 RPM # High gear, fastest CVT: 608 - 4257 RPM (clamped to 3000 by comp) # Backgear, slowest CVT: 17 - 119 RPM # Backgear, fastest CVT: 94 - 656 RPM # ============================================================================= [SPINDLE_0] # ── Encoder ─────────────────────────────────────────────────────────────────── ENCODER_SCALE = 8000 # ── VFD / Motor ─────────────────────────────────────────────────────────────── VFD_MIN_HZ = 10.0 VFD_MAX_HZ = 70.0 # 4-pole 50Hz motor: 1500 RPM at 50Hz = 30 RPM/Hz MOTOR_RPM_PER_HZ = 30.0 MAX_MOTOR_RPM = 2100.0 MAX_SPINDLE_RPM = 3000.0 # ── Analog output scaling ────────────────────────────────────────────────────── # 10V / 2100 RPM = 0.004762 ANALOG_SCALE_GAIN = 0.004762 # ── Open-loop startup ───────────────────────────────────────────────────────── STARTUP_HZ = 10.0 OL_STABLE_TIME = 1.0 OL_STABLE_BAND = 5.0 OL_MAX_TIME = 3.0 # ── Ratio learning ──────────────────────────────────────────────────────────── RATIO_FIRST = 1.3 RATIO_ALPHA = 0.02 RATIO_FREEZE_TIME = 3.0 RATIO_GATE_TIME = 4.0 RATIO_MIN = 0.4 RATIO_MAX = 80.0 # ── PID gains ───────────────────────────────────────────────────────────────── KP = 1.0 KI = 0.03 DEADBAND_RPM = 30.0 MAX_I_ERROR = 200.0 # ── CVT auto-control ────────────────────────────────────────────────────────── CVT_TARGET_HZ = 50.0 CVT_HZ_BAND = 5.0 CVT_HZ_BAND_BG = 10.0 # Calibrate from survey data. Start conservative (longer pulses). CVT_HZ_PER_SEC = 20.0 CVT_PULSE_MIN = 0.1 CVT_PULSE_MAX = 4.0 CVT_SETTLE_TIME = 4.0 # ── Backgear ────────────────────────────────────────────────────────────────── BACKGEAR_THRESHOLD = 300.0 # High gear ratio 0.5-2.7, backgear ratio 3.2-17.6, threshold safe at 3.0 BACKGEAR_RATIO_MIN = 3.7 BG_ENGAGE_TIME = 1.0 # Max spindle RPM to allow manual gear change (effectively stopped) BG_SPIN_THRESHOLD = 5 [MOTION] motion.digital-out-03 NUM_DIGITAL_OUTPUTS = 4