DuetWifi 1.01 Updated to 1.24 - No Z Axis after update
-
Hello,
I recently updated my DuetWifi 1.01 to the 1.24 firmware version. (edit: I believe it was 1.17 or 1.18 before update, so BIG jump in version)
I haven't made any changes to my wiring at all, but now my z-axis isn't working. I can't home it or move it. X, Y and EXT motors all function fine as does the heater control and bed temp control.
G28
works for X and Y axes. When I send the command to home the Z axis I get this error:G28 Z Error: G0/G1: insufficient axes homed
Here is my config.g
M111 S0 ; Debug off M550 OldYeller ; Machine name and Netbios name (can be anything you like) M551 Preprap ; Machine password (used for FTP) ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address ;*** Wifi Networking M552 S1 ; Enable WiFi. Disabled for setup and testing. Enable once set up on your network. M555 P2 ; Set output to look like Marlin M575 P1 B57600 S1 ; Comms parameters for PanelDue G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M569 P0 S0 ; Drive 0 (x motor) goes reverse M569 P1 S0 ; Drive 1 (y motor) goes reverse M569 P2 S0 ; Drive 2 (z motor) goes reverse M569 P3 S0 ; Drive 3 (ext motor) goes reverse M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation M574 X1 Y1 Z0 S1 ; set homing switch configuration (x and y switches, at low end, active high) M906 X800 Y800 Z800 E800 ; Set motor currents (mA) M201 X1000 Y1000 Z1000 E100 ; Accelerations (mm/s^2) M203 X3000 Y3000 Z3000 E600 ; Maximum speeds (mm/min) M566 X1000 Y1000 Z1000 E50 ; Maximum jerk speeds mm/minute M208 X203 Y203 Z240 ; set axis max and high homing switch positions (adjust to suit your machine) M208 X-0 Y0 Z0 S1 ; set axis min and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) M92 X80 Y80 Z400 E95 ; set axis steps/mm G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Thermistors M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction M305 P1 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds ; Fans ;M106 P1 H-1 ; disable thermostatic mode for fan 1 ; Tool definitions M563 P0 D0 H1 F0:1 ; Define tool 0 - Heater 1, Fan 0 (extruder) and Fan 1 (bed fan) G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures M92 E663:663 ; Set extruder steps per mm ; Z probe and compensation definition ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command M558 P5 X0 Y0 Z1 ; Z probe is an inductive probe and is used for homing G31 X25 Y0 Z0 P500 ; Set the zprobe height and threshold (put your own values here) ;*** If you are using axis compensation, put the figures in the following command M556 S78 X0 Y0 Z0 ; Axis compensation here M208 S1 Z-0 ; set minimum Z ; T0 ; select first hot end ;Enable pronterface? M555 P2```
-
Recent firmware versions do not allow axes to be moved before they have been homed. The only movements allows are homing moves (G1 moves with S1 or H1 parameter) and individual motor moves (G1 moves with S2 or H2 parameter). So any Z movements that your homing files make before Z is homed should use the S2 parameter. Alternatively, add M564 H0 to config.g to allow axis movement before homing.
-
@phaedrux said in DuetWifi 1.01 Updated to 1.24 - No Z Axis after update:
M564 H0
Thank you for this!
Sending
M564 H0
did indeed unlock my Z axis and allowed me to run a homing routine.Before running
M564
BothG28
andG30
commands return the sameinsufficient axes homed
error... which makes no sense to me. Is there a different command to home the Z-axis now? I'm using an inductive bed sensor on a Printrbot Simple Metal. I don't have a z-axis endstop, I have the inductive sensor wired to the Z-probe inputs. Not sure if this is relevant but the inductive bed sensor outputs its signal at 12v so I had to make a voltage divider to step it down to 3.3v. (see board diagram)The command I have in my config that defines Z homing is
M558 P5 X0 Y0 Z1 ; Z probe is an inductive probe and is used for homing
Is there something else I need to change in the config relative to the new firmware? The fact that neither
G28
orG30
work by default leads me to believe there is something wrong with myM558
. I tried adding S1 and S2 to both G28/30 commands as described in the FAQ and neither of them allowed me to home Z.Or is the solution to simply add
M564 H0
to my config.g? I like the fact that the machine won't move unless homed so it seems like an unnecessarily brute force way to solve this problem. -
The S2 switch needs to be added to G1 moves that happen before the homing move. It doesn't get added to G28 or G30. G28 simply runs homeall.g and G30 simply probes the bed.
Please post your homing files and we can show you exactly what needs to change.
Or, you can add M564 H0 to config.g to preserve the old functionality.
Your M558 command looks like it might be missing some parameters. What kind of probe do you have?
https://duet3d.dozuki.com/Wiki/Gcode#Section_M558_Set_Z_probe_type
-
@dirtybirdnj said in DuetWifi 1.01 Updated to 1.24 - No Z Axis after update:
I'm using an inductive bed sensor on a Printrbot Simple Metal. I don't have a z-axis endstop, I have the inductive sensor wired to the Z-probe inputs. Not sure if this is relevant but the inductive bed sensor outputs its signal at 12v so I had to make a voltage divider to step it down to 3.3v. (see board diagram)
Here is an image for reference:
I believe the sensor itself is open by default and closed when activated. There is a little red LED on top of the unit and when a metal object is present under it the LED turns on.
I've added my homing files below, one thing of note is that I rarely ever used the
homez.g
functionality, I'd usually just runhomeall.g
. I see some G1 move commands there that based on the info so far in this thread thats not going to work.Before I submitted this post I did a test, after manually setting
M564 H0
I ran thehomeall.g
and noticed that when I put a metal object under the sensor it detected it as expected and set the zero height! After that I adjusted the nuts on the inductive sensor and ran it again letting it detect the bed by itself, and the machine finally completed a homeall.So right now I think the main goal is to figure out what I have to change with the
M558
so that I don't have to add theM564 H0
to my config or run it manually every time.homex.g
G91 ; relative mode G1 X-200 S1 ; move up to 200mm in the -X direction, stopping if the homing switch is triggered G1 X100 ; move back to center G90 ; back to absolute mode
homey.g
G91 ; relative mode G1 Y-200 S1 ; move up to 200mm in the Y direction, stopping if the homing switch is triggered G1 Y100 G90 ; back to absolute mode
homez.g
G91 ; relative mode G1 Z1 F200 ; raise head 1mm to ensure it is above the Z probe trigger height G90 ; back to absolute mode G30 ; lower head, stop when probe triggered and set Z to trigger height G1 Z1 F200 ; raise head 2mm after probe trigger
homeall.g
G91 ; set relative positioning G1 X-200 S1 ; move up to 200mm in the -X direction, stopping if the homing switch is triggered G1 Y-200 S1 ; move up to 200mm in the -Y direction, stopping if the homing switch is triggered G1 X100 Y100 F3500 ; Inductive Bed Sensor G30 ; lower head, stop when probe triggered and set Z to trigger height G1 Z20 F1000 ; raise head 1
-
Those files look correct, except for home z. There are no g1 moves that aren't homing moves that occur before the axis is homed in the other files. But homez raises the z axis before doing the g30. That move would require S2.
It sounds like you have home all working properly now?
I just occured to me now that it looks like you have a duet wifi but are running 1.24? I think you're eligible to upgrade further to 2.03 if you wished.
-
M558 will need F for feed rate during probe moves. H for dive height to probe from, T for travel speed between probe points. P for the probe type. X Y and Z are deprecated and can be removed. The g31 seems ok. Except the trigger height for z would indicate that the nozzle is touching the bed when it triggers.
Is the probe attached to the print head or fixed to the frame?
-
M558
is definiltey responding to the extra settings, but I still have to runM564 H0
to home the z-axis.Additionally when it does run
G30
it does one probe and then rises and dives again moving in x+y+z. In doing so it pushes up past the end-stops making bad noises even though it's already homed the x and y axes.It seems like it's doing something after the probing, but none of the actions defined in any of the
home_.g
match what it's doing. What exactly happens whenG30
runs and is it dictated by any of these files? RunningG29
also causes the machine to push beyond its axes after x and y homing as well.Here's the latest version of my config:
; Communication and general M111 S1 ; Debug off M550 OldYeller ; Machine name and Netbios name (can be anything you like) M551 Preprap ; Machine password (used for FTP) ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address ;*** Wifi Networking M552 S1 ; Enable WiFi. Disabled for setup and testing. Enable once set up on your network. M555 P2 ; Set output to look like Marlin M575 P1 B57600 S1 ; Comms parameters for PanelDue G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M569 P0 S0 ; Drive 0 (x motor) goes reverse M569 P1 S0 ; Drive 1 (y motor) goes reverse M569 P2 S0 ; Drive 2 (z motor) goes reverse M569 P3 S0 ; Drive 3 (ext motor) goes reverse ;M569 P4 S1 ; Drive 4 goes forwards M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation M574 X1 Y1 Z0 S1 ; set homing switch configuration (x and y switches, at low end, active high) M906 X800 Y800 Z800 E800 ; Set motor currents (mA) M201 X1000 Y1000 Z1000 E100 ; Accelerations (mm/s^2) M203 X3000 Y3000 Z3000 E600 ; Maximum speeds (mm/min) M566 X1000 Y1000 Z1000 E50 ; Maximum jerk speeds mm/minute M208 X200 Y200 Z240 ; set axis max and high homing switch positions (adjust to suit your machine) M208 X-0 Y0 Z0 S1 ; set axis min and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed) M92 X80 Y80 Z400 E95 ; set axis steps/mm G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Thermistors M305 P0 T100000 B3950 R4700 H30 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction M305 P1 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction M305 P2 T100000 B3974 R4700 H30 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction M570 S180 ; Hot end may be a little slow to heat up so allow it 180 seconds ; Fans ;M106 P1 H-1 ; disable thermostatic mode for fan 1 ; Tool definitions M563 P0 D0 H1 F0:1 ; Define tool 0 - Heater 1, Fan 0 (extruder) and Fan 1 (bed fan) G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures M92 E663:663 ; Set extruder steps per mm ; Z probe and compensation definition ;*** If you have a switch instead of an IR probe, change P1 to P4 in the following M558 command M558 P5 X0 Y0 Z1 F100 T5000 H2 ; Z probe is an inductive probe and is used for homing G31 P1000 Z2 ; Set the zprobe height and threshold (put your own values here) ;*** If you are using axis compensation, put the figures in the following command ;M556 S78 X0 Y0 Z0 ; Axis compensation here M208 S1 Z-0 ; set minimum Z ; T0 ; select first hot end ;Enable pronterface? M555 P2 ;Enable Z-Axis because of dumb firmware ;M564 H0
-
@phaedrux said in DuetWifi 1.01 Updated to 1.24 - No Z Axis after update:
I just occured to me now that it looks like you have a duet wifi but are running 1.24? I think you're eligible to upgrade further to 2.03 if you wished.
This was one part of the update that was super confusing, I wasn't sure if the Duet2 and the DuetWifi I have are directly compatible with the firmware offered.
The file I sent during firmware writing using BOSSA was
Duet2CombinedFirmware.bin
from what appears to be the latest release. -
@dirtybirdnj said in DuetWifi 1.01 Updated to 1.24 - No Z Axis after update:
G31 P1000 Z2
Your G31 needs to define the X and Y offset between the probe and the nozzle.
-
What does the settings page say you have installed for firmwares?
-
First off thank you so much for your help with this!
Your G31 needs to define the X and Y offset between the probe and the nozzle.
!!!! wow lol seems like a critical thing to be missing... measuring this now and figuring out the distance
-
Looks like you're all up to date.
This may help with getting the probe setup: https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Static_test_of_the_Z_probe
-
Seems like a bug if missing or incorrect probe offsets can cause the X and Y axes to crash. Once they are homed shouldn't they be limited to their defined range regardless of what G-code is executed?
-
Did adding the X and Y parameters to G31 fix it?
-
@nophead said in DuetWifi 1.01 Updated to 1.24 - No Z Axis after update:
Seems like a bug if missing or incorrect probe offsets can cause the X and Y axes to crash. Once they are homed shouldn't they be limited to their defined range regardless of what G-code is executed?
The probe offsets default to zero; so leaving them out won't cause a crash.
-
@dirtybirdnj said in DuetWifi 1.01 Updated to 1.24 - No Z Axis after update:
M558 is definiltey responding to the extra settings, but I still have to run M564 H0 to home the z-axis.
Do you mean you always need to run M564 H0 to home the Z axis; or only if you try to home the Z axis before X and Y have been homed?
When homing Z with a Z probe, the firmware won't let you do it if X and Y have not been homed first; otherwise it would probe at unknown XY coordinates.
Did you add the S2 parameter to the following command in homez.g as @Phaedrux said?
G1 Z1 F200 ; raise head 1mm to ensure it is above the Z probe trigger height
-
Do you mean you always need to run M564 H0 to home the Z axis; or only if you try to home the Z axis before X and Y have been homed?
Yes, this is exactly the case. Please see the screenshot above, I posted a log from the g-code console to document this.
Did you add the S2 parameter to the following command in homez.g as @Phaedrux said?
I did and the
S2
allows for upward movement before the probe, but it still refuses to execute theG30
that does Z-probing unless I runM564 H0
first. -
Can you try deleting the deployprobe.g and retractprobe.g files?
-
Can you try deleting the deployprobe.g and retractprobe.g files?
THIS WORKED The "random movements" issue has been solved! I didn't delete the files I just commented out their contents, but I'll prob remove them soon for good measure.
Still need to run
M564 H0
before z-axis is unlocked, but I feel way more confidant about doing some test prints now that the machine is homing correctly and behaving as expected again.