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

How to level the gantry on Voron2

Scheduled Pinned Locked Moved
Using Duet Controllers
4
8
420
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.
  • undefined
    CanDo415
    last edited by 14 Nov 2021, 16:02

    I feel compleatly stupid.
    How do i level the gantry on the Voron2?

    ;; system and network ----------------------------------------------------------------------------------
    M111 S0 ; Debug off
    M550 PVoron ; Machine name and Netbios name (can be anything you like)
    M551 Preprap ; Machine password (used for FTP)
    M552 S1 ; start network module (must have been configured first with M587)
    M586 P2 S1 T0 ; enable telnet
    M586 P1 S1 T0 ; enable ftp
    M555 P2 ; Set output to look like Marlin
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    ; Display ----------------------------------------------------------------------------------------------
    M575 P1 S1 B57600 ; activate paneldue
    ;; geometry --------------------------------------------------------------------------------------------
    M667 S1 ; corexy mode
    M208 X0 Y0 Z0 S1. ; S1 = set axes minima
    M208 X330 Y357 Z330 S0 ; S0 = set axes maxima
    ; drives -----------------------------------------------------------------------------------------------
    ; A B
    ;| 0.4 | | 0.5 |
    ; ----+---- Z-Drives
    ; | 3 | 2 |
    ; ----+----
    ; | 0 | 1 |
    ; ----+----
    ; Front
    M569 P1.0 S0 D3 ; X motor direction
    M569 P1.1 S0 D3 ; Y motor direction
    M569 P0.0 S1 D3 ; Z0 motor direction
    M569 P0.1 S0 D3 ; Z1 motor direction
    M569 P0.2 S1 D3 ; Z2 motor direction
    M569 P0.3 S0 D3 ; Z3 motor direction
    M569 P0.4 S1 ; E0 motor direction prefeed on colorselector
    M569 P0.5 S0 ; E1 motor direction hotend
    M569 P1.2 S0 ; U motor direction colorselector
    M584 X1.0 Y1.1 Z0.0:0.1:0.2:0.3 E0.4:0.5 U1.2 ; motor bindings
    M84 S3600 ; motor idle timeout
    M350 X16 Y16 Z16 E16 U16 I1 ; set microstepping
    M92 X80 Y80 Z400 E426 U400 ; set microsteps per mm
    M566 X5000 Y5000 Z1000 E1000 U1000 ; instantaneous speed change / jerk (mm/min)
    M203 X21000 Y21000 Z8000 E400 U1500 ; maximum speed (mm/min)
    M201 X1500 Y1500 Z300 E500 U1500 ; maximum acceleration (mm/s²)
    M906 X1100 Y1100 Z900 E900 U300 I30 ; motor drive current
    M84 S30 ; Set idle timeout
    endstops------------------------------------------------------------------------------------------------
    M574 X1 S1 P"io2.in" ; X min active low endstop switch IO1
    M574 Y2 S1 P"io1.in" ; Y min active low endstop switch IO2
    M574 Z1 S1 P"io4.in" ; Z min active low endstop switch IO3
    ;Filamentsensor----------------------------------------------------------------------------------------+
    ;M591 D1 P7 C"e1_stop" L3.3 R60:140 E7 A1 S1 ; Pulse-type filament monitor on pin e1stop, enabled, sensitivity 3.3mm/pulse, allowed movement 90% to 130%, check every 7.0mm
    ; Bed leveling params ----------------------------------------------------------------------------------
    ; define the z-probe, unsure, might not been needed
    ;M558 P5 C"zprobe.in" I1 A5 H1.45 R0.1 F65 T7000 A5 S0.01 B1
    M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
    M558 P9 C"io7.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X0 Y25 Z2.042 ; set Z probe trigger value, offset and trigger height
    M671 X-46:-46:345:345 Y9:368:368:9 S20 ; Z leadscrews positions +++++++++++++++++++++++++++++++++++++++++++++++++++
    M557 X50:330 Y50:330 S270 ; Bed mesh grid
    ; thermal section --------------------------------------------------------------------------------------
    ; M308 S3 Y"mcu-temp" A"Board" ; Board thermal sensor
    ; M912 P0 S-8 ; MCU tempurature sensor correction (subtract 8°K)
    ;Bed heater single thermistor setup, not used
    M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed Pad" ; configure sensor 0 as thermistor on pin temp0
    M950 H0 C"Out0" T0 ; create bed heater output on out0 and map it to sensor 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M307 H0 B0 S0.6 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 P0 H0 ; Mark heater h0 as bed heater (for DWC)
    ;Bed heater dual thermistor setup ----------------------------------------------------------------------
    ;M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 A"Bed Pad" ; configure sensor 0 as thermistor on pin bedtemp (pad sensor)
    ;M308 S2 P"e1temp" Y"thermistor" T100000 B3950 A"Bed Plate" ; configure sensor 2 as thermistor on pin e1temp (plate sensor)
    ;M950 H0 C"bedheat" T2 Q10 ; create bed heater output on out0 and map it to sensor 2 (plate sensor). Set PWM frequency to 10Hz
    ;M140 P0 H0 ; Mark heater H0 as bed heater (for DWC)
    ;M143 H0 P1 T0 A2 S115 C0 ; Regulate (A2) bed heater (H0) to have pad sensor (T0) below 110°C. Use Heater monitor 1 for it
    ;M143 H0 P2 T0 A1 S125 C0 ; Shut off (A1) bed heater (H0) if pad sensor (T0) exceeds 120°C. Use Heater monitor 2 for it
    ;M143 H0 S120 ; Set bed heater max temperature to 120°C, use implict monitor 0 which is implicitly configured for heater fault
    ;M307 H0 B1 S0.6 ; Enable Bang Bang mode and set PWM to 60% to avoid warping
    ;HotEnd ------------------------------------------------------------------------------------------------
    ;M308 S1 P"e0temp" Y"thermistor" T100000 B4685 C6.5338987554e-08 A"Hotend"
    M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.060000e-8 A"Hotend" ; configure sensor 1 as thermistor (ATC Semitec 104GT2)
    M950 H1 C"Out1" T1 ; create nozzle heater output on e0heat and map it to sensor 1
    M143 H1 S300 ; set temperature limit for heater 1 to 300°C
    M307 H1 B0 R3.482 C197.7 D6.33 S0.60 V24.1
    ;Chamber sensor (DHT22) --------------------------------------------------------------------------------
    ;M308 S7 P"spi.cs6" Y"dht22" A"Chamber Temp" ; define DHT22 temperature sensor
    ;M308 S8 P"S7.1" Y"dhthumidity" A"Chamber Hum[%]" ; Attach DHT22 humidity sensor to secondary output of temperature senso
    ; fans -------------------------------------------------------------------------------------------------
    ; part cooler OUT 7
    M950 F0 C"out7" Q500 ; part cooler, set to 20Hz PWM
    M106 P0 T60 H1 C"HotEnd" ; Name it "PartCooler"
    ;Hot End OUT 8
    M950 F1 C"out8" Q20 ; hotend fan, set to 20Hz PWM
    M106 P1 C"Part" ; attach hotend fan to heater 1 and set activation temperature to 60°C
    ;M106 P1 T60 H1 C"ToolFan" ; attach hotend fan to heater 1 and set activation temperature to 60°C
    ; controller / electronics fan OUT 4:5:6
    ;M950 F2 C"out4" Q500 ; electronics compartment fan on duex, set to 20Hz PWM
    ;M106 P2 H4 T45:50 ;C"ElectronicsFan1" ; fan is activated when MCU reports 35°C; runs on full speed from 50°C on
    ;M950 F3 C"out5" Q500 ; electronics compartment fan on duex, set to 20Hz PWM
    ;M106 P3 H4 T45:50 ;C"ElectronicsFan2"
    ;M950 F4 C"out6" Q500 ; electronics compartment fan on duex, set to 20Hz PWM
    ;M106 P4 H4 T45:50 ;C"ElectronicsFan3"
    ; chamber Fan
    ; M950 F3 C"duex.fan4" Q20 ; chamber fan on duex, set to 20Hz PWM
    ; M106 P3 T40:45 H7 C"ChamberFan" ; Chamberfan is activated when chamber thermistor reached 40°C; runs on full speed from 45°C on
    ; tools ------------------------------------------------------------------------------------------------
    M563 P0 S"White" D0:1 H1 F0:1 ; 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
    M568 P0 S1 ; enable mixing for tool 0
    M567 P0 E0.5:0.5 ; set mixing ratios for tool 0
    M563 P1 S"Zusatz 1" D1:0 H1 F0:1 ; define tool 1
    G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
    G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C
    M568 P1 S1 ; enable mixing for tool 1
    M567 P1 E0.5:0.5 ; set mixing ratios for tool 1
    M563 P2 S"Zusatz 2" D1:0 H1 F0:1 ; define tool 2
    G10 P2 X0 Y0 Z0 ; set tool 2 axis offsets
    G10 P2 R0 S0 ; set initial tool 2 active and standby temperatures to 0C
    M568 P2 S1 ; enable mixing for tool 2
    M567 P2 E0.5:0.5 ; set mixing ratios for tool 2
    M563 P3 S"Magneta" D0:1 H1 F0:1 ; define tool 3
    G10 P3 X0 Y0 Z0 ; set tool 3 axis offsets
    G10 P3 R0 S0 ; set initial tool 3 active and standby temperatures to 0C
    M568 P3 S1 ; enable mixing for tool 3
    M567 P3 E0.5:0.5 ; set mixing ratios for tool 3
    M563 P4 S"Cyan" D1:0 H1 F0:1 ; define tool 4
    G10 P4 X0 Y0 Z0 ; set tool 4 axis offsets
    G10 P4 R0 S0 ; set initial tool 4 active and standby temperatures to 0C
    M568 P4 S1 ; enable mixing for tool 4
    M567 P4 E0.5:0.5 ; set mixing ratios for tool 4
    M563 P5 S"Yellow" D0:1 H1 F0:1 ; define tool 5
    G10 P5 X0 Y0 Z0 ; set tool 5 axis offsets
    G10 P5 R0 S0 ; set initial tool 5 active and standby temperatures to 0C
    M568 P5 S1 ; enable mixing for tool 5
    M567 P5 E0.5:0.5 ; set mixing ratios for tool 5
    M563 P6 S"Black" D0:1 H1 F0:1 ; define tool 6
    G10 P6 X0 Y0 Z0 ; set tool 6 axis offsets
    G10 P6 R0 S0 ; set initial tool 6 active and standby temperatures to 0C
    M568 P6 S1 ; enable mixing for tool 6
    M567 P6 E0.5:0.5 ; set mixing ratios for tool 6
    M563 P7 S"Direct only" D0:1 H1 ; define tool 7
    G10 P7 X0 Y0 Z0 ; set tool 7 axis offsets
    G10 P7 R0 S0 ; set initial tool 7 active and standby temperatures to 0C
    M568 P7 S1 ; enable mixing for tool 7
    M567 P7 E0:0.5 ; set mixing ratios for tool 7
    ;MISC --------------------------------------------------------------------------------------------------
    T0 ; activate tool 0
    ;LED
    M150 X0 ;Dotstar LED strip
    ; read config-override.g
    ;M501
    ;; firmware retraction ---------------------------------------------------------------------------------
    ;; Choose one as your default:
    ;M98 P"/macros/retraction/quiet_nozhop.g
    ;M98 P"/macros/retraction/quiet_zhop.g
    ;M98 P"/macros/retraction/pa_nozhop.g"
    ;M98 P"/macros/retraction/pa_zhop.g"
    ? undefined 2 Replies Last reply 14 Nov 2021, 18:28 Reply Quote 0
    • ?
      A Former User @CanDo415
      last edited by A Former User 14 Nov 2021, 18:28

      This post is deleted!
      1 Reply Last reply Reply Quote 0
      • undefined
        zapta @CanDo415
        last edited by 14 Nov 2021, 20:46

        @cando415 , you can see an example in this github repository https://github.com/ocgeek/Duet-Mini5-Backup , this is also what I used as a starting point.

        They use iterations, either a fixed number of iterations (I do 3) or until the deviation is blow some threshold.

        Check that macros directory for a QGL macro.

        1 Reply Last reply Reply Quote 0
        • undefined
          CanDo415
          last edited by 15 Nov 2021, 09:04

          Holy shit. Not as easy as mentioned.
          still working on it.

          undefined 1 Reply Last reply 15 Nov 2021, 14:54 Reply Quote 0
          • undefined
            zapta @CanDo415
            last edited by zapta 15 Nov 2021, 14:54

            @cando415, if it helps, my script for V2.4/250 looks like the one below (it's still in flux and I cleaned it before posting here so take with a grain of salt). It always does three iterations and uses the stowaway style 'clicky' probe.

            $ cat QGL
            if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
            echo "Can't QGL: Not XYZ homed."
            abort
            M98 P"/macros/clicky_pick"
            echo "Starting mag probe QGL"
            M561 ; Disable mesh compensation.
            echo "Bed transformation cleared"
            ; Move fast near first point
            G1 X32 Y11 Z30
            ; Lower currents, speed & accel
            M98 P"/macros/speed_probing"
            M98 P"/macros/z_current_low" ; reduce current to limit potential damages
            ; Pass 1
            echo "Doing 1st pass. Old deviation was: " ^ move.calibration.initial.deviation
            M558 K0 H10 F3000 ; increase the depth range, gets the gantry mostly level immediately
            M98 P"/sys/bed_probe_points.g"
            ; Pass 2
            echo "Doing 2nd pass. Current deviation: " ^ move.calibration.initial.deviation
            ; NOTE: speed subject to Z speed limit set by /macros/speed_probing.
            M558 K0 H4 F600 ; reduce depth range, probe slower for better repeatability
            M98 P"/sys/bed_probe_points.g"
            echo "Current deviation: " ^ move.calibration.initial.deviation
            ; Pass 3
            echo "Doing 3rd pass. Current deviation: " ^ move.calibration.initial.deviation
            ; NOTE: speed subject to Z speed limit set by /macros/speed_probing.
            M558 K0 H2 F300 ; reduce depth range, probe slower for better repeatability
            M98 P"/sys/bed_probe_points.g"
            echo "Current deviation: " ^ move.calibration.initial.deviation
            ; Restore (?)
            M558 K0 H5 F600
            M98 P"/macros/z_current_high"
            M98 P"/macros/speed_printing"
            G1 Z30
            M98 P"/macros/clicky_drop"
            1 Reply Last reply Reply Quote 1
            • undefined
              CanDo415
              last edited by 16 Nov 2021, 07:52

              The Gantry is lowering between P1-P4 while moving to P2-P4. Moving to P0 works fine.
              I remember i read this somewere in the forum, but didn't find it anymore.

              ; bed.g
              G28 XY
              G90
              G30 P0 X0 Y34 Z-99999
              G30 P1 X330 Y34 Z-99999
              G30 P2 X330 Y330 Z-99999
              G30 P3 X0 Y330 Z-99999 S4
              undefined 1 Reply Last reply 17 Nov 2021, 04:30 Reply Quote 0
              • undefined
                Phaedrux Moderator @CanDo415
                last edited by 17 Nov 2021, 04:30

                @cando415 I'm not sure what you mean in your last post.

                Z-Bot CoreXY Build | Thingiverse Profile

                undefined 1 Reply Last reply 17 Nov 2021, 12:51 Reply Quote 0
                • undefined
                  CanDo415 @Phaedrux
                  last edited by CanDo415 17 Nov 2021, 12:51

                  @phaedrux
                  While treveling from Probepoint 1 to P2 (or P2-> P3 or P3->P4) Z moves down simultaniusly.

                  now I use

                  ; bed.g
                  M150 R145 U40 B0 Y1 S1 F0
                  G28 XY
                  G1 X10 y10 Z5 F30000
                  G30 P0 X10 Y40 Z-99999
                  G1 X325 y10 Z5 F30000
                  G30 P1 X325 Y40 Z-99999
                  G1 X325 y300 Z5 F30000
                  G30 P2 X325 Y330 Z-99999
                  G1 X10 y300 Z5 F30000
                  G30 P3 X10 Y330 Z-99999 S4
                  M150 R0 U255 B0 Y1 S1 F0

                  it works better, but not as supposed in the tutorials

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