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

    3.5.0b4 losing XYZ position after print completes?

    Scheduled Pinned Locked Moved
    General Discussion
    5
    14
    545
    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.
    • paralepsisundefined
      paralepsis
      last edited by paralepsis

      Hi,

      I've had a few situations recently where after a print my Duet3 running 3.5.0b4 has seemed to have lost track of actual XYZ position. This is going to be a little vague, but hopefully with some help I can provide some more useful information.

      After a long print print last night, which completed with no problems, I noticed that Y position was no longer accurate. Homing of course solves this. Turns out that Z position was also not accurate (I didn't notice), and so I ended up getting an air print on the following print (b/c my start code doesn't home Z).

      This is the second time that this has happened (i.e., air print after successful print) since moving to 3.5.0b4 not long ago, but it isn't happening after every print. If I get a short print that does this, I will see if I can repeat. Other thoughts? Anyone else see something similar?

      Thanks!

      Rob

      --

      start.g:

      T0                ; Select tool 0
      M290 R0 Z0        ; Remove any babystepping
      M220 S100         ; Remove any speed tweaking
      M204 S10000       ; Remove any acceleration tweaking
      
      M106 P2 S0.50                            ; Electrical box fan to 50%
      M106 P3 S1.0 B0.1 L0.1 X1.0 T45:60 H12   ; Chamber fan spins up at 45C
      
      ;
      ; NOTE: M703 needs to follow babystepping reset, as filament config uses it for filament tweaks
      ;
      M703              ; Run current filament config.g script
      

      filament gcode:

      M221 D0 S97                    ; Extrusion multiplier
      M572 D0 S0.06                   ; Pressure advance (was 0.13)
      M290 R1 Z0.02                  ; Baby step for this filament
      

      prusaslicer gcode:

      G1 Z11 F300
      M400 ; wait for Z move to complete
      G28 X ; home X
      G28 Y ; home Y
      G1 X0 Y40 Z 5 F5000 ; shift to front left
      
      M140 S[first_layer_bed_temperature] R0 ; set bed temp, start heating, don't wait
      M568 P0 S160 R160                      ; set extruder temp to get started, start heating, don't wait
      M116                                   ; wait on temps (wait for bed to get up to temp)
      
      M568 P0 S[first_layer_temperature] R160 ; set extruder temp to desired print temp
      M116                                    ; wait on temps
      
      ; wipe
      M83 ; ensure relative extrusion
      G92 E0
      G1 X5 Y45 Z0.9 ; position for wipe -- very close to front!!
      G1 Y100 E12 F500 ; purge onto plate
      G1 Y100 F5000 ; pull away
      G92 E0
      

      stop.g:

      M568 P0 R0 S0 A0  ; turn off extruder (set temps to 0 and don't wait, replaces M104)
      M140 S0	R0        ; turn off bed (set temp to 0 and don't wait)
      M144              ; set bed to standby
      M106 S0           ; turn part fan off
      M106 P2 S0        ; turn electronics fan off
      M106 P3 T35 S1.0  ; blast chamber fan; turn chamber fan off when chamber temp is < 30C
      T99               ; unselect T0 by picking a nonexistent tool
      
      M290 R0 Z0        ; Remove any babystepping
      M220 S100         ; Remove any speed tweaking
      M204 S10000       ; Remove any acceleration tweaking
      
      G91               ; relative movement
      G1 Z50 F5000      ; lift nozzle 50mm
      G90               ; absolute movement
      G1 X20 Y250       ; go to back left
      

      Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

      droftartsundefined 1 Reply Last reply Reply Quote 0
      • Phaedruxundefined
        Phaedrux Moderator
        last edited by

        Can you post your config,g as well?

        What is the idle current for the motors set to?

        Z-Bot CoreXY Build | Thingiverse Profile

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

          @paralepsis said in 3.5.0b4 losing XYZ position after print completes?:

          G91 ; relative movement
          G1 Z50 F5000 ; lift nozzle 50mm
          G90 ; absolute movement
          G1 X20 Y250 ; go to back left

          You have quite a big Z and Y relative move at the end of the print. Could it be that this is beyond the limits of the machine, or something else stops it moving and causes Y and Z to skip at the end of the print? if you take the last few lines of the Gcode file, so you know the position of the axes at the end of the print, and run the above commands, what happens?

          Also, the M204 command M204 S10000 is incorrect. RRF does not support an S parameter. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m204-set-printing-and-travel-accelerations

          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

          paralepsisundefined 1 Reply Last reply Reply Quote 0
          • paralepsisundefined
            paralepsis @Phaedrux
            last edited by

            @Phaedrux sure.

            ; RailCore RRF standalone for Duet3
            ; From: https://github.com/railcore/configs
            ;
            G21						;Work in millimetres
            G90						;Send absolute coordinates...
            M83						;...but relative extruder moves
            
            ; Stepper configuration
            ;  https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCoreXYPrinter
            ;
            ;  M569 P0 S0 ; X motor runs forwards -- +X+Y
            ;  M569 P1 S0 ; Y motor runs forwards -- +X-Y
            ;  Switch S parameter 0->1 or 1->0 if carriage moves the wrong way.
            ;
            ; Filastruder kit is LDO 0.9 degree steppers for X,Y, Z and Extruder
            ; 
            M569 P0 S1 D3					;Drive 0 X / Rear
            M569 P1 S0 D3					;Drive 1 Y / Front
            M569 P2 S1 D3					;Drive 2 Z Front Left
            M569 P3 S1 D3					;Drive 3 Z Rear Left
            M569 P4 S1 D3					;Drive 4 Z Right
            M569 P5 S1 D3					;Drive 5 Extruder
            
            ; Axis configuration
            ;
            M669 K1							;corexy mode
            M584 X0 Y1 Z2:3:4 E5			; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5
            
            ;Leadscrew locations
            M671 X-10:-10:333  Y22.5:277.5:150 S7.5
            
            M350 X16 Y16 Z16 E16 I1			;set 16x microstepping for axes with interpolation
            M906 X1400 Y1400 Z1200 E800 I80	;Set motor currents (mA)
            M201 X2500 Y2500 Z100 E1500		;Accelerations (mm/s^2)
            M203 X24000 Y24000 Z900 E3600	;Maximum speeds (mm/min) 
            M566 X800 Y800 Z100 E1500		;Maximum jerk speeds mm/minute 
            M208 X295 Y303 Z290				;set axis maxima and high homing switch positions (adjust to suit your machine)
            M208 X-11 Y0 Z0 S1				;set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
            M92 X200 Y200 Z1600 E830		;steps/mm (E830 - 415x2 b/c 0.9 degree motor!)
            
            ; Stall Detection (Testing)
            ; 
            ; Note: S value controls sensitivity, lower is more sensitive.
            M915 X Y R2 F1 S9 H400
            
            ; End Stops
            M574 X1 S1 P"io1.in"			;Map the X endstop to io1.in
            M574 Y1 S1 P"io2.in"			;May the Y endstop to io2.in
             
            ; Thermistors
            M308 S0 P"temp0" Y"thermistor" A"bed_heat" T100000 B4240 H0 L0 		;Bed thermistor - connected to temp0
            M308 S1 P"temp1" Y"thermistor" A"e0_heat" T100000 B4725 C7.06e-8 H0 L0	;duet3 e3d thermistor - connected to e0_heat
            M308 S3 P"temp3" Y"thermistor" A"bed_heat2" T100000 B3950 H0 L0      ; Bed thermistor - Keenevo builtin
            
            ; MCU Temp and TMC drivers -- need this before we set up the fan
            M308 S10 Y"mcu-temp" A"MCUTemp[C]"
            M308 S11 Y"drivers" A"TMC[Warning]"
            
            ; DHT22
            M308 S12 P"io8.out" Y"dht22" A"Chamber Temp[C]"
            M308 S13 P"S12.1" Y"dhthumidity" A"Chamber Humid[%]"
            
            ;Define Heaters
            M950 H0 C"out0" T0				;Bed heater is on out0
            M950 H1 C"out1" T1				;Hotend heater is on out1
            
            ;Define Bed
            M140 H0
            
            ; Tuning Heaters
            ;   https://docs.duet3d.com/en/How_to_guides/Commissioning
            ;
            ; M307 H0 B0 R0.237 C862.8 D27.12 S1.00 V23.8 ; Keenovo, 6/26/2022, Duet Firmware 3.3
            M307 H0 B0 R0.254 K0.102:0.000 D27.86 E1.35 S0.90 ; Keenovo 6/11/2023, Duet FW 3.4.5, 90% power
            M307 H1 B0 R2.850 C198.6:142.2 D5.59 S1.00 V23.8 ; Mosquito @ 260C, 7/16/2022, Duet  Firmware 3.3
            
            M570 S360					;Hot end may be a little slow to heat up so allow it 180 seconds
            M143 H1 S285				;Set max hotend temperature
            M143 H0 A2 S130 T3 C0		; Temporarily turn off bed heater when Keenovo sensor says 130C+
            
            ; Fans
            ; Note: Making part fan Fan 0 b/c slicers sort of expect it. -- RBR
            ; 
            M950 F1 C"out5"					;Hotend fan on "out5" connector
            M106 P1 S255 H1 T50 C"HotEndFan";enable thermostatic mode for hotend fan
            M950 F0 C"out4"					;Layer fan on "out4" connector
            M106 P0 S0						;Layer Fan
            M950 F2 C"out6"					;Electronics fan on "out6" connector
            M106 P2 S0 C"ElectFan"			;Electronics Fan
            M950 F3 C"out9"                 ;Chamber fan on "out9" connector
            M106 P3 S0 C"ChamberFan"        ;Chamber Fan
            
            ; Tool definitions
            M563 P0 D0 H1 F0                      		;Define tool 0 (Fan 0 is Fan 0 :))
            G10 P0 S0 R0                        		;Set tool 0 operating and standby temperatures
            
            ; BLTouch
            ; Note: This puts the nozzle about 0.05mm off the plate @ Z=0
            ;
            M558 P9 C"io7.in" H5 R1 F120 T6000 A5 S0.02 B1	;define the bltouch input on io7.in
            M950 S0 C"io7.out"				;define the bltouch servo on io7.out
            ; G31 X-2 Y37 Z0.8 P25 			;set the offsets for the bltouch -- E3D mount
            G31 X-2 Y37 Z2.05 P25 			;set the offsets for the bltouch -- direct mount
            
            ; Ethernet network
            M552 P192.168.1.14 S1
            M550 P"Beast"
            
            ; BTT Smart Filament Sensor
            M591 D0 P7 C"io6.in" L7 R50:150 E22 S1
            
            ; PanelDue on "out0" connector
            M575 P1 S1 B57600
            
            T0						;select first hot end
            

            Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

            paralepsisundefined 1 Reply Last reply Reply Quote 0
            • paralepsisundefined
              paralepsis @droftarts
              last edited by

              @droftarts thanks for the catch on M204; I'll have to fix that.

              No, I don't think I'm exceeding the capabilities of the machine with those last commands -- the movement/acceleration/jerk settings that are in my config.g are considered conservative for this design. Also, this wasn't happening with 3.4.5 for many many prints.

              I've had this happen once more since posting, have started just homing Z so I don't have to think about it (which obviously isn't treating the condition...).

              Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

              paralepsisundefined droftartsundefined 2 Replies Last reply Reply Quote 0
              • paralepsisundefined
                paralepsis @paralepsis
                last edited by

                @paralepsis The XYZ motors are LDO-42STH40-1684MAC (https://cdn.shopify.com/s/files/1/0239/9287/files/LDO-42STH38-1684MAC_TIM_RevA.pdf).

                Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

                1 Reply Last reply Reply Quote 0
                • paralepsisundefined
                  paralepsis @paralepsis
                  last edited by

                  To follow up on this, an F5000 Z move would indeed be a problem if the speed weren't capped by the config.g settings, but it is :). I'll clean that up in the stop.g anyway, just so it isn't a distraction in the future.

                  Thanks again!

                  Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

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

                    @paralepsis said in 3.5.0b4 losing XYZ position after print completes?:

                    No, I don't think I'm exceeding the capabilities of the machine with those last commands -- the movement/acceleration/jerk settings that are in my config.g are considered conservative for this design.

                    I was thinking more of the physical limits of the print bed, rather than skipping steps.

                    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

                    paralepsisundefined 1 Reply Last reply Reply Quote 0
                    • paralepsisundefined
                      paralepsis @droftarts
                      last edited by

                      @droftarts maybe I misunderstand, but the X/Y move isn't relative, just moves to near the back left corner (xmin is -11 and ymax is 300ish). Notionally the Z could push to Z-max, but the prints in question have been in the ~100mm or less height, and I've got roughly 280-300mm of Z to work with.

                      Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

                      gloomyandyundefined 1 Reply Last reply Reply Quote 0
                      • gloomyandyundefined
                        gloomyandy @paralepsis
                        last edited by

                        @paralepsis Does your printer have more than one tool? You have T99 in your stop.g, I'm not sure what it is you are trying to do with that, but I wonder if in effect causing a tool change is part of the problem?

                        paralepsisundefined 1 Reply Last reply Reply Quote 0
                        • paralepsisundefined
                          paralepsis @gloomyandy
                          last edited by

                          @gloomyandy I don't have more than one tool. I was using that as a way to kick the current tool out of active mode...I want to say that M568 wasn't around when I first started doing that, but it's also possible I just didn't find it.

                          Either way, that would be a regression -- I've been doing that "tool switch" trick on this machine and one other for years w/out issue prior to move to 3.5.0b4.

                          Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

                          jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                          • jay_s_ukundefined
                            jay_s_uk @paralepsis
                            last edited by

                            @paralepsis you should use T-1 to unmount the current tool

                            Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

                            paralepsisundefined 1 Reply Last reply Reply Quote 0
                            • paralepsisundefined
                              paralepsis @jay_s_uk
                              last edited by

                              @jay_s_uk I feel like I got an error trying to do that (way back when), but really M568 P0 A0 is probably the right thing in a single tool printer, yes?

                              Railcore II 300XL w/ Duet 3 & RRF 3.5rc4, Makerbot R2X w/ Duet 2 WiFi & RRF 3.4

                              jay_s_ukundefined 1 Reply Last reply Reply Quote 0
                              • jay_s_ukundefined
                                jay_s_uk @paralepsis
                                last edited by

                                @paralepsis to turn it off, yes, thats what i use

                                Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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