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

    M376 and where to use it

    Scheduled Pinned Locked Moved Solved
    Gcode meta commands
    3
    10
    652
    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.
    • 57buickundefined
      57buick
      last edited by 57buick

      SO I put my G29 S1 command to use mesh bed leveling at the beginning of my bed.g file.
      Do I put the M376 H10 to taper bed leveling in the same bed.g file? or somewhere else?
      Do I put it directly after the G29 line or as a last step in the file? The instructions dont specify where to put the m376

      57buickundefined 1 Reply Last reply Reply Quote 0
      • 57buickundefined
        57buick @57buick
        last edited by

        I have CURA set to do a G32 at the beginning of every print so I assume I would put the M376 H10 at the end of the bed.g file?

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

          I would put M376 in config.g since it only needs to be set once.

          I don't think I would want to load the heightmap at the start of bed.g but I guess it would depend what else is happening in bed.g. If loading the heightmap is all you are doing in bed.g then that's fine. If you were doing auto leveling, you wouldn't want the mesh loaded until after.

          Z-Bot CoreXY Build | Thingiverse Profile

          57buickundefined 1 Reply Last reply Reply Quote 0
          • 57buickundefined
            57buick @Phaedrux
            last edited by

            @phaedrux So just put my G29 s1 and M376 H10 at the end of the drive section?

            ; Configuration file for Duet 3 (firmware version 3.3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v3.3.10 on Sun May 08 2022 18:05:16 GMT-0700 (Pacific Daylight Time)

            ; General preferences
            G90 ; send absolute coordinates...
            M83 ; ...but relative extruder moves
            M550 P"ratrig500" ; set printer name
            M669 K1 ; select CoreXY mode

            ; Wait a moment for the CAN expansion boards to start
            G4 S1

            ; Network
            M552 P192.168.50.107 S1 ; enable network and acquire dynamic address via DHCP
            M586 P0 S1 ; enable HTTP
            M586 P1 S0 ; disable FTP
            M586 P2 S0 ; disable Telnet

            ; Drives
            M569 P0.0 S0 ; physical drive 0.0 goes backwards
            M569 P0.1 S0 ; physical drive 0.1 goes backwards
            M569 P0.2 S0 ; physical drive 0.2 goes backwards
            M569 P3 S1 ; physical drive 0.3 goes forwards
            M569 P4 S1 ; physical drive 0.4 goes forwards
            M569 P121.0 S0 ; physical drive 121.0 goes backwards
            M584 X4 Y3 Z0:1:2 E121.0 ; set drive mapping
            M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
            M92 X80.00 Y80.00 Z800.00 E420.00 ; set steps per mm
            M566 X600.00 Y600.00 Z50 E600 P1 ; set maximum instantaneous speed changes (mm/min)
            M203 X10800.00 Y10800.00 Z600.00 E3600.00 ; set maximum speeds (mm/min)
            M201 X3000.00 Y3000.00 Z100.00 E3600.00 ; set accelerations (mm/s^2)
            M906 X1200 Y1200 Z1400 E800 I50 ; set motor currents (mA) and motor idle factor in per cent
            M84 S30 ; Set idle timeout
            G29 S1
            M376 H10

            ; Axis Limits
            M208 S1 X-11 Y20 z-550 ; set axis lower limits
            M208 S0 X510 Y510 z500 ; set axis upper limits

            ; Endstops
            M574 X1 S1 P"121.io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin 121.io1.in
            M574 Y2 S1 P"io0.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin io0.in
            M574 Z1 S2

            ; Z-Probe
            M558 P8 C"121.io0.in" H10 F150 T4000 ; set Z probe type to unmodulated and the dive height + speeds
            G31 P50 X-20 Y-10 Z1.55 ; set Z probe trigger value, offset and trigger height
            M671 X-85:238:560 Y-5:578:-5 S7.5 ;Leadscrew locations
            M557 X30:470 Y30:470 P5 ;define mesh grid

            ; Heaters
            M308 S0 P"temp0" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0
            M950 H0 C"out0" T0 ; create bed heater output on out1 and map it to sensor 0
            M307 H0 R0.359 K0.109:0.000 D5.73 E1.35 S1.00 B0 ; disable bang-bang mode for the bed heater and set PWM limit
            M140 H0 ; map heated bed to heater 0
            M143 H0 S150 ; set temperature limit for heater 0 to 150C
            M308 S1 P"121.temp0" Y"pt1000" ; configure sensor 1 as PT1000 on pin 121.temp0
            M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1
            M307 R=2.821 K=0.691:0.000 D=5.62 ; disable bang-bang mode for heater and set PWM limit
            M143 H1 S280 ; set temperature limit for heater 1 to 280C

            ; Fans
            M950 F0 C"121.out1" Q500 ; create fan 0 on pin 121.out2 and set its frequency
            M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off
            M950 F1 C"121.out2" Q500 ; create fan 1 on pin 121.out1 and set its frequency
            M106 P1 S1 H1 T45 ; set fan 1 value. 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

            ;accelerometer settings
            M955 P121.0 I14 ; set to toolboard address 121 and orientation of 14

            ; Miscellaneous
            T0 ; select first tool

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

              @57buick said in M376 and where to use it:

              So just put my G29 s1 and M376 H10 at the end of the drive section?

              Yes to M376 H10, but G29 S1 shouldn't go in config.g. You only want to enable the heightmap after you have homed the printer. A good place for it would be the end of homeall.g or in your slicer start gcode after homing.

              Z-Bot CoreXY Build | Thingiverse Profile

              airscapesundefined 1 Reply Last reply Reply Quote 0
              • airscapesundefined
                airscapes @Phaedrux
                last edited by

                @Phaedrux So just want to verify where M376 would go in this macro
                I Assume at the end? I have not tried it but am in the middle of a 175mm tall print that I would have rather tapered off..
                Thanks,
                Doug

                G29 S2 ; unload any map
                G28 Home all
                G1 F1000 X100 Y125 Z4 ; Center 5mm away
                G30 ; probe bed
                G29 S1 P"110C-Fullbed-NoShim11mm.csv"
                M376 H15

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

                  That looks fine. You can send it whenever you need really.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  airscapesundefined 1 Reply Last reply Reply Quote 0
                  • airscapesundefined
                    airscapes @Phaedrux
                    last edited by

                    @Phaedrux When you say you can send it when you need.. can it be sent after the print starts??
                    Thanks

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

                      Yes you can send it after the print starts, though I'm not totally sure how it will behave. Since it's a taper starting from layer 0, the best time to send it is at the start. but If you're just wanting to stop the taper anyway, I don't see why it would be a problem to send it mid print.

                      Z-Bot CoreXY Build | Thingiverse Profile

                      airscapesundefined 1 Reply Last reply Reply Quote 0
                      • airscapesundefined
                        airscapes @Phaedrux
                        last edited by

                        @Phaedrux Thanks! Seems to work as expected in the macro! Good to know if I can send it any time as well. Thanks again!

                        1 Reply Last reply Reply Quote 0
                        • Phaedruxundefined Phaedrux marked this topic as a question
                        • Phaedruxundefined Phaedrux has marked this topic as solved
                        • First post
                          Last post
                        Unless otherwise noted, all forum content is licensed under CC-BY-SA