Homing Issue
-
Hi
This is driving me nuts and I've probably missed something stupid.
I've taken an Anycubic i3 Mega, gutted it and swapped the electronics for a Duet Wifi I had spare. Z and X axis homing is done by a Mini Differential IR board.Everything appears to be working fine but whenever I run Homeall the nozzle lifts to 7.5mm above the bed at the end of the script. Trigger height is 2.5mm so something somewhere is causing the z axis to raise 5mm. I can't see what it is so if somebody can point out what I've missed it would be appreciated.
Config.g
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Wed Apr 08 2020 14:00:34 GMT+0100 (British Summer Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"i3 MEGA" ; set printer name; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 ; physical drive 0 goes forwards X
M569 P1 S0 ; physical drive 1 goes backwards Y
M569 P2 S0 ; physical drive 2 goes backwards Z
M569 P3 S1 ; physical drive 3 goes forwards E0
M569 P4 S1 ; physical drive 4 goes forwards E1
M584 X0 Y1 Z2 E3:4 ; set drive mapping
M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z400.00 E413.79:420.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout; Axis Limits
M208 X0 Y-25 Z0 S1 ; set axis minima
M208 X225 Y225 Z200 S0 ; set axis maxima; Endstops
M574 X1 S2 ; configure Z-probe endstop for low end on X
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z; Z-Probe
M558 P1 C"zprobe.in" H5 F120 T6000 ; set Z probe type to unmodulated and the dive height + speeds
;M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
G31 P500 X-20 Y-5 Z2.5 ; set Z probe trigger value, offset and trigger height
M557 X15:215 Y15:215 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
M143 H0 S120 ; set temperature limit for heater 0 to 120C
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
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
M143 H1 S280 ; set temperature limit for heater 1 to 280C
M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M143 H2 S280 ; set temperature limit for heater 2 to 280C
M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S0 H-1 ; set fan 1 value. Thermostatic control is turned off; Tools
M563 P0 S"HE 0" 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
M563 P1 S"HE 1" D1 H2 F1 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C; 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 lossHomeall.g
; homeall.g
; called to home all axes
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Wed Apr 08 2020 14:00:34 GMT+0100 (British Summer Time)
G91 ; relative positioning
G1 H2 Z5 F6000 ; lift Z relative to current position
G1 H1 X-230 Y-255 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 H2 X5 Y5 F6000 ; go back a few mm
G1 H1 X-230 Y-255 F360 ; move slowly to X and Y axis endstops once more (second pass)
G90 ; absolute positioning
G1 X25 Y0 F6000 ; go to first bed probe point and home Z
G30 ; home Z by probing the bed
;G91 ; relative positioning
;G1 Z5 F100 ; lift Z relative to current position
;G90 ; absolute positioningThanks in advance
Jon
-
@JonnyBrylcreem The only thing I can think of is that your steps per mm on Z are incorrect, as there's only one move after the probe. If you have the nozzle just touching the bed, and then tell it to lift Z 10mm, then measure how far it has moved. Is it 10mm, or much more than that? Though as far as I can tell, the Anycubic i3 Mega uses TR8x8 pitch 2, which would mean it's a 4-start thread. This would have a steps per mm with a 1.8º motor at x16 microstepping of 400, which is what you've got. So unless the thread is different, I'm not sure what's causing this move, at the moment.
Ian
-
@droftarts thanks for getting back to me.
I'm fairly certain that the Z steps per mm are accurate. I measured the lift earlier and DWC inputs seem to translate to real world movements, as close as I can measure anyway.
The 7.5mm figure I was stating is a reading from the DWC which has me thinking it is a software issue rather than anything else. -
So to clarify; after the probe triggers at 2.5mm off the bed the z axis then raises 5mm to end at 7.5mm above the bed
-
It seems like it's returning to your dive height after G30. If you change M558 H5 to H4 does it move to a different height?
I can't say I've ever paid any attention to the height after homing. As long as Z0 is the nozzle touching the bed it's good to go.
-
@Phaedrux I think you are probably right. I haven't had chance to test your theory yet, as I've been sidetracked trying to iron out all the other little issues, but it would make sense. As you say it won't stop me printing . I just couldn't figure it out and it bugged me.