• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    handyandy
    last edited by 20 May 2024, 15:04

    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.

    undefined 2 Replies Last reply 20 May 2024, 15:05 Reply Quote 0
    • undefined
      handyandy @handyandy
      last edited by 20 May 2024, 15:05

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

      undefined 1 Reply Last reply 20 May 2024, 15:57 Reply Quote 0
      • undefined
        droftarts administrators @handyandy
        last edited by 20 May 2024, 15:57

        @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
        • undefined
          handyandy @handyandy
          last edited by 20 May 2024, 17:14

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

          undefined 1 Reply Last reply 20 May 2024, 17:41 Reply Quote 0
          • undefined
            droftarts administrators @handyandy
            last edited by 20 May 2024, 17:41

            @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

            undefined undefined 4 Replies Last reply 21 May 2024, 04:22 Reply Quote 0
            • undefined
              Phaedrux Moderator @droftarts
              last edited by 21 May 2024, 04:22

              @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
              • undefined
                handyandy @droftarts
                last edited by droftarts 21 May 2024, 11:56

                @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
                • undefined
                  handyandy @droftarts
                  last edited by droftarts 21 May 2024, 12:00

                  @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
                  • undefined
                    handyandy @droftarts
                    last edited by 21 May 2024, 12:06

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

                    undefined 1 Reply Last reply 21 May 2024, 12:11 Reply Quote 0
                    • undefined
                      droftarts administrators @handyandy
                      last edited by 21 May 2024, 12:11

                      @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

                      undefined 1 Reply Last reply 21 May 2024, 14:53 Reply Quote 0
                      • undefined
                        handyandy @droftarts
                        last edited by droftarts 21 May 2024, 14:53

                        @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
                        ;
                        undefined 1 Reply Last reply 21 May 2024, 16:00 Reply Quote 0
                        • undefined
                          droftarts administrators @handyandy
                          last edited by 21 May 2024, 16:00

                          @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

                          undefined 1 Reply Last reply 22 May 2024, 07:43 Reply Quote 0
                          • undefined
                            handyandy @droftarts
                            last edited by 22 May 2024, 07:43

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

                            undefined undefined 2 Replies Last reply 22 May 2024, 08:20 Reply Quote 0
                            • undefined
                              dc42 administrators @handyandy
                              last edited by 22 May 2024, 08:20

                              @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
                              • undefined
                                droftarts administrators @handyandy
                                last edited by 22 May 2024, 08:55

                                @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
                                9 out of 15
                                • First post
                                  9/15
                                  Last post
                                Unless otherwise noted, all forum content is licensed under CC-BY-SA