Home position corrupted on restart in 3.4rc1
-
Upgraded from 2.x this week. (What can I say, it was working for me. ) Now seeing issue and error on restarting, happens both after restarting by changing config.g or by hitting emergency stop.
Printer is a delta with ~325mm of vertical travel. Duet 2, Smart Effector.
Restart applies the location set in the config at boot (X0Y0Z325), but then on homing it sets the coordinates to an odd value and then raises an error.
Example:
Printer is homed, coords x0y0z319.5
G1Z50, coords X0Y0Z50
Edit config.g (no changes), save and restart, coords x0y0z325
G28, coords x-8.9y-1.0z621.1, error: G0/G1: target position not reachable from current position.I would expect homing to set the X and Y to 0 still, and the Z height to the configured calibrated height after homing.
To recover, I have to:
G92x0y0
G30S-1
G92Z0
G28
G32Tested with v3.3, same results.
homedelta.g is the one generated by the configuration tool.
; homedelta.g
; called to home all towers on a delta printer
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Feb 16 2022 14:16:30 GMT-0800 (Pacific Standard Time)
G91 ; relative positioning
G1 H1 X355 Y355 Z355 F1800 ; move all towers to the high end stopping at the endstops (first pass)
G1 H2 X-5 Y-5 Z-5 F1800 ; go down a few mm
G1 H1 X10 Y10 Z10 F360 ; move all towers up once more (second pass)
G1 Z-5 F6000 ; move down a few mm so that the nozzle can be centred
G90 ; absolute positioning
G1 X0 Y0 F6000 ; move X+Y to the centreconfig.g:
; Configuration file for Duet WiFi (firmware version 3.3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.3.10 on Wed Feb 16 2022 14:16:29 GMT-0800 (Pacific Standard Time); General preferences
M575 P1 S1 B57600 ; enable support for PanelDue
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Kosselstein" ; set printer name
M665 R235 L500.17 B145 H325 ; Set delta radius, diagonal rod length, printable radius and homed height
M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X160.00 Y160.00 Z160.00 E2600.00 ; set steps per mm
M566 X600.00 Y600.00 Z600.00 E100.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z18000.00 E6000.00 ; set maximum speeds (mm/min)
M201 X6000.00 Y6000.00 Z6000.00 E1500.00 ; set accelerations (mm/s^2)
M906 X1200 Y1200 Z1200 E850 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 Z0 S1 ; set minimum Z; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
M574 Z1 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop; Z-Probe
M558 P5 R0.4 C"zprobe.in+zprobe.mod" H15 F1200 T6000 ; set Z probe type to effector and the dive height + speeds
M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
G31 P100 X0 Y0 Z-0.21 ; set Z probe trigger value, offset and trigger height
M557 R140 S20 ; define mesh grid; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S100 ; set temperature limit for heater 0 to 100C
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; 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 S280 ; set temperature limit for heater 1 to 280C; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 L0.5 ; set fan 0 value. Thermostatic control is turned off, max 80%
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q500
M106 P2 S1 H1 T45; 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
M207 S2.0 R0.5 F1500 T900 Z0.5 ; Set FW retraction length and speed
M572 D0 S0.10 ; Set pressure advance; Custom settings are not defined
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power lossconfig-override.g:
; config-override.g file generated in response to M500 at 2022-02-21 11:36
; This is a system-generated file - do not edit
; Delta parameters
M665 L500.170:500.170:500.170 R239.169 H323.941 B145.0 X0.000 Y0.000 Z0.000
M666 X-0.558 Y0.349 Z0.209 A0.00 B0.00
; Heater model parameters
M307 H0 R0.158 K0.714:0.000 D3.22 E1.00 S1.00 B0
M307 H1 R2.481 K0.714:0.000 D8.20 E1.00 S0.80 B0 V24.1
; Workplace coordinates
G10 L2 P1 X0.00 Y0.00 Z0.00
G10 L2 P2 X0.00 Y0.00 Z0.00
G10 L2 P3 X0.00 Y0.00 Z0.00
G10 L2 P4 X0.00 Y0.00 Z0.00
G10 L2 P5 X0.00 Y0.00 Z0.00
G10 L2 P6 X0.00 Y0.00 Z0.00
G10 L2 P7 X0.00 Y0.00 Z0.00
G10 L2 P8 X0.00 Y0.00 Z0.00
G10 L2 P9 X0.00 Y0.00 Z0.00 -
@gone2far said in Home position corrupted on restart in 3.4rc1:
; Endstops
M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop
M574 Z1 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstopYour endstop configuration is incorrect. They are set as low end endstops, but should be high end endstops. So when you run home delta it's setting the position to min instead of max.
Change the X2 Y2 Z2 in those M574 commands.
The configurator doesn't choose high end endstops by default for deltas, but it probably should since people often miss that.
-
@phaedrux Thanks very much! Fixed.
-
-