Axis limits 20 less than supposed to be
-
I recently started a project building a 400x400 Cartesian 3d printer and have had some issues with axis limits. In my config file I have the limits set to 400X 400Y (Z Has no issues), but in practice the effected axes will only go as far as 380. The X axis will also home at -5X rather than 0. Any help would be happily accepted, thanks!
Config file and images included
G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Marvin the Paranoid Android" ; set printer name M918 P1 E4 F2000000 ; configure direct-connect display ; Network M551 ; set password M552 S1 P0.0.0.0 ; enable network and set IP address M553 P255.255.255.0 ; set netmask M554 P192.168.1.129 ; set gateway M586 P0 H1 ; enable HTTP M586 P1 H1 ; enable FTP M586 P2 H0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S0 ; physical drive 1 goes backwards M569 P2 S1 ; physical drive 2 goes backwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S1 M584 X0 Y1 Z2:4 E3 ; set drive mapping M350 X32 Y32 Z32 E16 I0 ; configure microstepping without interpolation M92 X155 Y144 Z1200 E96 ; set steps per mm M566 X1000.00 Y900.00 Z600.00 E240.00 ; set maximum instantaneous speed changes (mm/min) M203 X3000.00 3000.00 Z700.00 E3000.00 ; set maximum speeds (mm/min) M201 X1200.00 Y1200.00 Z300.00 E240.00 ; set accelerations (mm/s^2) M906 X1400 Y1400 Z1200 E1000 I50 ; set motor currents (mA) and motor idle factor in per cent M84 S60 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 H1 ; set axis minima M208 X400 Y400 Z480 H0 ; set axis maxima ; Endstops M574 X1 P"xstop" S1 ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y2 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop M574 Z1 P"zstop" S1 ; configure unsupported switch-type endstop for low end on Z via pin null M558 P5 H5 F120 C"!zprobe.in" T6000 ; Z-Probe G31 P500 X0 Y-50 Z1.85 ; set Z probe trigger value, offset and trigger height M557 X15:390 Y15:390 S30 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B3988 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B4006 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S260 ; set temperature limit for heater 1 to 260C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0.8 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q250 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1.0 H1 T150 M950 F2 C"fan2" Q500 M106 P2 S0.8 ; set fan 1 value. Thermostatic control is turned on ; set fan 2 value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings M929 P"eventlog.txt" S1 ; Filament sensor M591 D0 P2 C"e0stop" S0 ; Miscellaneous M501 ; load saved parameters from non-volatile memory T0 ; select first tool ; Z Axis Leveling M584 X0 Y1 Z2:4 ; two Z motors connected to driver outputs Z M671 X-20:220 Y0:0 S5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M208 X-5:380 Y0:380 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200
-
@DatTurtle said in Axis limits 20 less than supposed to be:
M208 X-5:380 Y0:380 ; X carriage moves from -5 to 205, Y bed goes from 0 to 200
The last line of your config is overwriting your M208 settings to -5 to 380
-
If the nozzle is 5mm off the bed in X when at the endstop you can change your axis minima to be -5, which puts the 0 position just on the bed. That gets you back 5mm.
To measure the actual amount of axis length you have, move the nozzle to just be on the 0 point of the axis at the edge, send G92 X0, and then move the axis as far as you can to the other end until you get the nozzle to the edge of the bed, or you hit a physical stop. whatever your axis value is, that's your limit for M208 maxima.
Some areas of the bed just may not be physically reachable by the nozzle.