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

    Error when setting up independent motor bed levelling on CoreXY

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    5
    34
    1.3k
    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.
    • Phaedruxundefined
      Phaedrux Moderator @equanimity8
      last edited by

      @equanimity8 said in Error when setting up independent motor bed levelling on CoreXY:

      is there a resource I can follow about the recommended sequence of gcode and/or what are good practices when setting up firmware

      Every gcode is documented here: https://duet3d.dozuki.com/Wiki/Gcode#main

      It's a good idea to check the relevant gcodes when trouble shooting.

      @equanimity8 said in Error when setting up independent motor bed levelling on CoreXY:

      I've put the ;Independent motors leveling section right after the drivers assigning part of config.g and it has made no difference.

      How is your config.g laid out now? Can you post it again? The M584 should be above the M350.

      The homing file you've posted is from the /system folder right?

      Z-Bot CoreXY Build | Thingiverse Profile

      1 Reply Last reply Reply Quote 0
      • equanimity8undefined
        equanimity8
        last edited by equanimity8

        @fcwilt When I start with (G1 Z5 H2 F420) as per your suggestions I get a little but further, namely to G1 X5 Y5 F600 (line 8 in homeall.g) and I get the same error (Error: G0/G1: insufficient axes homed).

        @Phaedrux The current config.g:

        ; General preferences
        G90                            ; Send absolute coordinates...
        M83                            ; ...but relative extruder moves
        
        M667 S1                        ; Select CoreXY mode
        
        ; Network
        M550 PPrinter Extrusions	;machine name
        M552 S1				;start wifi module
        
        ; Drives
        M569 P0 S1                     ; Drive 0 goes forwards
        M569 P1 S1                     ; Drive 1 goes forwards
        M569 P2 S0                     ; Drive 2 goes forwards
        M569 P3 S1                     ; Drive 3 goes forwards
        M569 P4 S0                     ; Drive 4 goes forwards
        
        ;Independent motors leveling
        M584 X0 Y1 Z2:4 E3; two Z motors connected to driver outputs Z and E1
        M671 X105:105 Y0:150 S1 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
        
        M350 X16 Y16 Z16 E16 I1        ; Configure microstepping with interpolation
        M92 X80 Y80 Z80 E456         ; Set steps per mm
        M566 X900 Y900 Z1 E120        ; Set maximum instantaneous speed changes (mm/min)
        M203 X9000 Y9000 Z720 E1200    ; Set maximum speeds (mm/min)
        M201 X500 Y500 Z250 E250        ; Set accelerations (mm/s^2)
        M906 X1200 Y1200 Z2200 E1100 I0   ; Set motor currents (mA) and motor idle factor in per cent
        M84 S0                        ; Set idle timeout
        
        ; Axis Limits
        M208 X0 Y0 Z0 S1               ; Set axis minima
        M208 X210 Y150 Z150 S0         ; Set axis maxima
         
        ; Endstops
        M574 X1 Y1 Z0 S0
         
        ; Z-Probe
        ;M558 P1 I1 R0.4 F300 X0 Y0 Z0
        M558 P8 H10 I1 R1 F600 X0 Y0 Z1
        G31 X0 Y0 Z-0.25 P600
        
        ; Heaters
        M140 H-1                       ; Disable heated bed
        M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
        M143 H1 S280                   ; Set temperature limit for heater 1 to 280C
        
        ; Fans
        M106 P0 H-1			; set fan 1 to be gcode controlled
        M106 P2 S1 I0 T45 H1            ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off
        
        ; Tools
        M563 P0 D0 H1                  ; 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
        

        Everything that I've pasted is indeed from the System tab under File Management in DWC.

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

          It really seems like your endstops are not actually working.

          Can you confirm what firmware version is installed with M115?

          And then can you confirm that the status of the endstops changes when you click them by checking with M119?

          Earlier when you send M98 P"config.g" it didn't seem to echo anything back. Can you try again? There should be at least some response.

          Z-Bot CoreXY Build | Thingiverse Profile

          1 Reply Last reply Reply Quote 0
          • equanimity8undefined
            equanimity8
            last edited by equanimity8

            The result of M115:

            M115
            FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 2.05.1 ELECTRONICS: Duet WiFi 1.02 or later FIRMWARE_DATE: 2020-02-09b
            

            M119 correctly reports X and Y endstops (first/bottom is homed; then/middle is not; last/top is not for X and Y but I was tapping the nozzle to trigger the piezo):

            M119
            Endstops - X: not stopped, Y: not stopped, Z: not stopped, Z probe: at min stop
            M119
            Endstops - X: not stopped, Y: not stopped, Z: not stopped, Z probe: not stopped
            M119
            Endstops - X: at min stop, Y: at min stop, Z: not stopped, Z probe: not stopped
            

            No echo on M98 P"config.g" only green background on the message.

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

              I guess your config.g is stripped down enough that some of the usual things like showing HTTP and FTP enabled etc aren't present, so there's nothing getting echoed.

              Can you try adding M117 "Loading Config" to the end of config.g and when you save and reboot and send M98 P"config.g" again it should at least echo that.

              Ok it looks like endstops are reporting correctly.

              Z-Bot CoreXY Build | Thingiverse Profile

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

                ;Home X and Y
                G91                     	; relative positioning
                G1 Z5 F420 H2        		; Lower bed 5mm to ensure it is below the switch trigger height
                M400
                M913 X50 Y50	 		; set X Y motors to 50% of their normal current for homing
                G1 H1 X-375 Y-305 F600   	; course home X or Y
                G1 H1 X-375 F600              	; course home X
                G1 H1 Y-305 F600              	; course home Y
                G1 X5 Y5 F600             	; move away from the endstops
                G1 H1 X-10 F200           	; fine home X
                G1 H1 Y-10 F200               	; fine home Y
                G1 X5 Y5 F600  			; go to origin
                M400
                M913 X100 Y100	 		; set X Y motors to 100% of their normal current
                 
                ;Home Z
                G90              ; absolute positioning
                G1 X30 Y30 F600  ; go to first probe point
                G30              ; home Z by probing the bed
                G91              ; relative positioning
                G1 Z5 F420       ; lift Z relative to current position
                G90              ; absolute positioning
                 
                ;Load height map
                G29 S1
                

                Does your homeall match that now after the corrections?

                Z-Bot CoreXY Build | Thingiverse Profile

                1 Reply Last reply Reply Quote 0
                • equanimity8undefined
                  equanimity8
                  last edited by equanimity8

                  When I run M98 P"config.g" I get no new messages in the console but I see a "Loading config" floating message in the bottom right part of DWC.

                  My homeall wasn't matching what you have laid out. The difference was the H1 instead of S1. In any case, there is no change - same behaviour and error. For the sake of completeness I ran that line by line as well and it again fails on G1 X5 Y5 F600 with Error: G0/G1: insufficient axes homed.

                  1 Reply Last reply Reply Quote 0
                  • fcwiltundefined
                    fcwilt @equanimity8
                    last edited by

                    @equanimity8 said in Error when setting up independent motor bed levelling on CoreXY:

                    @fcwilt When I start with (G1 Z5 H2 F420) as per your suggestions I get a little but further, namely to G1 X5 Y5 F600 (line 8 in homeall.g) and I get the same error (Error: G0/G1: insufficient axes homed).

                    I don't understand what you mean by "get a little further"?

                    I just wanted you to execute that one command from the DWC console right after a reboot BEFORE doing anything else.

                    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
                    • equanimity8undefined
                      equanimity8
                      last edited by

                      By a little bit further I mean that I manage to execute more lines compared than before i.e. a bit further down the list of lines. I might have misunderstood you then. The (G1 Z5 H2 F420) command executes fine and I'm able to get to G1 X5 Y5 F600 (line 8 in homeall.g) before I get the error.

                      fcwiltundefined Phaedruxundefined 2 Replies Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator
                        last edited by

                        Ok at least we have confirmed that our config.g is being executed. You can delete the M117 now if you like.

                        At this point I think it may be useful to backup your current /sys folder files. (check box to highlight all files and then right click and download as zip.)

                        And then try a fresh config set from the web tool. something is wrong in there and it could even be hidden characters throwing it off. A fresh set of files would cross that off the list.

                        https://configtool.reprapfirmware.org/Start

                        If you have a recent config.json file in your /sys folder you can upload that to the tool to get your basic config settings populated, otherwise refer to the values from your existing config.g.

                        Bear in mind that you would need to manually add in the drive mapping for the second Z driver.

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 0
                        • equanimity8undefined
                          equanimity8
                          last edited by

                          I was actually going to bring up creating new config from scratch myself. I will do that (hopefully) tomorrow evening and report back.

                          Thanks all who tried to help!

                          1 Reply Last reply Reply Quote 0
                          • fcwiltundefined
                            fcwilt @equanimity8
                            last edited by

                            @equanimity8 said in Error when setting up independent motor bed levelling on CoreXY:

                            By a little bit further I mean that I manage to execute more lines compared than before i.e. a bit further down the list of lines. I might have misunderstood you then. The (G1 Z5 H2 F420) command executes fine and I'm able to get to G1 X5 Y5 F600 (line 8 in homeall.g) before I get the error.

                            Thanks.

                            So the line G1 X5 Y5 F600 is the command that is generating the error?

                            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 @equanimity8
                              last edited by

                              @equanimity8 said in Error when setting up independent motor bed levelling on CoreXY:

                              I'm able to get to G1 X5 Y5 F600 (line 8 in homeall.g) before I get the error.

                              Yes that line should back off the endstops fine because the endstops have already been triggered, which makes me think your endstops are inverted, but your trigger test with M119 seems to say the endstops are fine.

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • equanimity8undefined
                                equanimity8
                                last edited by

                                I confirm that after setting up the firmware from scratch everything works as expected. There are still a couple of things that need to be ironed out but I think they go beyond the scope of this thread as tilt correction works.

                                Thanks to all who helped, I wish I could buy you each a beer!

                                Best

                                sebkritikelundefined 1 Reply Last reply Reply Quote 3
                                • sebkritikelundefined
                                  sebkritikel @equanimity8
                                  last edited by

                                  @equanimity8 said in Error when setting up independent motor bed levelling on CoreXY:

                                  I confirm that after setting up the firmware from scratch everything works as expected. There are still a couple of things that need to be ironed out but I think they go beyond the scope of this thread as tilt correction works.

                                  Thanks to all who helped, I wish I could buy you each a beer!

                                  Best

                                  Glad to hear its mostly sorted! Any chance you could post the relevant updated files for us to cruise through? Would be interesting to compare & learn from.

                                  Large(ish?) IDEX - 6HC, 1HCL
                                  Stratasys Dimension 1200es to 6HC Conversion

                                  1 Reply Last reply Reply Quote 1
                                  • equanimity8undefined
                                    equanimity8
                                    last edited by

                                    @sebkritikel By all means! Bear in mind that I have made no changes of my own beyond what was discussed/posted in this thread (except for the fans but I find that irrelevant given the topic) - in other words, the new firmware is an amalgamation of the code cited here. In any case, I will link all relevant code snippets below in the hopes that they serve someone in the future.

                                    bed.g

                                    M561 ; clear any bed transform
                                    
                                    G28 ; home
                                    G30 P0 X105 Y0 Z-99999 ; probe near a leadscrew, half way along Y axis
                                    G30 P1 X105 Y150 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
                                    

                                    config.g

                                    ; General preferences
                                    G90                                     ; send absolute coordinates...
                                    M83                                     ; ...but relative extruder moves
                                    M550 P"Printer Extrusions"              ; set printer name
                                    M669 K1                                 ; select CoreXY mode
                                    
                                    ; Network
                                    M552 S1                                 ; enable network
                                    M586 P0 S1                              ; enable HTTP
                                    M586 P1 S0                              ; disable FTP
                                    M586 P2 S0                              ; disable Telnet
                                    
                                    ; Drives
                                    M569 P0 S1                              ; physical drive 0 goes forwards
                                    M569 P1 S1                              ; physical drive 1 goes forwards
                                    M569 P2 S0                              ; physical drive 2 goes backwards
                                    M569 P3 S1                              ; physical drive 3 goes forwards
                                    M569 P4 S0                              ; physical drive 4 goes backwards
                                    
                                    M584 X0 Y1 Z2:4 E3                      ; set drive mapping
                                    M671 X105:105 Y0:150 S5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                                    
                                    M350 X16 Y16 Z16 E16 I1                 ; configure microstepping with interpolation
                                    M92 X80.00 Y80.00 Z80 E456.00  		    ; set steps per mm
                                    M566 X900.00 Y900.00 Z1.00 E120.00     ; set maximum instantaneous speed changes (mm/min)
                                    M203 X6000.00 Y6000.00 Z1800.00 E1200.00 ; set maximum speeds (mm/min)
                                    M201 X500.00 Y500.00 Z250.00 E250.00     ; set accelerations (mm/s^2)
                                    M906 X1200 Y1200 Z1100 E1100 I30            ; set motor currents (mA) and motor idle factor in per cent
                                    M84 S30                                 ; Set idle timeout
                                    
                                    ; Axis Limits
                                    M208 X0 Y0 Z0 S1                        ; set axis minima
                                    M208 X210 Y150 Z150 S0                  ; set axis maxima
                                    
                                    ; Endstops
                                    M574 X1 Y1 Z0 S0
                                    
                                    ; Z-Probe
                                    M558 P8 H10 I1 R1 F600 X0 Y0 Z1
                                    G31 X0 Y0 Z-0.25 P600
                                    
                                    ; Heaters
                                    M140 H-1                                ; disable heated bed
                                    M305 P1 T100000 B4138 R4700             ; set thermistor + ADC parameters for heater 1
                                    M143 H1 S280                            ; set temperature limit for heater 1 to 250C
                                    
                                    ; Fans
                                    M106 P0 S0 I0 F500 H-1                  ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
                                    M106 P1 S1 I0 F500 H1 T50               ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
                                    
                                    ; Tools
                                    M563 P0 D0 H1 F0                        ; define tool 0
                                    G10 P0 X0 Y0 Z0                         ; set tool 0 axis offsets
                                    G10 P0 R0 S0                            ; set initial tool 0 active and standby temperatures to 0C
                                    
                                    ; Custom settings are not defined
                                    
                                    ; Miscellaneous
                                    T0                                      ; select first tool
                                    

                                    homeall.g

                                    ;Home X and Y
                                    G91                     	; relative positioning
                                    G1 Z5 F420 H2        		; Lower bed 5mm to ensure it is below the switch trigger height
                                    M400
                                    M913 X50 Y50	 		; set X Y motors to 50% of their normal current for homing
                                    G1 H1 X-375 Y-305 F600   	; course home X or Y
                                    G1 H1 X-375 F600              	; course home X
                                    G1 H1 Y-305 F600              	; course home Y
                                    G1 X5 Y5 F600             	; move away from the endstops
                                    G1 H1 X-10 F200           	; fine home X
                                    G1 H1 Y-10 F200               	; fine home Y
                                    G1 X5 Y5 F600  			; go to origin
                                    M400
                                    M913 X100 Y100	 		; set X Y motors to 100% of their normal current
                                     
                                    ;Home Z
                                    G90              ; absolute positioning
                                    G1 X100 Y50 F600  ; go to first probe point
                                    G30              ; home Z by probing the bed
                                    G91              ; relative positioning
                                    G1 Z5 F420       ; lift Z relative to current position
                                    G90              ; absolute positioning
                                     
                                    ;Load height map
                                    G29 S1
                                    
                                    sebkritikelundefined 1 Reply Last reply Reply Quote 1
                                    • sebkritikelundefined
                                      sebkritikel @equanimity8
                                      last edited by

                                      @equanimity8 said in Error when setting up independent motor bed levelling on CoreXY:

                                      @sebkritikel By all means! Bear in mind that I have made no changes of my own beyond what was discussed/posted in this thread (except for the fans but I find that irrelevant given the topic) - in other words, the new firmware is an amalgamation of the code cited here. In any case, I will link all relevant code snippets below in the hopes that they serve someone in the future.

                                      config.g
                                      M671 X105:105 Y0:150 S5 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                                      

                                      The only discernible change I see is the change from S1 to S5 - maybe thats all it took?

                                      old
                                      M671 X105:105 Y0:150 S1 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
                                      

                                      Large(ish?) IDEX - 6HC, 1HCL
                                      Stratasys Dimension 1200es to 6HC Conversion

                                      1 Reply Last reply Reply Quote 0
                                      • equanimity8undefined
                                        equanimity8
                                        last edited by equanimity8

                                        I tried changing from S5 to S1 and I observed no difference in the way the printer behaved.

                                        As a side question, how do I mark the thread as Solved?

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

                                          topic tools, ask as question, then topid tools, mark as solved.

                                          Z-Bot CoreXY Build | Thingiverse Profile

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