Z probe / homing issues after upgrade



  • Just upgraded to latest firmware and I get this error when I try to home the axis:
    G28

    Error: 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.1

    The 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 grid

    TBH 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 positioning

    homey.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 positioning

    homez.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 positioning

    0_1533588100924_config.g

    The 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

    1. 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.

    2. 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?


  • administrators

    @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 forwards

    M350 X32 Y32 Z32 E32:32 I1 ; Configure microstepping with interpolation

    ; Endstops
    M574 X1 Y1 Z1 S1 ; Set active high endstops

    M564 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 time

    G31 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 stopped

    On 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.


  • administrators

    I'm sorry to hear that you are still having problems. What's wrong with the first layer?


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.