Strange movement behavior after firmware update



  • I recently updated my Duet WiFi to firmware version 2.02 beta 1 and have been getting strange behavior. When trying to set my IR probe height (mechanically) I am unable to move the Z axis with any preprogrammed buttons. They all warn that "insufficient axes are homed". But i cannot home Z until i set my height offset!

    I found a workaround to use G1 Z1 F6000 S2 in console, but that has mixed results as well. The machine will execute the command, but if you repeat it it will ignore it. If you change the Z value it will execute but not always completely right..... it will go the opposite direction, or go the right direction but not the requested value. I am getting puzzled so could use some help.

    X and Y buttons work properly after homing each axes, respectively.

    Thanks!


  • Moderator

    I'm guessing you were using a firmware version earlier than 1.21 before?

    From the 1.21 release notes.

    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.

    https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW.md



  • @phaedrux said in Strange movement behavior after firmware update:

    I'm guessing you were using a firmware version earlier than 1.21 before?

    From the 1.21 release notes.

    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.

    https://github.com/dc42/RepRapFirmware/blob/dev/WHATS_NEW.md

    Thanks! I apparently missed the last line.... I will try M564 H0 and see what happens. Noteworthy that my movement commands all include S2 though and it still doesn’t work right!


  • Moderator

    Report back if the other strange behaviour continues after adding M564 H0.

    Also post your config.g and homing files.



  • Send the "M564 S0 H0" command to allow axis to move, even if they are not homed - https://duet3d.dozuki.com/Wiki/Gcode#Section_M564_Limit_axes

    The behavior was changed in recent firmware to comply with the standards in Gcode. The above command simply temporarily bypass the checks, so that debugging and other functions can be completed.

    As to the G1 commands in the console, they actually produce reliable results: The printer starts up in Absolute Coordinates mode (like G90 does). Sending the G1 Z1 F6000 S2 command simply moves the Z axis to where it thinks Z = 1 (1mm above where the printer was when it started up; or 1mm above the Z home position). Sending the same command again, produces no result, since it is already at that location. Sending different Z values will simply move to that location and not by that distance.

    If you need relative distances, send G91 first - from then on it is relative and it would move 1mm each time G1 Z1 F6000 S2 is used.



  • Well, that did it! Thank you for the help! Even though i feel like an idiot.....


Log in to reply