Exceeded Position Tolerance
-
I am running a large and heavy custom 3d printer, and I'm trying to increase the speed of the X and Y motors. When increasing the values in M203, this increases the speed but it throws this error:
Warning: Driver 72.0 warning: position tolerance exceeded
My running theory is that the initial acceleration/deceleration of the motors is too fast for the given inertia, but I do not know how to fix this.
Currrently, I am just doing P control PID, should I try to add the D term? Or should I adjust the M201 term? Or...?
Thank you for your help!
For my setup, I have a Mainboard 6HC connected to 2 TDB boards, which then connect to 5 M23CL motors.
config.g
; Configuration file for RepRapFirmware on Duet 3 Main Board 6HC ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.10 on Sun Jan 19 2025 10:10:54 GMT-0800 (Pacific Standard Time) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"5axis" ; set hostname G4 S2 ;Drivers M569 P70.0 S0 R1; driver 0.0 goes forwards (X axis) M569.1 P70.0 T3 R100 I0 M569 P70.0 D4 ;M569 P71.0 S1 D2 ; driver 0.1 goes forwards (Y axis) M569 P71.0 S0 R1 M569.1 P71.0 T3 R100 I0 M569 P71.0 D4 ;M569 P72.0 S1 D2 ; driver 0.2 goes forwards (Z axis) M569 P72.0 S0 R1 M569.1 P72.0 T3 R100 I0 M569 P72.0 D4 ;M569 P73.0 S1 D2 ; driver 0.4 goes forwards (U axis) M569 P73.0 S0 R1 M569.1 P73.0 T3 R100 I0 M569 P73.0 D4 ;M569 P74.0 S1 D2 ; driver 0.5 goes forwards (V axis) M569 P74.0 S0 R1 M569.1 P74.0 T3 R100 I0 M569 P74.0 D4 ; Axes M584 X70.0 Y71.0 Z72.0 U73.0 V74.0 E75.0 ; set axis mapping M350 X16 Y16 Z16 U16 V16 I1 ; configure microstepping with interpolation M92 X640 Y640 Z1969.230 U800 V27.350 ; configure steps per mm M906 X2000 Y1500 Z1500 U1500 V1500 ; set axis driver currents M208 X0:1000 Y0:820 Z0:210 U-20:100 V-999:999 ; set minimum and maximum axis limits M566 X500 Y500 Z500 U500 V1000 ; set maximum instantaneous speed changes (mm/min) M203 X1500 Y1500 Z500 U500 V4000 ; set maximum speeds (mm/min) M201 X500 Y500 Z500 U500 V1000 ; set accelerations (mm/s^2) ; Kinematics ;M669 K8 ; configure CoreXYUV kinematics ; Endstops M574 X1 P"!io3.in" S1 ; configure X axis endstop M574 Y1 P"!io0.in" S1 ; configure Y axis endstop M574 Z2 P"!io7.in" S1 ; configure Z axis endstop M574 U0 ; configure U axis endstop M574 V0 ; configure V axis endstop G92 V0 ; set V axis to zero upon startup G92 U0 ; set V axis to zero upon startup ; Extruder M350 E16 I1 ; configure microstepping with interpolation M906 E900 ; set extruder driver currents M92 E2682 ; configure steps per mm M566 E300 ; set maximum instantaneous speed changes (mm/min) M203 E3600 ; set maximum speeds (mm/min) M201 E250 ; set accelerations (mm/s^2) ;Nozzle Temperature M308 S1 P"75.temp1" Y"thermistor" A"Nozzle" T100000 B4267 C7.06e-8 ; configure sensor #1 M950 H1 C"75.out0" T1 ; create heater #1 hotend heater M143 H1 P0 S275 A0 M143 H1 P1 S285 A2 M307 H1 R4.663 K0.549:0.000 D1.95 E1.35 S1.00 B0 ; Scanning Z Probe M558 P11 C"75.i2c.ldc1612" F36000 T36000 M558.2 K0 S15 R142937 M308 A"SZP coil" S10 Y"thermistor" P"75.temp2" ; thermistor on coil G31 Z2 X302 Y245 ; M558.2 K0 S13 R142607 M557 X292:312 Y235:255 P10 ; BL Touch Sensor M950 S2 C"75.io0.out" M558 P9 C"75.io0.in" H5 F120 T6000 G31 X0 Y0 Z3.739 P25
-
-
@ash100 you don't appear to be using the A and V parameters in your M569.1 commands. Which firmware version are you using?
-
@dc42 I am using 3.5.3
M115
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.5.3 ELECTRONICS: Duet 3 MB6HC v1.02 or 1.02a FIRMWARE_DATE: 2024-09-18 11:27:36 -
@ash100 I guess you haven't run PID tuning since you were running firmware 3.4.x. I suggest you upgrade to either 3.5.4 or 3.6.0-rc.3 and then run PID tuning again. It has changed a lot since 3.4.x so read https://docs.duet3d.com/en/User_manual/Tuning/Duet_3_1HCL_tuning#manual-tuning for instructions.