Weird Z axes movement from - to +



  • Hi. I have a problem with my duet wifi board and workbee (belt driven x and y, screw drive Z). When I move G1 Z-10 it moves 1 cm but trying to go back with G1 Z10 it moves more. No matter what I am typing in as movement it move to endstop/home. Do not understand what is happening. What is wrong?

    ; Configure Axes
    M92 X53.334 Y53.334 Z400 ; Set steps per mm
    M350 X16 Y16 Z16 I1 ; Configure microstepping
    M566 X500 Y500 Z500 ; Set maximum instantaneous speed changes (mm/min)
    M203 X10000 Y10000 Z2500 ; Set maximum speeds (mm/min)
    M201 X150 Y150 Z150 ; Set accelerations (mm/s^2)
    M906 X2400 Y2400 Z2400 I100 ; Set motor currents (mA)
    


  • Have you compared your config and homing files against the files given on the workbee website?



  • @jay_s_uk Yes and in config it is the same. The homez.g is slightly different since I have another Z height. Otherwise they are the same



  • Would be worth posting your complete config and homing files then



  • Config (sorry about the mess)

    ; Configuration file for Duet
    ; executed by the firmware on start-up
    ; WorkBee Firmware Version 1.0.7
    
    ; Configure Connection - ENABLE ONLY ONE OF THE BELOW THREE
    M552 S1 ; Enable Wifi Network
    ;M552 S2 ; Enable Access Point Mode
    ;M552 S1 P192.168.2.14 ; Enable Ethernet - Change IP Address to suit
    
    ;	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-	-
    
    ; General preferences
    M451 ; Put the machine into FFF Modes
    M550 MODIX MONSTER ; Set machine name
    G90 ; Set absolute coordinates
    
    
    ;define stepper motors and axis
    M584 X0 Y1:3 Z2 E5:6:7:8:9 
    
    ; Configure Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S1 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes forwards
    
                     
    ; new drivers?? duex5?? not in function yet
    M569 P5 S1 ; physical drive 5 goes forwards ///not in function yet
    M569 P6 S1 ; physical drive 6 goes forwards ///not in function yet
    M569 P7 S1 ; Change direction of Z motor ///not in function yet
    M569 P8 S1 ; physical drive 8 goes forwards ///not in function yet
    M569 P9 S1 ; Change direction of one motor  ///not in function yet                      
    
    
    ; Heaters and pt100
    M140 H-1                                                                ; disable heated bed
    M305 P1 X200                                                            ; configure PT100 for heater 1
    M143 H1 S240                                                            ; set temperature limit for heater 1 to 240C
    
    ;Tools
    M563 P0 S"test1" 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"test2" D1 H1 F0                                               ; 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
    M563 P2 S"test3" D2 H1 F0                                               ; define tool 2
    G10 P2 X0 Y0 Z0                                                         ; set tool 2 axis offsets
    G10 P2 R0 S0                                                            ; set initial tool 2 active and standby temperatures to 0C
    M563 P3 S"test4" D3 H1 F0                                               ; define tool 3
    G10 P3 X0 Y0 Z0                                                         ; set tool 3 axis offsets
    G10 P3 R0 S0                                                            ; set initial tool 3 active and standby temperatures to 0C
    M563 P4 S"test5" D4 H1 F0                                               ; define tool 4
    G10 P4 X0 Y0 Z0                                                         ; set tool 4 axis offsets
    G10 P4 R0 S0                                                            ; set initial tool 4 active and standby temperatures to 0C
    
    ; Z-Probe
    M307 H7 A-1 C-1 D-1                                                     ; disable heater on PWM channel for BLTouch
    M558 P9 H20 F120 T3000 X0 Y0 Z1                                         ; set Z probe type to bltouch and the dive height + speeds
    G31 P50 X29.4 Y34.8 Z0                                                  ; set Z probe trigger value, offset and trigger height
    M557 X15:1200 Y15:1400 S100                                             ; define mesh grid
    
    
    ; Configure Axes
    M92 X53.334 Y53.334 Z400 ; Set steps per mm
    M350 X16 Y16 Z16 I1 ; Configure microstepping
    M566 X500 Y500 Z500 ; Set maximum instantaneous speed changes (mm/min)
    M203 X10000 Y10000 Z2500 ; Set maximum speeds (mm/min)
    M201 X150 Y150 Z150 ; Set accelerations (mm/s^2)
    M906 X2400 Y2400 Z2400 I100 ; Set motor currents (mA)
    
    
    ; Configure Axis Limits
    M208 X0 Y0 Z0 S1 ; Set axis minima
    M208 X1300 Y1475 Z110 S0 ; Set axis maxima
    
    
    ; Configure Endstops
    M574 X2 Y2 Z2 S0 ; Set active low endstops
    
    
    ; Other Settings
    ;M140 H-1 ; Disable heated bed
    M564 S1 H1 ; Disable jog commands when not homed
    M911 S21.0 R23 P"G91 G1 Z3 F1000" ; Configure power loss resume
    M501 ; Load Stored Parameters 
    M98 Pcustomconfig.g ; Execute custom config settings
    

    Ps. nothing in Pcustomconfig.g
    Homez

    G91 ; relative positioning
    G21 ; Set units to mm
    G1 H1 Z110 F1500 ; move quickly to Z axis endstop and stop there (first pass)
    G92 Z110 ; Set Home Position - change to your machine size.
    G1 Z-3 F2400 ; go back a few mm
    G1 H1 Z110 F300 ; move slowly to X axis endstop once more (second pass)
    G92 Z110 ; Set Home Position - change to your machine size.
    G90 ; absolute positioning
    

    If I use the duet Webcontrol to move the z everything works fine. But if I eg. G1 Z-30 and the G1 Z5 it moves to the endstop.



  • @MortenMod

    What jumps out at me is that you don't need to be using G92 to set the Z position. This is set using the machine limits from the config.
    Can I suggest a replacement homez?

    G91                       ; relative positioning
    G1 H1 Z120 F1500 ; move z to the high end stopping at the endstop (first pass)
    G1 H2 Z-5 F2400   ; go down a few mm
    G1 H1 Z10 F300    ; move z up once more (second pass)
    G90                       ; absolute positioning
    

    The G1 H1 ZXXX can be any number equal to or higher than your max limit. I typically use 999 as I'm lazy



  • @jay_s_uk Ahh I see. Changed the homez but still does not solve my problem. As said I can move G1 Z-30 or Z-40 etc. This works fine. But every time I do a move in the opposite direction It just go to endstop no matter what I am typing



  • Theres nothing I can see what would cause that.
    Are you using the ooznest DWC version?
    And are you just using the jog buttons to make the movements?



  • @jay_s_uk I am typing in the g-code command. If using the buttons it work fine.
    Need to check the other question. Will Come back later.



  • What are you typing in?



  • @jay_s_uk just in the command line in Web duet control. But I have the feeling that it this also provoke an error in offset probing.



  • I meant what commands are you typing in
    Just purely G1 Z5?



  • @jay_s_uk Yes. Purely G1 Z-10 and then another one eg. G1 Z5



  • Very strange on why its going back to home. I'm afraid I've not seen this happen on the CNC i've used with RRF. Maybe someone else can chip in?


  • Moderator

    @MortenMod Are you confusing relative and absolute positioning? The G90 in your config.g sets 'Absolute coordinates'. So, assuming you are starting at Z110 after homing, you send G1 Z-30, it moves to position Z-30mm (or at least tries to, but it will generally stop at Z0). But it's moving from point Z110 to point Z-30, ie 140mm, not moving -30mm. If you sent G1 Z-30 again, it would not move, because it is already at Z-30. So when you send G1 Z5, it moves to Z5, which is 35mm away from Z=-30.

    If you want G1 Z-30 to move down 30mm from it's current position (say Z110 after homing), you need to send G91 first, which switches to relative coordinates; ie if you send G91, G1 Z-30, G1 Z-30, it will move down 30 (to Z80), then another 30mm (to Z50).

    (I'm not sure I've explained this very well, but hopefully you get the idea!)

    Ian



  • @droftarts Aahhhhhh 🤓
    Thanks a lot. It helped!


Log in to reply