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

    Mesh bed leveling

    Scheduled Pinned Locked Moved
    Using Duet Controllers
    3
    7
    447
    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.
    • Turricannundefined
      Turricann
      last edited by

      Is it possible on a duet 3 6hc to atrim each axis manually?

      Reason I ask is when I run 3 point bed leveling it seems to tram the bed but it leave a slight off set on one axis.

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

        Can you be more specific with what you want to do?

        If you mean can you move one of the Z axis motors independently, then yes you can, you would need to split that driver onto it's own axis temporarily and then move it and then re-combine it.

        Similar to how it was done previously in RRF2

        https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_In_RepRapFirmware_Num_2

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Turricannundefined
          Turricann
          last edited by

          When i run 3 point bed traming its as if front left is low by .1mm and rear right is high by around .1mm so the theroy is if i can add a manual offset to on point my bed would be level.

          Motors are positioned Front left and right and one rear center.

          bed.jpg

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

            Can you post your config.g, homing files, and bed.g?

            Z-Bot CoreXY Build | Thingiverse Profile

            Turricannundefined 1 Reply Last reply Reply Quote 0
            • Turricannundefined
              Turricann @Phaedrux
              last edited by Turricann

              @phaedrux

              config.g

              ; Configuration file for Duet 3 (firmware version 3.2RC3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v3.1.10 on Mon Dec 07 2020 21:49:17 GMT+0000 (Greenwich Mean Time)

              ; General preferences
              G21 ; Work in millimetres
              G90 ; send absolute coordinates...
              M83 ; ...but relative extruder moves
              M550 P"Duet 3" ; set printer name
              M669 K1 ; select CoreXY mode
              G4 S1 ;wait for expansion boards to start
              ;
              ; Drives (20.XX) denotes the Can-Bus address that the toolboard LC1 is operating on
              ;
              M671 X-4.5:190:478.5 Y-3.52:435:-3.52 P0.2 S5 ; Define positions of Z leadscrews or bed levelling screws Ratrig Stock

              M569 P0.3 S1 ; Duet 3 physical drive 0.0 goes backwards (X)
              M569 P0.4 S1 ; Duet 3 physical drive 0.1 goes backwards (Y)
              M569 P0.0 S0 ; Duet 3 physical drive 0.0 goes Forwards (Front Left Motor)
              M569 P0.1 S0 ; Duet 3 physical drive 0.1 goes Forwards (Middle Back Motor)
              M569 P0.2 S0 ; Duet 3 physical drive 0.2 goes Forwards (Front Right Motor)
              M569 P20.0 S0

              M584 X0.4 Y0.3 Z0.0:0.1:0.2 E20.0 ; 3 * Z motors connected, E20.0 = tool board , Need to keep Z in this order to match lead screw postions.

              M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
              M92 X160.00 Y160.00 Z1600.00 E409 ; set steps per mm for Hamera
              M566 X400.00 Y400.00 Z6.00 E120.00 P1 ; set maximum instantaneous speed changes (mm/min) ratrig stock
              M203 X10800.00 Y10800.00 Z1000.00 E3600.00 ; set maximum speeds (mm/min) ratrig stock
              M201 X5000.00 Y5000.00 Z100.00 E3600.00 ; set accelerations (mm/s^2) ratrig stock
              M906 X1400 Y1400 Z1400 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent
              ;M593 F34.2 <---- look into. ; cancel ringing at 34.2Hz
              M84 S30 ; Set idle timeout

              ; Axis Limits
              M208 X0 Y0 Z0 S1 ; set axis minima
              M208 X400 Y380 Z400 S0 ; set axis maxima

              ; Endstops
              M574 X1 S3 ; configure sensorless endstop for high end on X
              M574 Y1 S3 ; configure sensorless endstop for high end on Y
              M574 Z1 S2 ; Set endstops controlled by probe

              ; Z-Probe
              M950 S0 C"20.io0.out" ; create servo pin 0 for BLTouch
              M558 P9 C"^20.io0.in" H5 F100 R0.2 T6000 A5 B1 ; set Z probe type to bltouch and the dive height + speeds
              G31 P25 X32.5 Y-42 Z5.492 ; set Z probe trigger value, offset and trigger height
              M557 X35:400 Y30:320 P7 ; define 5x5 mesh grid

              ; Bed Heaters
              M308 S0 P"temp0" Y"thermistor" T100000 B3950K ; 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
              M307 H0 B1 S1.00 ; enable bang-bang mode for the bed heater and set PWM limit
              M140 H0 ; map heated bed to heater 0
              M143 H0 S120 ; set temperature limit for heater 0 to 120C

              ; Hotend Heaters
              M308 S1 P"20.temp0" Y"thermistor" T100000 B4725 C7.06e-8 ; Toolboard configure sensor 0 as a E3D thermistor on pin temp0
              M950 H1 C"20.out0" T1 ; Toolboard create nozzle heater output on out1 and map it to sensor 1
              M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit
              M143 H1 S301 ; set temperature limit for heater 1 to 301C

              ; Fans
              M950 F0 C"20.out1" ;Toolboard create fan 0 (Hotend cooling) on pin out1 and set its frequency
              M106 P0 S0 H1 T10 Q500 L255 ; set fan 0 value. Thermostatic control is turned off

              M950 F1 C"20.out2" Q500 L255 ; Toolboard (Partcooling) Fan1 on pin out2 and set its frequency
              M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on

              ; Fan for cooling duet
              M308 S2 Y"drivers" A"DRIVERS" ; configure sensor 2 as temperature warning and overheat flags on the TMC2660 on Duet
              M308 S3 Y"mcu-temp" A"MCU" ; configure sensor 3 as thermistor on pin e1temp for left stepper
              M950 F2 C"out7" Q100 ; create fan 2 on pin fan2 and set its frequency
              M106 P2 H2:3 L0.15 X1 B0.3 T40:70 ; set fan 2 value

              ; Tools
              M563 P0 D0 H1 F0 S"HOTEND" ; define tool 0
              G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets from bed center.
              G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

              ;Custom settings are not defined

              ; Linear Advance
              M572 D0 S0.03
              ; Retract
              M207 P0 S1.8 F2400 Z0.3 ; default Hemera retract settings

              ; Miscellaneous
              M575 P1 S1 B57600 ; enable support for PanelDue
              M501 ; load saved parameters from non-volatile memory
              M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
              T0 ; select first tool

              bed.g

              ; this script compensates for what the Z offset is
              ; so if G31 P500 X-30 Y-15 Z1.7 then first probe will be at
              ; X30 Y20 (when G30 P0 X0 Y5)

              M561 ; clear any bed transform
              G28

              G30 P0 X35 Y5 Z-99999 ; probe near front left leadscrew
              G30 P1 X200 Y335 Z-99999 ; probe near Rear leadscrew
              G30 P2 X400 Y5 Z-99999 S3 ; probe near Right leadscrew and calibrate 3 motors

              G30 P0 X35 Y5 Z-99999 ; probe near ;front left leadscrew
              G30 P1 X200 Y335 Z-99999 ; probe near ;Rear leadscrew
              G30 P2 X400 Y5 Z-99999 S3 ; probe near ;Right leadscrew and calibrate 3 motors

              G29 ; probe the bed and enable compensation

              G1 X200 Y200

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

                @turricann

                I don't see where you are setting the Z=0 datum with a single G30 to the center of the bed.

                You need to do that:

                • before creating the height map with G29
                • before loading the height map with G29
                • after leveling the bed with using multiple G30s

                You may want to consider splitting the bed leveling and height map creation into the the two files intended for each purpose.

                G29 by itself will run mesh.g (if it exists) so you can put all of the the commands needed to create the height map there.

                G32 by itself will run bed.g (if it exists) so you could put all of the the commands needed to do bed leveling there.

                This is consistent with the commands in the DWC pulldown menu that deals with bed leveling and mesh compensation.

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

                  Post your homeall

                  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