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

    Homeall behavior going crazy?

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    4
    10
    414
    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.
    • jbjhjmundefined
      jbjhjm
      last edited by

      Hi all, I'm currently setting up a V-Core 3.
      I'm experiencing some weird behavior with the homeall function.
      The single homex.g, homey.g, homez.g scripts work fine.
      But I'm loosing my mind over homeall.g.

      It started while debugging the script after realizing the Y endstop is being ignored and the duet is trying to crash the endstop into the wall (when running homey.g it works as intended!)

      So I began commenting out more and more lines in homeall.g to find out what might be responsible.

      But then things just gone mad. It seems like my homeall.g contents have nothing to do with what the printer actually does when pressing the Home All button in Web UI.
      I commented out all lines except these two:

      G91
      G1 H1 X-625 Y605 F3600

      But the printer will do a second XY check as well as a full Z check.
      How...? I'm lost. Does Home All work different than I expect?

      fcwiltundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt @jbjhjm
        last edited by

        @jbjhjm

        Hi,

        The home all button executes homeall.g

        Please post, using the </> tag, all four of your homing files as well as your config.g file

        Thanks.

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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

          @jbjhjm said in Homeall behavior going crazy?:

          But the printer will do a second XY check as well as a full Z check.
          How...? I'm lost. Does Home All work different than I expect?

          Where are you editing these files? The homing files must be in the system folder. Perhaps you're editing a different file than the firmware is actually using?

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • jbjhjmundefined
            jbjhjm
            last edited by

            Hi, here's a screenshot of my system dir, think the files are in the right place.
            homex/y/z.g files see fine, homeall is not.
            I should also mention I'm running a Duet3 MB6HC with Firmware 3.3.

            a01f92a5-2059-4179-bf62-35390f538a6c-image.png

            Here are the file contents:

            homex.g

            G91               ; relative positioning
            G1 H2 Z5 F6000    ; lift Z relative to current position
            G1 H1 X-625 F1800 ; move quickly to X axis endstop and stop there (first pass)
            G1 H2 X5 F6000    ; go back a few mm
            G1 H1 X-625 F360  ; move slowly to X axis endstop once more (second pass)
            G1 H2 Z-5 F6000   ; lower Z again
            G90               ; absolute positioning
            

            homey.g

            G91               ; relative positioning
            G1 H2 Z5 F6000    ; lift Z relative to current position
            G1 H1 Y605 F1800 ; move quickly to Y axis endstop and stop there (first pass)
            G1 Y-5 F6000     ; go back a few mm
            G1 H1 Y605 F360  ; move slowly to Y axis endstop once more (second pass)
            G1 H2 Z-5 F6000   ; lower Z again
            G90               ; absolute positioning
            

            homez.g

            ; BLTouch
            M280 P0 S160           ; Precautionary alarm release
            M280 P0 S90            ; Ensure the pin is raised
            
            G91               ; relative positioning
            G1 H2 Z15 F6000    ; lift Z relative to current position
            G90               ; absolute positioning
            G1 X150 Y150 F10000 ; go to first probe point
            G30               ; home Z by probing the bed
            

            homeall.g (as said before most lines are commented out atm)

            ; BLTouch
            ;M280 P0 S160            ; Precautionary alarm release
            ;M280 P0 S90             ; Ensure the pin is raised
            
            G91                     ; relative positioning
            ;G1 H2 Z5 F6000          ; lift Z relative to current position
            G1 H1 X-625 Y605 F3600  ; move quickly to X and Y axis endstops and stop there (first pass)
            ;G1 H2 X20 Y-20 F600     ; go back a few mm
            ;G1 H1 X-625 Y605 F260   ; move slowly to X and Y axis endstops once more (second pass)
            
            ;G90                     ; absolute positioning
            ;G1 X150 Y150 F10000     ; go to first probe point
            ;G30                     ; home Z by probing the bed
            
            ;G91                     ; relative positioning
            ;G1 Z5 F100              ; lift Z relative to current position
            ;G90                     ; absolute positioning
            
            

            config.g

            G90                                     ; send absolute coordinates...
            M83                                     ; ...but relative extruder moves
            M669 K1                                 ; CoreXY
            G29 S1                                  ; Set Units to Millimeters
            
            ; Motors
            M569 P0.0 S0 D3                         ; Z motors run backwards
            M569 P0.1 S0 D3                         ; Z motors run backwards
            M569 P0.2 S0 D3                         ; Z motors run backwards
            M569 P0.3 S1 D3                         ; Y goes forwards
            M569 P0.4 S1 D3                         ; X goes forwards
            M569 P0.5 S1 D3                         ; Ext goes forwards
            M584 X0.4 Y0.3 Z0.0:0.1:0.2 E0.5        ; set drive mapping
            M350 X16 Y16 Z16 E16 I1                 ; configure microstepping with interpolation
            
            ;Step sizes
            M92 X80.00 Y80.00 Z800.00               ; set steps per mm
            M906 X1000 Y1000 Z800 I30               ; set motor currents (mA) and motor idle factor in per cent
            M84 S30                                 ; Set idle timeout
            
            ; speed limit configuration
            M566 X400.00 Y400.00 Z6.00 E120.00 P1          ; set maximum instantaneous speed changes (mm/min) // same as M205 but with mm/min
            M203 X10800.00 Y10800.00 Z1000.00 E3600.00     ; set maximum speeds (mm/min)
            M201 X3000.00 Y3000.00 Z100.00 E3600.00        ; set accelerations (mm/s^2)
            
            ; define axis limits
            M208 X0 Y0 Z0 S1                               ; set axis minima
            M208 X310 Y300 Z300 S0                         ; set axis maxima
            
            ; define endstops
            M574 X1 S1 P"io0.in"                           ; configure active high endstops
            M574 Y2 S1 P"io1.in"                           ; configure active high endstops
            M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
            
            ; Lead screw positions
            M671 X-4.5:150:304.5 Y-4.52:305:-4.52 S5       ; define positions of Z leadscrews or bed levelling screws
            M557 X20:280 Y20:280 P5                        ; define 5x5 mesh grid
            
            ; configurate heat bed
            M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed"    ; configure sensor 0 as thermistor on pin temp0
            M950 H0 C"out1" T0                                     ; create bed heater output on out5 and map it to sensor 0
            M307 H0 B0 S1.00                                       ; disable bang-bang mode for the bed heater and set PWM limit
            M140 H0                                                ; map heated bed to heater 0
            M143 H0 S110                                           ; set temperature limit for heater 0 to 110C
            
            ;; Run Bed PID Tune!! Below is an example for a 300x300 bed
            ;; M307 H0 A303.1 C356.7 D1.4 S1.00 V24.0 B0
            
            ; define fans
            M950 F0 C"out7" Q100                   ; create fan 0 on pin out7 and set its frequency
            M106 P0 C"Hotend Fan" S0 H1 L0.5 T40:70; set fan 0 name and value. H1 = Thermostatic control ON | H-1 = OFF | L0.5 = minimum 50% | T = temperature range
            M950 F1 C"out8" Q100                   ; create fan 1 on pin out8 and set its frequency
            M106 P1 C"Layer Fan" S0 H-1 L0.5       ; set fan 1 name and value. Thermostatic control is turned off
            
            ; tech fans
            M308 S10 Y"mcu-temp" A"MCU" 		; configure sensor 10 to represent MCU temp
            M308 S11 Y"drivers" A"Drivers" 		; configure sensor 11 to represent Drivers temp
            ;M950 F10 C"out4" Q100 				; create fan 10 on out4 (1st PWM slot)                    
            ;M106 P10 H10:11 L0.15 X1 B0.3 T40:70 ; assign fan 10 to sensors 10 and 11 | B = run x seconds on full power | L + X = min/max bounds
            
            ; define tool
            M563 P0 D0 H1 F1           ; define tool 0
            G10 P0 X0 Y0 Z0            ; set tool 0 axis offsets
            G10 P0 R0 S0               ; set initial tool 0 active and standby temperatures to 0C
            
            ; hotend heater and temperature sensor
            M308 S1 P"temp1" Y"pt1000" A"Hotend" ; register hotend temperature sensor
            M950 H1 C"out2" T1         ; create nozzle heater output on out2 and map it to sensor 1
            M307 H1 B0 S1.00           ; disable bang-bang mode for heater and set PWM limit
            M143 H1 S250               ; set the maximum temperature in C for heater
            
            ; define extruder / hotend
            M92 E830         			; set extruder steps per mm, 0.9 angle/step (LDO Pancake)
            M906 E800         			; set extruder motor current (mA) and idle factor in per cent
            
            
            ;; Run Heater PID Tune!! 
            ;; M307 H1 A751.5 C196.6 D4.7 S1.00 V23.9 B0
            
            ;; BLTouch
            M950 S0 C"io5.out"                     ; Create a servo pin on io2
            M558 P9 C"io5.in" H8 F320 T18000 A5    ; set Z probe type to unmodulated - dive height increased from 5mm, Feed rate increased from 240.
            ; Z offset calibrated using guide https://betrue3d.dk/bltouch-on-duet-wifi-configuratio-and-usage/#testandcalibrate
            G31 P25 X-28.00 Y-13.00 Z4.79          ; set Z probe trigger value, offset and trigger height, more Z means closer to the bed
            
            ; Filament
            M404 N1.75 D0.4                                 ; Filament width and nozzle diameter
            T0
            
            ; Pressure Advance
            ; M572 D0 S0.10
            
            fcwiltundefined 1 Reply Last reply Reply Quote 0
            • fcwiltundefined
              fcwilt @jbjhjm
              last edited by

              @jbjhjm

              Well since it is a CoreXY machine can you jog the X and Y axes correctly from the DWC?

              Frederick

              Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

              jbjhjmundefined 1 Reply Last reply Reply Quote 0
              • jbjhjmundefined
                jbjhjm @fcwilt
                last edited by

                @fcwilt jep, manual movement as well as homing the axes one by one works fine. Only the homeall does behave weird.

                PCRundefined 1 Reply Last reply Reply Quote 0
                • PCRundefined
                  PCR @jbjhjm
                  last edited by

                  @jbjhjm can you try this code in homeall.g

                  M98 P"homex.g"
                  M98 P"homey.g"
                  M98 P"homez.g"
                  
                  jbjhjmundefined 1 Reply Last reply Reply Quote 0
                  • jbjhjmundefined
                    jbjhjm @PCR
                    last edited by

                    @pcr said in Homeall behavior going crazy?:

                    M98 P"homex.g" M98 P"homey.g" M98 P"homez.g"

                    Works as expected, all three scripts are run.

                    But what's notable: When I skip adding the line for homez, it will still home Z, as if the line was there.
                    Is it possible that the duet tries to auto-fix axes that are not calibrated within homeall?

                    PCRundefined 1 Reply Last reply Reply Quote 0
                    • PCRundefined
                      PCR @jbjhjm
                      last edited by

                      @jbjhjm yes!

                      if you press homeall and for example you home X and Y in the homeall script then RRF will run homez.g if its there 😉

                      jbjhjmundefined 1 Reply Last reply Reply Quote 1
                      • jbjhjmundefined
                        jbjhjm @PCR
                        last edited by

                        @pcr alright that explains why commenting out things had no effect, it just auto-switched to the single axis homing scripts

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