Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Homing X&Y moves Z leadscrews differently?

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    4
    15
    441
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • handyandyundefined
      handyandy
      last edited by

      Hi, I have just finished building the latest version of my 'Prusalike' printer.
      I am now slowly working through all the code to make it work properly and have hit a problem!
      I am using the standard 'homex.g', 'homey.g' & 'homez.g' macros pretty well unaltered.
      Whenever I home X or Y or Z the Z moves within the macro move the Z leadscrews on each side differently
      Not by much but enough to put my X gantry out of alignment!
      Any help would be much appreciated.

      handyandyundefined 2 Replies Last reply Reply Quote 0
      • handyandyundefined
        handyandy @handyandy
        last edited by

        @handyandy
        I should add that I am using sensorless homing, but I don't think that has any influence on it?

        droftartsundefined 1 Reply Last reply Reply Quote 0
        • droftartsundefined
          droftarts administrators @handyandy
          last edited by

          @handyandy Please post your config.g and homing macros. Please also send M122 in the console and post the response.

          Are your Z motors and leadscrews the same on both sides? If you put a piece of tape on each leadscrew, like a flag, do they go out of sync when you move them?

          Ian

          Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

          1 Reply Last reply Reply Quote 0
          • handyandyundefined
            handyandy @handyandy
            last edited by

            @handyandy
            Hi Administrator, Please resend your post I think I deleted it (by accident - honestly!)

            droftartsundefined 1 Reply Last reply Reply Quote 0
            • droftartsundefined
              droftarts administrators @handyandy
              last edited by

              @handyandy you haven’t deleted my post, but you may have blocked me… so you might not see this, either!

              @droftarts said in Homing X&Y moves Z leadscrews differently?:

              @handyandy Please post your config.g and homing macros. Please also send M122 in the console and post the response.

              Are your Z motors and leadscrews the same on both sides? If you put a piece of tape on each leadscrew, like a flag, do they go out of sync when you move them?

              Ian

              Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

              Phaedruxundefined handyandyundefined 4 Replies Last reply Reply Quote 0
              • Phaedruxundefined
                Phaedrux Moderator @droftarts
                last edited by

                @droftarts said in Homing X&Y moves Z leadscrews differently?:

                @handyandy you haven’t deleted my post, but you may have blocked me… so you might not see this, either!

                @droftarts said in Homing X&Y moves Z leadscrews differently?:

                @handyandy Please post your config.g and homing macros. Please also send M122 in the console and post the response.

                Are your Z motors and leadscrews the same on both sides? If you put a piece of tape on each leadscrew, like a flag, do they go out of sync when you move them?

                Ian

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • handyandyundefined
                  handyandy @droftarts
                  last edited by droftarts

                  @droftarts
                  Hi, here is the information you requested...

                  M122
                  === Diagnostics ===
                  RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later
                  Board ID: 08DGM-917NK-F2MS4-7J9F4-3S46K-1GSSD
                  Used output buffers: 3 of 26 (26 max)
                  === RTOS ===
                  Static ram: 23256
                  Dynamic ram: 72760 of which 0 recycled
                  Never used RAM 14152, free system stack 126 words
                  Tasks: NETWORK(2,nWait 6,15.2%,215) HEAT(3,nWait 5,0.1%,328) Move(4,nWait 5,0.0%,298) MAIN(1,running,84.6%,759) IDLE(0,ready,0.0%,29), total 100.0%
                  Owned mutexes:
                  === Platform ===
                  Last reset 00:01:45 ago, cause: power up
                  Last software reset at 2024-05-20 15:12, reason: User, Gcodes spinning, available RAM 13528, slot 1
                  Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                  Error status: 0x04
                  Aux0 errors 0,0,0
                  MCU temperature: min 24.4, current 25.6, max 26.0
                  Supply voltage: min 23.7, current 23.8, max 23.9, under voltage events: 0, over voltage events: 0, power good: yes
                  Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/8/8, gc cycles 0
                  Events: 0 queued, 0 completed
                  Driver 0: standstill, SG min 0
                  Driver 1: standstill, SG min 0
                  Driver 2: standstill, SG min 0
                  Driver 3: standstill, SG min n/a
                  Driver 4: standstill, SG min n/a
                  Driver 5:
                  Driver 6:
                  Driver 7:
                  Driver 8:
                  Driver 9:
                  Driver 10:
                  Driver 11:
                  Date/time: 2024-05-20 18:05:29
                  Cache data hit count 3762969277
                  Slowest loop: 15.45ms; fastest: 0.16ms
                  I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                  === Storage ===
                  Free file entries: 10
                  SD card 0 detected, interface speed: 20.0MBytes/sec
                  SD card longest read time 0.9ms, write time 0.0ms, max retries 0
                  === Move ===
                  DMs created 83, segments created 5, maxWait 51363ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
                  no step interrupt scheduled
                  Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
                  === DDARing 0 ===
                  Scheduled moves 33, completed 33, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                  === Heat ===
                  Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
                  === GCodes ===
                  Movement locks held by null
                  HTTP is idle in state(s) 0
                  Telnet is idle in state(s) 0
                  File is idle in state(s) 0
                  USB is idle in state(s) 0
                  Aux is idle in state(s) 0
                  Trigger is idle in state(s) 0
                  Queue is idle in state(s) 0
                  LCD is idle in state(s) 0
                  Daemon is idle in state(s) 0
                  Autopause is idle in state(s) 0
                  Q0 segments left 0
                  Code queue 0 is empty
                  === Network ===
                  Slowest loop: 21.51ms; fastest: 0.07ms
                  Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
                  HTTP sessions: 1 of 8
                  === WiFi ===
                  Interface state: active
                  Module is connected to access point
                  Failed messages: pending 0, notrdy 0, noresp 0
                  Firmware version 2.1.0
                  MAC address b4:e6:2d:53:15:f2
                  Module reset reason: Turned on by main processor, Vcc 3.46, flash size 4194304, free heap 42932
                  WiFi IP address 192.168.1.109
                  Signal strength -49dBm, channel 9, mode 802.11n, reconnections 0
                  Clock register 00002002
                  Socket states: 0 0 0 0 0 0 0 0
                  
                  20/05/2024, 18:04:56	G28 Z
                  Error: Must home axes [Y] before homing [Z]
                  
                  1 Reply Last reply Reply Quote 0
                  • handyandyundefined
                    handyandy @droftarts
                    last edited by droftarts

                    @droftarts
                    Hi, more...

                    ; =========================================================================================================
                    ; Part of the 'sys' folder
                    ; homex.g - Sensorless home the X-axis.
                    ; Written or Modified by Andy Taylor May 2024
                    ; =========================================================================================================
                    ;
                    M98 P"0:/sys/SubMacros/CurrentSenseHoming"     ; Call macro/subprogram
                    ;
                    G91                                    ; Relative XYZ positioning
                    M564 S0 H0                             ; Limit axes - allow movement outside of boundaries and of non-homed axes
                    M17 X Z                                ; Energise X & Z motors to ensure they're not stalled
                    G4 P100                                ; Wait 100ms
                    ;
                    G0 Z5 F1000                            ; Lift Z relative to current position
                    G0 H2 X5 F6000                         ; Move X relative to current position
                    G0 H1 X-300 F6000                      ; Move quickly to ensure X-axis endstop contact and stop there (first pass)
                    G0 H2 X5 F1000                         ; Move slowly back a few mm
                    G0 H1 X-300 F2000                      ; Move slowly to X-axis endstop once more (second pass)
                    G0 H2 X5 F1000                         ; Move slowly back a few mm
                    G0 H2 X0 F6000                         ; Move to X0 home position
                    G0 Z-5 F1000                           ; Lower Z back again
                    M400                                   ; Wait for current moves to finish
                    ;
                    G4 P200                                ; Wait 200ms
                    M564 S1 H1                             ; Limit axes - limit movement to within boundaries and only for homed axes
                    G90                                    ; Absolute XYZ positioning
                    ;
                    G0 X5 F6000                            ; Move here...
                    G92 X0                                 ; and make this position X home
                    ;
                    M98 P"0:/sys/SubMacros/CurrentSenseNormal"     ; Call macro/subprogram
                    ;
                    ; =========================================================================================================
                    ;
                    
                    ; =========================================================================================================
                    ; Part of the 'sys' folder
                    ; homey.g - Sensorless home the Y-axis.
                    ; Written or Modified by Andy Taylor May 2024
                    ; =========================================================================================================
                    ;
                    M98 P"0:/sys/SubMacros/CurrentSenseHoming"     ; Call macro/subprogram
                    ;
                    G91                                    ; Relative XYZ positioning
                    M564 S0 H0                             ; Limit axes - allow movement outside of boundaries and of non-homed axes
                    M17 Y Z                                ; Energise Y & Z motors to ensure they're not stalled
                    G4 P100                                ; Wait 100ms
                    ;
                    G0 Z5 F1000                            ; Lift Z relative to current position
                    G0 H2 X5 F6000                         ; Move Y relative to current position
                    G0 H1 Y-300 F6000                      ; Move quickly to ensure Y-axis endstop contact and stop there (first pass)
                    G0 H2 Y5 F1000                         ; Move slowly back a few mm
                    G0 H1 Y-10 F2000                       ; Move slowly to Y-axis endstop once more (second pass)
                    G0 H2 Y5 F1000                         ; Move slowly back a few mm
                    G0 H2 Y0 F6000                         ; Move to Y0 home position
                    G0 Z-5 F1000                           ; Lower Z back again
                    M400                                   ; Wait for current moves to finish
                    ;
                    G4 P200                                ; Wait 200ms
                    M564 S1 H1                             ; Limit axes - limit movement to within boundaries and only for homed axes
                    G90                                    ; Absolute XYZ positioning
                    ;
                    G0 Y0 F6000                            ; Move here...
                    G92 Y0                                 ; and make this position Y home
                    ;
                    M98 P"0:/sys/SubMacros\CurrentSenseNormal"     ; Call macro/subprogram
                    ;
                    ; =========================================================================================================
                    ;
                    
                    ; =========================================================================================================
                    ; Part of the 'sys' folder
                    ; homez.g - Home the XY&Z axes in turn.
                    ; Written or Modified by Andy Taylor May 2024
                    ; =========================================================================================================
                    ;
                    M98 P"0:/sys/SubMacros/CurrentSenseHoming"     ; Call macro/subprogram
                    ;
                    G91                                    ; Relative XYZ positioning
                    M564 S0 H0                             ; Limit axes - allow movement outside of boundaries and of non-homed axes
                    M17 X Y Z                              ; Energise X, Y and Z motors to ensure they're not stalled
                    G4 P100                                ; Wait 100ms
                    ;
                    ; Sensorless home the X-axis... ===========================================================================
                    ;
                    G0 Z5 F1000                            ; Lift Z relative to current position
                    G0 H2 X5 F6000                         ; Move X relative to current position
                    G0 H1 X-300 F6000                      ; Move quickly to ensure X-axis endstop contact and stop there (first pass)
                    G0 H2 X5 F1000                         ; Move slowly back a few mm
                    G0 H1 X-300 F2000                      ; Move slowly to X-axis endstop once more (second pass)
                    G0 H2 X5 F1000                         ; Move slowly back a few mm
                    G0 Z-5 F1000                           ; Lower Z back again
                    M400                                   ; Wait for current moves to finish
                    ;
                    G4 P200                                ; Wait 200ms
                    ;
                    ; Sensorless home the Y-axis... ===========================================================================
                    ;
                    G0 Z5 F1000                            ; Lift Z relative to current position
                    G0 H2 Y5 F6000                         ; Move Y relative to current position
                    G0 H1 Y-300 F6000                      ; Move quickly to ensure Y-axis endstop contact and stop there (first pass)
                    G0 H2 Y5 F1000                         ; Move slowly back a few mm
                    G0 H1 Y-300 F2000                      ; Move slowly to Y-axis endstop once more (second pass)
                    G0 H2 Y5 F1000                         ; Move slowly back a few mm
                    G0 Z-5 F1000                           ; Lower Z back again
                    M400                                   ; Wait for current moves to finish
                    ;
                    G4 P200                                ; Wait 200ms
                    ;
                    ; Use the SuperPINDA to home the Z-axis... ===============================================================
                    ;
                    G90                                    ; Absolute XYZ positioning
                    G0 X30 Y30 Z20 F10000                  ; Move quickly to a safe probing position with the Pinda above the print plate
                    G30                                    ; Home Z by probing the bed
                    G0 Z2 F6000                            ; Make a small Z movement
                    G90                                    ; Absolute XYZ positioning
                    G0 X0 Y0 Z0 F6000                      ; Move to final XYZ home position
                    G0 Z2                                  ; Lift Z for safety/convenience
                    M400                                   ; Wait for current moves to finish
                    ;
                    G4 P200                                ; Wait 200ms
                    M564 S1 H1                             ; Limit axes - limit movement to within boundaries and only for homed axes
                    ;
                    G0 X5 Y5 F6000                         ; Move here...
                    G92 X0 Y0                              ; and make this position X & Y home
                    ;
                    M98 P"0:/sys/SubMacros/CurrentSenseNormal"     ; Call macro/subprogram
                    ;
                    ; =========================================================================================================
                    ;
                    
                    ; =========================================================================================================
                    ; Part of the 'sys/SubMacros' folder
                    ; CurrentSenseHoming - Set the current and sensitivity for homing and non-printing routines.
                    ; Written or Modified by Andy Taylor May 2024
                    ; =========================================================================================================
                    ;
                    M915 X S2 F0 H400 R0                   ; Configure X motor stall detection
                    M915 Y S2 F0 H400 R0                   ; Configure Y motor stall detection
                    M913 X50 Y40 Z60                       ; Set the XYZ motors to reduced % current for non-print moves...
                    ;                                        (this is set 100% initially in config.g)
                    ;
                    ; =========================================================================================================
                    ;
                    
                    ; =========================================================================================================
                    ; Part of the 'sys/SubMacros' folder
                    ; CurrentSenseNormal - Set the current and sensitivity for normal routines.
                    ; Written or Modified by Andy Taylor May 2024
                    ; =========================================================================================================
                    ;
                    M915 X S3 F0 H200 R0                   ; Configure X motor stall detection
                    M915 Y S3 F0 H200 R0                   ; Configure Y motor stall detection
                    M913 X100 Y100 Z100                    ; Set the XY motors back to 100% of their normal config.g values
                    ;
                    ; =========================================================================================================
                    ;
                    
                    1 Reply Last reply Reply Quote 0
                    • handyandyundefined
                      handyandy @droftarts
                      last edited by

                      @droftarts
                      Hi, As well as the different leadscrew movement in the homing routines I also get...
                      In general Z axis movements (=/- 25mm) I get a 'squeal' from the Z motors with no movement then the uneven movement of 5-8mm. If I command 5mm or under it does not 'squeal' but at 5mm you see the uneven movement. Small commander moves of 1mm seem to work ok!
                      I hope you can help, it's driving me crazy!

                      droftartsundefined 1 Reply Last reply Reply Quote 0
                      • droftartsundefined
                        droftarts administrators @handyandy
                        last edited by

                        @handyandy I've tidied up your posts to make them readable. Please post your config.g as well.

                        In general Z axis movements (=/- 25mm) I get a 'squeal' from the Z motors with no movement then the uneven movement of 5-8mm. If I command 5mm or under it does not 'squeal' but at 5mm you see the uneven movement. Small commander moves of 1mm seem to work ok!

                        This basically sounds like you're trying to move the Z axis too fast. Probably one side is binding more than the other, which causes it to lose steps. That short moves work probably means you have acceleration and/or maximum speed set too high.

                        Does homing work correctly?

                        Ian

                        Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                        handyandyundefined 1 Reply Last reply Reply Quote 0
                        • handyandyundefined
                          handyandy @droftarts
                          last edited by droftarts

                          @droftarts
                          Hi I think you may be right with Z being to fast. I have run Z from F500 insteps up to F1300 with the noises or uneven movement. Above that it's bad. So I was going to alter the config.g file M203 to limit Z to between 1000.00 to 1250.00 - what do you think?
                          Here is the config.g as it was with M203 Z2400.00!!!!

                          ; =========================================================================================================m18
                          ; Part of the 'sys' folder
                          ; config.g - Main configuration file executed by the firmware (v3.4) automatically on start-up.
                          ; Generated largely by the RepRapFirmware Configuration Tool v3.3.10 on Wed 23rd Feb 2022 12:43:28
                          ; Modified - Andy Taylor May 2024
                          ;
                          ; =========================================================================================================
                          ; General & Network settings
                          ; =========================================================================================================
                          ;
                          M669 K0                                                    ; Printer kinematics type is 'Cartesian'
                          M550 P"Bear/Hemera Revo"                                   ; Set the printers name
                          ;
                          M552 S1                                                    ; Enable networking as a client
                          M586 P0 S1                                                 ; Enable HTTP
                          M586 P1 S0                                                 ; Disable FTP
                          M586 P2 S0                                                 ; Disable Telnet
                          M575 P1 S1 B57600                                          ; Set serial comms parameters to support the PanelDue
                          ;
                          ; =========================================================================================================
                          ; Drives
                          ; =========================================================================================================
                          ;
                          M569 P0 S0 F10                                             ; Physical (X) drive 0 direction is backwards
                          M569 P1 S1 F10                                             ; Physical (Y) drive 1 direction is forwards
                          M569 P2 S0 F5                                              ; Physical (Z) drive 2 direction is backwards
                          M569 P3 S1 F14                                             ; Physical (E) drive 3 direction is forwards
                          M584 X0 Y1 Z2 E3                                           ; Set drive mapping
                          ;
                          M350 X16 Y16 Z16 E16 I1                                    ; Configure micro stepping with interpolation, and turn it on
                          M92 X200.00 Y200.00 Z1600.00 E397.00                       ; Set axis steps/mm
                          ;
                          ; Settings copied from Prusa MK4 values...
                          M201 X2500.00 Y2500.00 Z200.00 E2500.00                    ; Set maximum acceleration (mm/s^2)
                          M203 X12000.00 Y12000.00 Z2400.00 E6000.00                 ; Set maximum feedrate (mm/min)
                          M204 P2000.0 T2000.0                                       ; Set printing and travel accelerations (mm(s^2))
                          ;M205 X8.0 Y8.0 Z2.0 E10.0                                 ; Set maximum instantaneous (jerk) speed changes (mm/sec) - alternative to M566
                          M566 X480.0 Y480.0 Z120.0 E600.0                           ; Set maximum instantaneous (jerk) speed changes (mm/min)
                          ;
                          M906 X1260 Y1260 Z1000 E1050 I30                           ; Set 75% motor currents (mA) and motor idle factor in percent
                          M84 S30                                                    ; Set idle timeout to 30 seconds
                          M564 S0 H0                                                 ; Limit axes - Allow movement outside boundaries and for non-homed axes
                          ;
                          ; =========================================================================================================
                          ; Axis Limits
                          ; =========================================================================================================
                          ;
                          M208 X-1 Y-4 Z0 S1                                         ; Set axis minima (allows for safety & purge line placement)
                          M208 X245 Y220 Z220 S0                                     ; Set axis maxima (final set on assembly and first running)
                          ;                                                            absolute maximum axis travels are X250 Y225 Z225
                          ;                                                            but working maximums are reduced due to homing requirements
                          ; =========================================================================================================
                          ; X&Y Endstops
                          ; =========================================================================================================
                          ;
                          M574 X1 S3                                                 ; Configure sensorless endstop for low end on X-axis
                          M574 Y1 S3                                                 ; Configure sensorless endstop for low end on Y-axis
                          M574 Z1 S2                                                 ; Configure Z-probe endstop for low end on Z-axis
                          ;
                          ; =========================================================================================================
                          ; Z-Probe (superPINDA)
                          ; =========================================================================================================
                          ;
                          M558 P5 C"^zprobe.in" H1.5 F600 T8000 A3 S0.03             ; Set Z probe to be SuperPINDA
                          G31 P500 X21.318 Y4.25 Z1.55                               ; Set Z probe trigger value, offset and trigger height.
                          ;                                                               1.55 is the calculated Set Z probe trigger value, offset and
                          ;                                                               trigger height. The larger the number the closest it gets to
                          ;                                                               the bed.
                          ;                                                               i.e. 1.60 puts the nozzle closer to the bed than 1.20
                          M557 X10:235 Y10:210 P4:3                                  ; Define mesh grid min:max positions and number of probe points in X & Y directions
                          ;
                          ; =========================================================================================================
                          ; Heated Bed
                          ; =========================================================================================================
                          ;
                          M308 S0 P"bedtemp" Y"thermistor" T100000 B4138             ; Configure sensor 0 as thermistor on pin bedtemp
                          M950 H0 C"bedheat" T0                                      ; Create bed heater output on bedheat and map it to sensor 0
                          M307 H0 B0 S1.00                                           ; Disable bang-bang mode for the bed heater and set PWM limit
                          M307 H0 R0.283 K0.275:0.000 D10.59 E1.35 S1.00 B0          ; Results from actual PID tuning
                          M140 H0                                                    ; Map heated bed to heater 0
                          M143 H0 S110                                               ; Set temperature limit for heater 0 to 110°C
                          ;
                          ; =========================================================================================================
                          ; Extruder/Nozzle
                          ; =========================================================================================================
                          ;
                          M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8     ; Configure sensor 1 as thermistor on pin e0temp
                          M950 H1 C"e0heat" T1                                       ; Create nozzle heater output on e0heat and map it to sensor 1
                          M307 H1 B0 S1.00                                           ; Disable bang-bang mode for heater and set PWM limit
                          M307 H1 R4.153 K0.495:0.000 D3.20 E1.35 S1.00 B0 V24.3     ; Results from actual PID tuning
                          M143 H1 S300                                               ; Set temperature limit for heater 1°C to 290°C
                          ;
                          ; =========================================================================================================
                          ; Fans (F0=Part cooling fan, F1=extruder/nozzle fan)
                          ; =========================================================================================================
                          ;
                          M950 F0 C"fan0" Q500                                       ; Create fan 0 on pin fan0 and set its frequency
                          M106 P0 S0 H-1                                             ; Set fan 0 value. Thermostatic control is turned off
                          M950 F1 C"fan1" Q500                                       ; Create fan 1 on pin fan1 and set its frequency
                          M106 P1 S1 H1 T45                                          ; Set fan 1 value. Thermostatic control is turned on at 45°C
                          ;
                          ; =========================================================================================================
                          ; Heater Fault Scenario
                          ; =========================================================================================================
                          ;
                          M570 H0 S180                                               ; Bed heater fault if <temperature in 180 seconds
                          M570 H1 S100                                               ; Nozzle heater fault if <temperature in 100 seconds
                          ;
                          ; =========================================================================================================
                          ; Tools (T0=extruder)
                          ; =========================================================================================================
                          ;
                          M563 P0 S"Extruder" D0 H1 F0                               ; Define tool 0 (extruder)
                          G10 P0 X0 Y0 Z0                                            ; Set tool 0 axis offsets
                          G10 P0 R0 S0                                               ; Set initial tool 0 active and standby temperatures to 0°C
                          M302 S190 R190                                             ; Allow extrusion starting from 190°C and retractions already from 190°C
                          ;
                          ; =========================================================================================================
                          ; Miscellaneous Settings
                          ; =========================================================================================================
                          ;
                          M501                                                       ; Read stored parameters in 0:/sys/config-override.g
                          G21                                                        ; Work in millimetres
                          G90                                                        ; Absolute XYZ positioning...
                          M83                                                        ; Relative extruder positioning
                          ;
                          ; =========================================================================================================
                          ;
                          M143 H1 S300                                               ; Set temperature limit for heater 1°C to 290°C
                          ;
                          
                          droftartsundefined 1 Reply Last reply Reply Quote 0
                          • droftartsundefined
                            droftarts administrators @handyandy
                            last edited by

                            @handyandy With M92 Z1600, ie 1600 steps per mm on Z, and then running it at 2400mm/min (40mm/s), would produce 64,000 steps per second at full speed! The driver can do this, but I doubt the motors can. Your acceleration is also high (M201), as is your jerk (M566).

                            For reference, and I'm also running a Bear axis with a Hemera (but V6, not Revo), I use:

                            M92 Z800  ; set steps per mm
                            M566 Z12  ; set maximum instantaneous speed changes (mm/min)
                            M203 Z600  ; set maximum speeds (mm/min)
                            M201 Z20 ; set accelerations (mm/s^2)
                            

                            This is quite slow, and though my Z motors are quite puny, they never skip! I could probably tune them to run faster, but it's less important in Z for me. To tune, start slow, then increase, check over long distances. See https://docs.duet3d.com/en/How_to_guides/Calibration#h-6-tuning-motion

                            Also, setting M204 P2000.0 T2000.0 limits acceleration, when you have set your accelerations higher with M201.

                            Ian

                            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                            handyandyundefined 1 Reply Last reply Reply Quote 0
                            • handyandyundefined
                              handyandy @droftarts
                              last edited by

                              @droftarts
                              Hi, reducing the feed rates for the Z axis looks to be the solution. Anything below F1200 seems to work well. Thanks for your help.
                              Just one more question... you mention setting M204 P2000.0 T2000.0 in config.g
                              Are your values for P & T rather high? If M204 is there to limit the maximum accelerations shouldn't the values be equal or only slightly greater the the values in M201?

                              dc42undefined droftartsundefined 2 Replies Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @handyandy
                                last edited by

                                @handyandy M201 is for specifying the machine limits, i.e. how fast the axis can accelerate without the risk of skipping steps. M204 is for use by the slicer, which can limit acceleration to lower values in an attempt to improve print quality.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                1 Reply Last reply Reply Quote 0
                                • droftartsundefined
                                  droftarts administrators @handyandy
                                  last edited by

                                  @handyandy What I meant was that you have that M204 line in your config.g. It overrides the setting in M201. Slicers have a habit of putting in M204 at low rates, overriding the acceleration rate you want, as machines generally print quieter with low acceleration.

                                  The main reason to use M204 is to make all moves have the same acceleration. M201 defines the acceleration per axis, but on diagonal moves, the acceleration is faster as it moves at the limit of both X and Y. Eg if M201 X1000 Y1000 is set, a straight X move will use acceleration of 1000mm/s^2, but the acceleration of a 45° diagonal move will be 1414, with both motors accelerating at 1000mm/s^2. Setting M204 P1000 would set all moves to the same acceleration.

                                  Ian

                                  Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Unless otherwise noted, all forum content is licensed under CC-BY-SA