Duet3D Logo

    Duet3D

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Documentation
    • Order

    Solved Error when setting up independent motor bed levelling on CoreXY

    Tuning and tweaking
    5
    34
    385
    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.
    • equanimity8
      equanimity8 last edited by equanimity8

      Hi all,

      I'm working on a CoreXY that uses piezo to home and bed level. The setup consists of three motors in total but since I ran out of drivers I want to connect two motors to the Z driver and one to the E1 driver, effectively performing bed leveling using two independent motors.

      I followed the documentation and read previous threads on the topic but I'm getting an error even though the setup seems logical to me, thus I think I'm skipping a step somewhere and that's what's throwing me off.

      Both when I try to AutoHome and run G32 I get the error

      g32
      Error: G0/G1: insufficient axes homed
      

      My config.g is:

      ;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
      
      ; 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
      

      my bed.g is:

      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
      

      and my homeall.g is:

      ;Home X and Y
      G91                     	; relative positioning
      G1 Z5 F420 S2        		; Lower bed 5mm to ensure it is below the switch trigger height
      M913 X100 Y100	 		; set X Y motors to 50% of their normal current for homing
      G1 S1 X-375 Y-305 F600   	; course home X or Y
      G1 S1 X-375 F600              	; course home X
      G1 S1 Y-305 F600              	; course home Y
      G1 X5 Y5 F600             	; move away from the endstops
      G1 S1 X-10 F200           	; fine home X
      G1 S1 Y-10 F200               	; fine home Y
      G1 X5 Y5 F600  			; go to origin
      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
      

      Best!

      sebkritikel 1 Reply Last reply Reply Quote 0
      • mrehorstdmd
        mrehorstdmd last edited by

        @equanimity8 How can you move the bed in Z and tram it in 3 dimensions with only two independent adjustments?

        When the two Z driver connected motors get out of sync, and they will, how will they be driven back into sync?

        If the homing routine drove the bed to the bottom of the printer and a little beyond so that the the physical endstops are hit, and the endstops are positioned so that when they are hit the bed is trammed, at least along whichever axis the two Z drive connected motors are aligned with, you could then bring the bed back to the home position and run the auto tramming that would finish tramming. But, if you're going to do that, why not just set all three endstops at the bottom of the Z axis so that the bed is completely trammed and do away with the auto tramming entirely? Every time the printer powers up, run the bed down to the end of the Z axis and then bring it back up to home.

        Or belt the three Z axis screws to one motor. They'll never get out of sync and the bed will never tilt. You won't have to run it to the bottom of the Z axis every time you power up.

        https://drmrehorst.blogspot.com/

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

          I don't kid myself that proper tramming is possible with my setup and I don't aim for it. In any case, I realise that this approach is more of a clutch than a solution. Admittedly, I have no previous experience with such setups but I was hoping that the two motors wired to the same driver wouldn't get out of sync.

          I don't have any physical endstops on Z, so far I have only used the piezo for finding zero.

          I didn't mention it because I thought it was irrelevant but each motor drives a belt rather than a leadscrew. Previously, I did have a triple leadscrew setup connected to a single motor but I couldn't get rid of some artifacts due to them not being perfectly straight thus I decided to give belts a go.

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

            @equanimity8 So you know it can't work the way you're trying to do it. Why continue trying to do it that way?

            If the construction of the printer is reasonably solid, and there is a good leveling system, you won't need autotramming at all. I use two belts to lift the bed in my corexy machine framed with 4040 t-slot. The bed sits on three screws arranged as a kinematic mount. I frequently transport the printer in my car or in a truck and when I get where I'm going, I power up the machine and start printing without any adjustments. It never goes out of tram. The mount is so solid I can remove the bed from the machine and put it back without retramming. The two belts that lift the bed are driven by a single motor with a long shaft and two pulleys.

            Of course, you do need to tram the bed for the first time. For that I use the manual bed leveling assistant and a piece of paper. The process takes all of 2 minutes, even if you're extra careful.

            My printer has an optical Z=0 endstop with a fine adjusting differential screw. There are no bed sensors on the extruder carriage, so no wiring going to them. Even the X endstop is mounted on the printer's frame so I don't need wires for it running to the extruder carriage. I wrote the homex.g file so that it homes Y first, then X and it has worked with perfect reliability for a couple years.

            https://drmrehorst.blogspot.com/

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

              @mrehorstdmd Thanks for your thoughts. I'm familiar with your work and I value your opinion. The reason I'm trying to go with it in this way is that I wanted to experiment with belts instead of leadscrews on Z - I have certain parts on my hands and I'm trying to validate my premise using them, that's not meant to be a long-term solution.

              I'm still vexed by this error though, thus I welcome suggestions.

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

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

                Hi all,

                I'm working on a CoreXY that uses piezo to home and bed level. The setup consists of three motors in total but since I ran out of drivers I want to connect two motors to the Z driver and one to the E1 driver, effectively performing bed leveling using two independent motors.

                I followed the documentation and read previous threads on the topic but I'm getting an error even though the setup seems logical to me, thus I think I'm skipping a step somewhere and that's what's throwing me off.

                Both when I try to AutoHome and run G32 I get the error

                g32
                Error: G0/G1: insufficient axes homed
                

                My config.g is:

                ;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
                
                ; 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
                

                my bed.g is:

                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
                

                and my homeall.g is:

                ;Home X and Y
                G91                     	; relative positioning
                G1 Z5 F420 S2        		; Lower bed 5mm to ensure it is below the switch trigger height
                M913 X100 Y100	 		; set X Y motors to 50% of their normal current for homing
                G1 S1 X-375 Y-305 F600   	; course home X or Y
                G1 S1 X-375 F600              	; course home X
                G1 S1 Y-305 F600              	; course home Y
                G1 X5 Y5 F600             	; move away from the endstops
                G1 S1 X-10 F200           	; fine home X
                G1 S1 Y-10 F200               	; fine home Y
                G1 X5 Y5 F600  			; go to origin
                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
                

                Best!

                A small step, but can you place M400 directly before any M913 commands? I do see that you have both set to XC100 and Y100, perhaps while trouble shooting.

                https://forum.duet3d.com/topic/15952/release-3-01-rc10/62?_=1602439079914

                Could you also try using "home all" with G29 S1 commented out as a test?

                Also, which firmware version are you running?

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

                  @sebkritikel Thanks for your suggestions! I have fixed the mistake you found in row 4 of homeall.g it and it has made no difference (it was working correctly like that before) - it's not something I have changed while trying to make the conversion happen. The way homeall.g looks is the exact way I used it before, I have made changes to only to bed.g and config.g but I added homeall.g too for completeness' sake. Further, I tried to execute homeall.g with and without M400 before M913 as well as with G29 S1 commented out and not and there is no change in behaviour.

                  Other than that I run RRF 2.05.1. Not sure how I missed to mention that (facepalm).

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

                    It's tilt correction with 2 motors rather than actual leveling, but that's fine.

                    Can you post your full config.g and the results of M122 and M98 P"config.g"?

                    Definitely have M400 before M913

                    I don't see anything in your bed.g that would cause that insufficient axes homed error on 2.05.

                    Both when I try to AutoHome and run G32 I get the error

                    What do you mean by autohome?

                    Z-Bot CoreXY Build | Thingiverse Profile

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

                      @Phaedrux I concur, tilt correction is a more accurate term.

                      The console output when I run M122 and M98 P"config.g" in succession:

                      10/12/2020, 8:00:19 AM	M98 P"config.g"
                      10/12/2020, 8:00:07 AM	M122
                      === Diagnostics ===
                      RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later
                      Board ID: 08DDM-9FAM2-LW4SD-6J9DL-3S46L-K0XHW
                      Used output buffers: 1 of 24 (6 max)
                      === RTOS ===
                      Static ram: 25712
                      Dynamic ram: 93080 of which 476 recycled
                      Exception stack ram used: 272
                      Never used ram: 11532
                      Tasks: NETWORK(ready,676) HEAT(blocked,1232) MAIN(running,3800) IDLE(ready,160)
                      Owned mutexes:
                      === Platform ===
                      Last reset 00:00:43 ago, cause: power up
                      Last software reset at 2020-10-11 22:12, reason: User, spinning module GCodes, available RAM 11156 bytes (slot 2)
                      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d
                      Error status: 0
                      Free file entries: 10
                      SD card 0 detected, interface speed: 20.0MBytes/sec
                      SD card longest block write time: 0.0ms, max retries 0
                      MCU temperature: min 21.3, current 25.9, max 26.5
                      Supply voltage: min 11.9, current 12.0, max 12.1, under voltage events: 0, over voltage events: 0, power good: yes
                      Driver 0: standstill, SG min/max not available
                      Driver 1: standstill, SG min/max not available
                      Driver 2: standstill, SG min/max not available
                      Driver 3: standstill, SG min/max not available
                      Driver 4: standstill, SG min/max not available
                      Date/time: 2020-10-12 08:00:06
                      Cache data hit count 107691558
                      Slowest loop: 5.54ms; fastest: 0.06ms
                      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                      === Move ===
                      Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms
                      Bed compensation in use: none, comp offset 0.000
                      === DDARing ===
                      Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
                      === Heat ===
                      Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1
                      === GCodes ===
                      Segments left: 0
                      Stack records: 1 allocated, 0 in use
                      Movement lock held by null
                      http is idle in state(s) 0
                      telnet is idle in state(s) 0
                      file is idle in state(s) 0
                      serial is idle in state(s) 0
                      aux is idle in state(s) 0
                      daemon is idle in state(s) 0
                      queue is idle in state(s) 0
                      autopause is idle in state(s) 0
                      Code queue is empty.
                      === Network ===
                      Slowest loop: 15.73ms; fastest: 0.00ms
                      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
                      HTTP sessions: 1 of 8
                      - WiFi -
                      Network state is running
                      WiFi module is connected to access point 
                      Failed messages: pending 0, notready 0, noresp 0
                      WiFi firmware version 1.23
                      WiFi MAC address 2c:3a:e8:0b:1c:bb
                      WiFi Vcc 3.34, reset reason Turned on by main processor
                      WiFi flash size 4194304, free heap 23440
                      WiFi IP address 192.168.137.156
                      WiFi signal strength -53dBm, reconnections 1, sleep mode modem
                      Socket states: 0 0 0 0 0 0 0 0
                      

                      Also my full 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 
                      M569 P1 S1                     ; Drive 1 
                      M569 P2 S0                     ; Drive 2 
                      M569 P3 S1                     ; Drive 3 
                      M569 P4 S0                     ; Drive 4 
                      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
                      
                      ;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
                       
                      ; 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
                      

                      By AutoHome I mean the Home All button in the Dashboard tab. I apologise, I got my RRF and Marlin terms mixed up.

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

                        Can you manually send each line of your homeall.g in the gcode console from an unhomed state and see where you get the error message?

                        Z-Bot CoreXY Build | Thingiverse Profile

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

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

                          @Phaedrux I concur, tilt correction is a more accurate term.

                          Also my full config.g:

                          ; Drives
                          M569 P0 S1                     ; Drive 0 
                          M569 P1 S1                     ; Drive 1 
                          M569 P2 S0                     ; Drive 2 
                          M569 P3 S1                     ; Drive 3 
                          M569 P4 S0                     ; Drive 4 
                          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
                          
                          ;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
                          

                          You have a M584 command after M350 and M906 commands, which is not recommended. M584 must come before any M350 or M906 commands. https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping

                          After that is fixed, definitely try running each line of homeall.g through the console to see where the issue is.

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

                            I've put the ;Independent motors leveling section right after the drivers assigning part of config.g and it has made no difference. As a side note, is there a resource I can follow about the recommended sequence of gcode and/or what are good practices when setting up firmware (kind of like M400 before M913 which was discussed above)?

                            I get the error on the "G1 Z5 F420 S2" line.

                            sebkritikel Phaedrux 2 Replies Last reply Reply Quote 0
                            • sebkritikel
                              sebkritikel @equanimity8 last edited by

                              @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. As a side note, is there a resource I can follow about the recommended sequence of gcode and/or what are good practices when setting up firmware (kind of like M400 before M913 which was discussed above)?

                              I think the M913 and M584 both have notes in the Duet GCODE Wiki saying what other commands to look out for (M913 is a little less clear when it comes to the note on M400). Many other commands have notes/dependencies for other commands.

                              I get the error on the "G1 Z5 F420 S2" line.

                              That... doesn't make sense why it would fail there? For kicks, could you try changing the S2 to H2 instead? For your application, and being on 2.05.1, S2 and H2 should function the same.

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

                                No change.

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

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

                                  No change.

                                  As a test reboot your printer and enter that command (G1 Z5 H2 F420) in the DWC Console, just to be sure it is generating the "not homed" error.

                                  Thanks.

                                  Frederick

                                  Printers: A FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                                  1 Reply Last reply Reply Quote 0
                                  • Phaedrux
                                    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
                                    • equanimity8
                                      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.

                                      fcwilt 1 Reply Last reply Reply Quote 0
                                      • Phaedrux
                                        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
                                        • equanimity8
                                          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
                                          • Phaedrux
                                            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
                                            • Phaedrux
                                              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
                                              • equanimity8
                                                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
                                                • fcwilt
                                                  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 FT-5 with the 713 upgrade bits. A custom MarkForged style. A small Utilmaker style and a CoreXY from kits. Various hotends. Using Duets (2 and 3) running 3.4.1

                                                  1 Reply Last reply Reply Quote 0
                                                  • equanimity8
                                                    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.

                                                    fcwilt Phaedrux 2 Replies Last reply Reply Quote 0
                                                    • Phaedrux
                                                      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
                                                      • First post
                                                        Last post
                                                      Unless otherwise noted, all forum content is licensed under CC-BY-SA