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

    CoreXY Configuration Advice

    Scheduled Pinned Locked Moved
    General Discussion
    3
    5
    2.5k
    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.
    • cooliceundefined
      coolice
      last edited by

      Evening All.

      I have a Hypercube Evolution build with Duet Ethernet and BLTouch probe, which I have got working mostly, including auto bed compensation. However just tonight I've read that I should be running the G29 command on my CoreXY setup over the G32 and here is where I have hit a problem.
      Basically as I initiate run mesh grid compensation it either complains there is no grid assigned to the G29 command or doesn't deploy the probe and the nozzle crashes into the bed.

      Ideally I'd like to see someones CoreXY settings if at all possible, so I can see where I am going wrong and what goes where, but failing that some idea of what could be out would be appreciated.

      My config.g is as below;

      ; CoreXY Hypercube Evolution Duet firmware

      M111 S0 ; Debug off
      M550 Hypercube ; Machine name (can be anything you like)
      M551 xxxxxxxxxxx ; Machine password (used for FTP connections)
      M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address

      ;*** Adjust the IP address and gateway in the following 2 lines to suit your network
      M552 P0.0.0.0 S1 ; IP address (0 = use DHCP)
      M554 P192.168.1.1 ; Gateway
      M553 P255.255.255.0 ; Netmask
      M555 P2 ; Set output to look like Marlin
      M575 P1 B57600 S1 ; Comms parameters for PanelDue

      ; Machine configuration
      M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)
      M569 P1 S1 ; Drive 1 goes forwards
      M569 P2 S0 ; Drive 2 goes forwards
      M569 P3 S1 ; Drive 3 goes forwards
      M569 P4 S1 ; Drive 4 goes forwards

      ; If you use an endstop switch for Z homing, change Z0 to Z1 in the following line, and see also M558 command later in this file
      M574 X1 Y1 Z0 S1 ; set endstop configuration (X and Y and endstops only, at low end, active high)
      M667 S1 ; switch to CoreXY mode
      M92 X80 Y80 Z395 ; Set axis steps/mm
      M92 E420:420 ; Set extruder steps/mm
      M906 X800 Y800 Z900 E800 ; Set motor currents (mA)
      M201 X800 Y800 Z400 E1000 ; Accelerations (mm/s^2)
      M203 X15000 Y15000 Z2000 E3600 ; Maximum speeds (mm/min)
      M566 X600 Y600 Z30 E20 ; Maximum jerk speeds mm/minute
      M208 X290 Y244 Z275 ; set axis maxima (adjust to suit your machine)
      M208 X0 Y0 Z-0.5 S1 ; set axis minima (adjust to make X=0 and Y=0 the edges of the bed)
      G21 ; Work in millimetres
      G90 ; Send absolute coordinates…
      M83 ; ...but relative extruder moves

      ; Z probe
      M307 H3 A-1 C-1 D-1 ; use pin 3 on header for bltouch
      M558 P5 X0 Y0 Z1 H5 F500 T2000 ; probe type and use probe for homing z
      G31 X24 Y-18 Z0 P25 ; set probe height

      ; The following M557 commands are not needed if you are using a bed.g file to perform bed compensation
      ;*** Adjust the XY coordinates in the following M557 commands to suit your build and the position of the Z probe
      ;M557 P0 X60 Y0 ; Four...
      ;M557 P1 X60 Y165 ; ...probe points...
      ;M557 P2 X222 Y165 ; ...for bed...
      ;M557 P3 X222 Y0 ; ...levelling
      ;M557 P4 X141 Y82.5 ; 5th probe point for levelling

      ; Thermistors and heaters
      ;*** If you have a Duet board with 1K thermistor series resistors, change R4700 to R1000 to the following M305 commands
      ; You can also use S and B parameters to define the parameters of the thermistors you are using
      M305 P0 R4700 H0 L0 ; Put your own H and/or L values here to set the bed thermistor ADC correction
      M305 P1 R4700 H0 L0 ; Put your own H and/or L values here to set the first nozzle thermistor ADC correction
      M305 P2 R4700 H0 L0 ; Put your own H and/or L values here to set the second nozzle thermistor ADC correction
      M301 H1 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 0
      M301 H2 P10 I0.10 D100 T0.50 S1.0 ; PID settings for extruder 1
      M570 S120 ; Increase to allow extra heating time if needed

      ; Tool definition
      M563 P0 D0 H1 F0 ; Define tool 0 & Fan 0
      G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures
      ;*** If you have a dual-nozzle build, un-comment the following 3 lines
      ;M563 P1 D1 H2 ; Define tool 1
      ;G10 P1 S0 R0 ; Set tool 1 operating and standby temperatures

      ;*** If you are using axis compensation, put the figures in the following command
      M556 S78 X0 Y0 Z0 ; Axis compensation here
      T0 ; select first hot end

      I am still using a bed.g file, which I'm not sure if I should be or not and it's as follows;

      G28 ; home all
      G91 ; relative mode
      G1 Z5 F500 ; allow for 5mm between the nozzle and the bed
      G90 ; absolute mode
      M401 ; deploy probe
      M557 X10:280 Y10:220 S20 ; Define grid
      G29 ; run auto bed mesh level
      M402 ; retract probe
      G1 X10 Y10 F5000

      Meshlevel.g as follows;

      T0 ; select tool
      G91 ; relative coordinates
      G1 Z5 F6000 ; lower bed
      G28 X ; home X
      G28 Y ; home Y
      G90 ; absolute coordinates
      G1 X10 Y10 F3000 ; go to first bed probe point
      G28 Z ; Home Z
      M401 ; deploy probe
      G29 S2 ; clear height map
      M557 X10:280 Y10:220 S20 ; Define grid
      G29 ; Start mesh level
      M402 ; retract probe
      M374 ; save calibration data

      Thanks for your time.

      Ian

      1 Reply Last reply Reply Quote 0
      • Ak Ericundefined
        Ak Eric
        last edited by

        I have a 12x12 corexy machine, that does bed leveling with an inductance probe. Below are my config.g and bed.g. How I do my leveling & bed.g looks to be different than the gcodes you use, but maybe it can help you troubleshoot.

        config.g

        ; Init –------------------------------------------
        M111 S0 ; Debug off
        M550 Pavey's C-Bot ; Machine name
        M555 P2 ; Set output to look like Marlin
        G21 ; Work in millimeters
        G90 ; Send absolute coordinates...
        M83 ; ...but relative extruder moves
        M667 S1 ; Set CoreXY mode
        M208 X305 Y305 Z520 ; set axis maxima
        M563 P0 D0 H1 ; Tool 1 : D0 = Extruder stepper 1. H1 = First extruder heater.

        ; Stepper drive directions ----------------------------
        M569 P0 S1 ; X - Drive 0 goes forwards
        M569 P1 S0 ; Y - Drive 1 goes reversed
        M569 P2 S1 ; Z - Drive 2 goes forwards
        M569 P3 S0 ; E1 - Drive 3 goes backward - Bondtech BMG

        ; Endstop configuration -----------------------------------
        M574 X1 S0 ; Endstop configuration: X is min, NO, active LOW
        M574 Y1 S0 ; Endstop configuration: Y is min, NO, active LOW
        M574 Z1 S0 ; Endstop configuration: Y is min, NO, active LOW

        ; Accleration, jerk, speeds ----------------------------
        M201 X900 Y900 Z60 E1200 ; Maximum accelerations (mm/s^2)
        M566 X600 Y600 Z60 E600 ; Maximum jerk in mm/min
        M203 12000 12000 Z1200 E2500 ; Maximum travel speeds in mm/min

        ; Stepper Microstepping ---------------------------------------
        M92 X399.486 Y401.084 Z1609.82 ; Set XYZ axis steps/mm, 1/64 microstepping.
        M92 E415 ; Set extruder steps per mm, 1/16 microstepping, Bondtech BMG, 3:1 gear ratio, 415 E-step at 1/16th

        ; Z Probe --------------------------------
        M558 P4 X0 Y0 Z1 T5400 ; Set probe type + which axes should use the probe. M558 must come before G31.
        G31 X49 Y66 Z0 P500 ; Set the XY probe offset from toolhead inmm, + Z height and trigger threshold (put your own values here)
        ; If XY offsets are entered, they must be counted for in bed.g's G30 commands. Z was .4 without PEI

        ; Thermistors and heaters --------------------------------
        M305 P0 T100000 R4700 ; Bed thermistor
        M305 P1 T100000 R4700 B4267 ; E3D thermistor has beta value 4267
        M143 H0 S110 ; Set the maximum bed temperature in c - default is 110c
        M143 H1 S270 ; Set the maximum temperature of the hot-end in c - default is 263c

        ; Fans -----------------------------; Note: Before setting P0 theromstatic (H1), P1 would auto-turn on during boot.
        M106 P0 T60 H1 ; Hotend cooler: Enable fan to kick on at 60c.
        M106 P1 H-1 ; Filament cooler: Must do H-1, or it'll turn on with P0 for some reason.
        M106 P1 S0 ; Filament cooler: Must do, or will go full blast on start :S

        ; Firmware Retraction & Pressure Advance -----------------
        M207 S0.5 R-.1 F5400 T5400 ; Firmware Retraction : Positive S retracts, negative R unretracts (possitive R extra-extrudes),
        ; F retract speed, T unretract speed, Z zlift - Slicer must insert G10 & G11
        M572 D0 S0.05 ; Pressure Advance, acts like 'coast' in Simplify 3D.

        ; Finalization --------------------------------------------------------
        M18 ; Disable stepper motors
        T0 ; select first hot end

        ; config-override.g ---------------------------------------
        M501 ; Read values from config-override.g made by M500 - for pid autotune via M303

        And bed.g:

        M561 ; Clear any bed transform, otherwise homing may be at the wrong height
        G28 ; home the printer
        G1 X3 Y26 F1500 ; Move the nozzle to the front left corner of the bed. Same as in Simplify 3d start script 25mm/sec
        G92 X0 Y0 ; Zero coordinates here, bed home.

        ; Probe the bed and do 5-factor auto calibration
        ; I calculated (with calipers) probe from toolhead offsets are X49 Y52 & were entered into config.g's G31 command.

        ; These toolhead points were pre-caluclated by manually driving the toolhead around from home, and marking the locations.
        ; Make sure you never define a point that the sensor can't reach!
        ; IF you want to use these points, be sure you set config.g's G31 X0 Y0, or things will start smashing around.
        ;G30 P0 X0 Y0 Z-99999 ; Four... - Front Left
        ;G30 P1 X0 Y201 Z-99999 ; ...probe points... - Back Left
        ;G30 P2 X207 Y201 Z-99999 ; ...for bed... - Back Right
        ;G30 P3 X207 Y0 Z-99999 ; ...levelling - Front Right
        ;G30 P4 X103 Y100 Z-99999 S5 ; 5th probe point - Center + store the levelling

        ; These are the same toolhead points, but with the sensor offsets added. Note, to use these points, you must set config.g's G31 X49 Y66
        G30 P0 X49 Y66 Z-99999 ; Four... - Front Left
        G30 P1 X49 Y239 Z-99999 ; ...probe points... - Back Left
        G30 P2 X256 Y239 Z-99999 ; ...for bed... - Back Right
        G30 P3 X256 Y66 Z-99999 ; ...levelling - Front Right
        G30 P4 X152 Y150 Z-99999 S5 ; 5th probe point - Center + store the levelling

        G1 X0 Y0 F5400 ; Go back to the zero of the bed 90mm/sec
        G92 X3 Y26 ; Trick the printer to think it's offset again.
        G1 X0 Y0 F600 ; Send X & Y back to original machine home so we can purge the nozzle over open space 10mm/sec
        G92 X0 Y0 ; Zero coordinates here. Simplify3D will apply the above G1 X3 Y26 offset again before the prints starts.

        1 Reply Last reply Reply Quote 0
        • cooliceundefined
          coolice
          last edited by

          Thanks buddy, appreciate your input. I'm going to look at your code tomorrow and make some comparisons.

          Ian

          1 Reply Last reply Reply Quote 0
          • dc42undefined
            dc42 administrators
            last edited by

            If when you run G29 it complains that there is no grid defined, there are three possibilities:

            1. No M557 command has been executed to define the grid. Avoid this by putting a suitable M557 command in config.g.

            2. A M557 command has been executed, but there was something wrong with it. Run the M557 command from the GCode Console in DWC and see if it produces any error messages.

            3. You have attempted to load an existing height map (usually using G29 S1), but it failed. This could be because you generated the height map using firmware 1.18 or earlier and then loaded it using firmware 1.19. The height map format changed between firmware versions.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            1 Reply Last reply Reply Quote 0
            • cooliceundefined
              coolice
              last edited by

              Thanks David, I think I have it sorted now.
              Basically I think the update to V1.19 has helped, as before on V1.18 it wouldn't deploy the probe which was my main problem. With V1.19 + your little update, it deploys the probe and seems to work a treat.

              Now to fine tune some settings.

              Ian

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