Z probe / homing issues after upgrade
-
Just upgraded to latest firmware and I get this error when I try to home the axis:
G28Error: G0/G1: insufficient axes homed
Something has got stuck in the firmware when I was trying to configure my IR z probe, and now I can't get anything to home! The version I'm running is :
Firmware Name: RepRapFirmware for Duet 2 WiFi/Ethernet
Firmware Electronics: Duet WiFi 1.02 or later
Firmware Version: 2.01(RTOS) (2018-07-26b2)
WiFi Server Version: 1.21
Web Interface Version: 1.21.1The config.g bit is pretty minimal I think:
; Z probe stuff
M558 P1 ;X0 Z0 ; Set Z probe type to switch and the dive height + speeds
G31 P500 Z0.827 ; Set Z probe trigger value, offset and trigger height
; mesh grid
M557 X15:150 Y15:150 S20 ; Define mesh gridTBH I don't fully understand the need for the X0 Z0 at the end of the M558. I don't understand how the z probe is meant to work with the z offset either. I wish there was some help with it. I followed dc42's web page, but it doesn't explain how the software is supposed to work once you finish the commissioning process. I did what was described, but I couldn't get the z probe to work (i.e. the head just kept hitting the bed when it started to print).
Now nothing homes. What have I done?!
-
I'm guessing you upgraded from pre-1.21 firmware.
See this from the release notes regrding homing.
On Cartesian and CoreXY printers, normal G0 and G1 moves are no longer allowed before the corresponding axes have been homed. In particular, if your homex.g, homey.g and homeall.g files raise Z a little at the start and lower it at the end, you will need to add the S2 parameter to those G1 Z moves. Otherwise the G1 Z move will be refused unless Z has already been homed and the homing macro will be terminated. If you want to allow axis movement prior to homing, put M564 H0 in config.g.
As for your probe configuration
G31 requires and X and Y coordinate to tell it where the probe is in relation to the nozzle tip. The Z offset tells it at what height the nozzle is at in relation to the bed when the probe triggers.
Your M558 command is missing some parameters. https://duet3d.dozuki.com/Wiki/GCode#Section_M558_Set_Z_probe_type
X Y and Z values for M558 are no longer used. But you will want to provide a F and T for probing speed and travel between probes, and an H value for how high above the bed the probe should start it's dive.Something like this:
M558 P1 F100 T6000 H5 A5 G31 P500 X10 Y10 Z0.827
-
hi Phaedrux
Thanks for the reply. I've added the S2 parameter as suggested, and I guess you could say there's been a minute improvement, in that the Y axis claims to home (but it doesn't move at all), while the X axis still fails, even though the homey and homex files are identical with respect to the S2 added for the Z moves. Obviously this difference is a mute point, given that the machine doesn't respond to g28 other than to reject it.
homex.g
G91 ; relative positioning
G1 S2 Z5 F480000 ; lift Z relative to current position
G1 S1 X-205 F180000 ; move quickly to X axis endstop and stop there (first pass)
G1 X5 F480000 ; go back a few mm
G1 S1 X-205 F25200 ; move slowly to X axis endstop once more (second pass)
G1 X5 F480000 ; go back a few mm
G1 S2 Z-5 F480000 ; lower Z again
G90 ; absolute positioninghomey.g
G91 ; relative positioning
G1 S2 Z5 F480000 ; lift Z relative to current position
G1 S1 Y-205 F180000 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y5 F480000 ; go back a few mm
G1 S1 Y-205 F25200 ; move slowly to Y axis endstop once more (second pass)
G1 Y5 F480000 ; go back a few mm
G1 S2 Z-5 F480000 ; lower Z again
G90 ; absolute positioninghomez.g
G91 ; relative positioning
G1 S2 Z5 F480000 ; lift Z relative to current position
G1 S2 Z-165 F180000 ; move Z down until the switch triggers
G92 Z4 ; set Z position to trigger height -
Can you also post your config.g? Homeall.g?
What firmware were you using previously?
What kind of printer is this?
Can you upgrade your DWC version to this latest one? https://github.com/chrishamm/DuetWebControl/releases/tag/1.22
-
It's a basic cartesian - a Velleman K8400 originally.
homeall.g is below as it's short. config.g is attached.
G91 ; relative positioning
G1 S2 Z5 F480000 ; lift Z relative to current position
G1 S1 X-190 Y-205 F180000 ; move quickly to X and Y axis endstops and stop there (first pass)
G1 X5 Y5 F480000 ; go back a few mm
G1 S1 X-190 Y-205 F25200 ; move slowly to X and Y axis endstops once more (second pass)
G1 X5 Y5 F480000 ; go back a few mm
G1 S2 Z-195 F180000 ; move Z up stopping at the endstop
G90 ; absolute positioningThe homing was working fine before I started trying to configure the z probe. But dc42's suggestion to upgrade to the latest version seems to have broken something, I just can't work out what it is! I was using 1.20 previously. I upgraded the DWC to 1.22 but no change.
I feel it's something to do with telling the firmware not to use the z probe to home the axis, but I just don't get what I've done wrong...
-
Well I've been through the steps of configuring a cartesian printer once again just for good measure, and put everything in as shown and my head just won't respond to any movement requests at all. Beginning to wonder is something electrical is broken?
-
2 things
-
G31 X and Y values need to be measured. This is the distance between the probe and the nozzle tip. The way i measure is to put a piece of paper on the bed and tape it down then lower the nozzle onto it until it makes a small visible impression, take note of the X and Y coordinates. Then move the head until the probe is directly over that impression point. Take note of the new X and Y coordinates. Take the difference of those coordinates and that is your X and Y values for G31. I used 10 in my example just as an example. Sorry about that, I should have been more clear.
-
In order to use the Z probe to home Z, you'll need to make some changes to your homing files. Currently it is configured to use a endstop seeking move (G1 S1 Zn) but in order to use the Z porbe, you must replace that with a G30 command. G30 tells the printer to use the settings from M558 and G31 to locate Z0.
Something like this:
homez.g G91 ; relative positioning G1 S2 Z5 F480000 ; lift Z relative to current position G90 ; absolute positioning G1 X150 Y150 ; move probe to center of bed G30 ; use z probe to find Z0 G1 Z5 ; raise print head G1 X0 Y0 ; return to XY home position
homeall.g G91 ; relative positioning G1 S2 Z5 F480000 ; lift Z relative to current position G1 S1 X-190 Y-205 F180000 ; move quickly to X and Y axis endstops and stop there (first pass) G1 X5 Y5 F480000 ; go back a few mm G1 S1 X-190 Y-205 F25200 ; move slowly to X and Y axis endstops once more (second pass) G1 X5 Y5 F480000 ; go back a few mm G90 ; absolute positioning G1 X150 Y150 ; move probe to center of bed G30 ; use z probe to find Z0 G1 Z5 ; raise print head G1 X0 Y0 ; return to XY home position
-
-
@biscuitlad said in Z probe / homing issues after upgrade:
Well I've been through the steps of configuring a cartesian printer once again just for good measure, and put everything in as shown and my head just won't respond to any movement requests at all. Beginning to wonder is something electrical is broken?
So nothing moves at all? Even if you add
M564 H0
to your config.g? -
Can you post the contents of your config-override.g as well?
-
@biscuitlad, please post your complete config,g file.
Regarding axis movement, if you have added M564 H0 to config,g then you should be able to jog the motors.
Regarding homing, you may wish to test your endstop switches are working correctly, using the M119 command or the Machine Properties page of Duet Web Control.
-
@dc42 said in Z probe / homing issues after upgrade:
M564 H0
Many thanks for the suggestions. When I add this to config.g, nothing happens. When I send it via the g-code console I get an error saying homing failed.
Config.g
; Configuration file for Duet WiFi (firmware version 1.20 or newer)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool on Fri Feb 16 2018 16:17:02 GMT+0000 (GMT); General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates...
M83 ; ...but relative extruder moves
M555 P2 ; Set firmware compatibility to look like Marlin
M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; Configure automatic saving on power loss
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X170 Y150 Z150 S0 ; Set axis maxima; Drives
M569 P0 S1 C65968 ; Drive 0 goes forwards
M569 P1 S0 C65968 ; Drive 1 goes backwards
M569 P2 S0 C65968 ; Drive 2 goes backwards
M569 P3 S1 C65968 ; Drive 3 goes forwards
M569 P4 S0 C65968 ; Drive 4 goes forwardsM350 X32 Y32 Z32 E32:32 I1 ; Configure microstepping with interpolation
; Endstops
M574 X1 Y1 Z1 S1 ; Set active high endstopsM564 H0
; Z probe stuff
;M558 P5 I1 R0.4 F1000 X0 Y0 Z0 H7 A5 S0.02 B1 ; Set Z probe type to switch and the dive height + speeds
M558 P1 X0 Y0 Z1 H3 F200 T5000 R0 ; smart IR Z probe, used for homing Z axis only, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min, no recovery timeG31 P500 X10 Y10 Z0.827 ; Set Z probe trigger value, offset and trigger height
; mesh grid
M557 X15:150 Y15:150 S20 ; Define mesh grid; speed stuff
M566 X600 Y600 Z50 E600 ; Set maximum instantaneous speed changes (mm/min)
M203 X9000 Y9000 Z500 E5000 ; Set maximum speeds (mm/min)
M201 X1000 Y1000 Z100 E5000 ; Set accelerations (mm/s^2)
;-----------;M204 S6000.00 T6000.00 ; Acceleration during printing, and air moves
;-----------------------------------------
M92 X134.74 Y134.74 Z4266.66 E145; E157.2 ; Set steps per mm
;-----------------------------------------M906 X2000 Y2000 Z2000 E2000:2000 I15 ; Set motor currents (mA) and motor idle factor in per cent
M84 S10 ; idle motors after 10 secs; Heaters
M140 H-1 ; Disable heated bed
M305 P1 B4725 C7.060000e-8 ; Set thermistor + ADC parameters for chimera heater 1
M143 H1 S285 ; Set temperature limit for heater 1 to 250C
M305 P2 B4725 C7.060000e-8 ; Set thermistor + ADC parameters for heater 2
M143 H2 S285 ; Set temperature limit for chimera heater 2 to 250C; Tools
M563 P0 D0 H1 ; Define tool 0
G10 P0 X-8.8 Y0 Z0 ; Set tool 0 axis offsets
G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C
M563 P1 D1 H2 ; Define tool 1
G10 P1 X8.8 Y-0.5 Z-0.15 ; Set tool 1 axis offsets
G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C; Network
M550 PKDuet ; Set machine name
M551 xxxxxxx ; Set password
M552 S1
M586 P0 S1 ; Enable HTTP
M586 P1 S0 ; Disable FTP
M586 P2 S0 ; Disable Telnet; Fans
;M106 P0 S1 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
M106 P1 S1 I0 F500 H1:2 T70 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
M106 P2 S1 I0 F500 H1:2 T150 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on; Custom settings are not configured
; Miscellaneous
M501 ; Load saved parameters from non-volatile memory -
@dc42 said in Z probe / homing issues after upgrade:
M119
M119
Endstops - X: not stopped, Y: at min stop, Z: at min stop, Z probe: not stoppedOn closer inspection, the LEDs for my Y stop and X stop were very faintly lit. Sure enough, loose connections on the board. Must have been when I added the z probe.
But I fixed that and no change.
I have since found the issue - it's with the C65968 codes added to the M569. These did seem to make the steppers quieter, and didn't seem to change anything else. But on commenting them out, the heads respond once again and the head does a z probe motion. So there we are.
Many thanks for the help - there seems to be so many ways to shoot one's own feet with the Duet.
-
And wouldn't you know. Still can't get a consistent first layer. I give up with the Duet Wifi. It's just too much hassle to configure.
I feel the Duet system of gcode configs is like going back to the dark ages of editing machine code. It's a nightmare of 20,000 gcode combinations, no one except the devs can disentangle for you.
Each time I come back to my machine that has the Duet board, I spend days trying to get it to work. I've never succeeded. Since I installed the board as an upgrade on the RAMS, the printer has not produced a single decent in print in nearly 8 months. And I have spent hundreds of hours trying to get it to work.
It cost me a lot of money trying upgrade instead of just chucking it in a skip and buying a cheap Chinese i3 clone, but I so wish I had done that and swallowed the guilt of contributing to the destruction of the planet with more plastic crap rather than waste weeks of my precious time fruitlessly trying to configure the Duet to produce a print.
-
I'm sorry to hear that you are still having problems. What's wrong with the first layer?