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

    Every time I print, I need to increase baby steps

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    6
    44
    5.3k
    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.
    • TimsWorkshopundefined
      TimsWorkshop
      last edited by

      Hi all... I'm doing some test prints on a design so I'm printing a lot of pieces over and over to get the dimensions just right.

      What I'm noticing, is that with every print, I need to increase the baby steps more and more. Even though I'm using the same filament, the same layer height, the same bed, the same printer... with each subsequent print, I have to hit the + baby steps 6-8 times (which is currently set at 0.01).

      I've got a Ender 5 Plus, stock bed plate, but TH3D flexible built plate. The stock bed has the 4 screws to adjust the springs and while my other E5+, same everything, but on Marlin, I can set and forget the offset and I don't need to adjust with each new print.

      So I'm not sure if this is a RepRap config problem, or if my springs are adjusting with each print and I need to get rid of these springs and print a mod which I don't need to adjust.
      Any thoughts, ideas or suggestions would be very helpful!

      Thanks!

      Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

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

        Post your config.g, bed.g, homeall.g, homez.g, mesh.g and start.g if you use them. Your slicer start and end gcode. Then we can see what it's doing.

        Z-Bot CoreXY Build | Thingiverse Profile

        TimsWorkshopundefined 1 Reply Last reply Reply Quote 0
        • jens55undefined
          jens55
          last edited by

          Many moons ago, I saw the same issue. As far as I can remember, the issue was related to a reset issue of the displayed babystep value. I don't unfortunately remember the exact details but it boiled down to the babystep value was reset on one end but the display on the DWC didn't get reset.
          Sorry I can't be of more help ....

          jens55undefined 1 Reply Last reply Reply Quote 0
          • jens55undefined
            jens55 @jens55
            last edited by

            Old age is severely messing with my brain .... what I experienced was with a Marlin based setup not with the Duet based printer.
            Sorry for the brain wobble !

            1 Reply Last reply Reply Quote 0
            • TimsWorkshopundefined
              TimsWorkshop @Phaedrux
              last edited by

              @phaedrux ahh crap, I meant to post those was printing stuff! Please see below and thanks for the help!

              config.g

              ; Configuration file for Duet WiFi (firmware version 3)
              ; executed by the firmware on start-up
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 08 2021 21:27:12 GMT+1000 (Australian Eastern Standard Time)
              
              ; General preferences
              G90                                                ; send absolute coordinates...
              M83                                                ; ...but relative extruder moves
              M550 P"Oneill"                                     ; set printer name
              
              ; Network
              M552 S1                                            ; enable network
              M586 P0 S1                                         ; enable HTTP
              M586 P1 S0                                         ; disable FTP
              M586 P2 S0                                         ; disable Telnet
              
              ; Drives
              M569 P0 S0                                         ; physical drive 0 goes backwards
              M569 P1 S0                                         ; physical drive 1 goes backwards
              M569 P2 S1                                         ; physical drive 2 goes forwards
              M569 P3 S1                                         ; physical drive 3 goes backwards
              M584 X0 Y1 Z2 E3                                   ; set drive mapping
              M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
              M92 X80.00 Y80.00 Z800.00 E138.00                  ; set steps per mm
              M566 X900.00 Y900.00 Z300.00 E2000.00                ; set maximum instantaneous speed changes (mm/min)
              M203 X6000.00 Y6000.00 Z600.00 E6000.00            ; set maximum speeds (mm/min)
              M201 X500.00 Y500.00 Z100.00 E3000.00                ; set accelerations (mm/s^2) 200
              M906 X800 Y800 Z800 E800 I30                       ; set motor currents (mA) and motor idle factor in per cent
              M84 S30                                            ; Set idle timeout
              
              ; Axis Limits
              ;M208 X372 Y370 Z400 S0                             ; set axis maxima
              ;M208 X13 Y15 Z-10 S1                               ; set axis minima
              M208 X5 Y0 Z-10 S1                              ; set axis minima
              M208 X355 Y355 Z400 S0                             ; set axis maxima
              
              ; Endstops
              M574 X2 S1 P"xstop"                                ; configure active-high endstop for low end on X via pin xstop
              M574 Y2 S1 P"ystop"                                ; configure active-high endstop for low end on Y via pin ystop
              M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
              
              ; Z-Probe
              M558 P5 C"!zprobe.in" H3 F650 T12000 			  ; 900
              ;G31 P500 X47 Y10 Z4.235                          ; set Z probe trigger value, offset and trigger height
              G31 P500 X47 Y10 Z1.925                           ; set Z probe trigger value, offset and trigger height
              ;M557 X57:349 Y10:354 P20                           ; define mesh grid
              M557 X90:400 Y15:360 P20                           ; define mesh grid
              
              ; Heaters
              M308 S0 P"bedtemp" Y"thermistor" T100000 B4138     ; configure sensor 0 as thermistor on pin bedtemp
              M950 H0 C"bedheat" T0                              ; create bed heater output on bedheat and map it to sensor 0
              M307 H0 B0 S1.00                                   ; disable 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
              M308 S1 P"e0temp" Y"thermistor" T100000 B4138      ; configure sensor 1 as thermistor on pin e0temp
              M950 H1 C"e0heat" T1                               ; create nozzle heater output on e0heat and map it to sensor 1
              M307 H1 B0 S1.00                                   ; 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"fan0" Q500                               ; create fan 0 on pin fan0 and set its frequency
              M106 P0 S0 H-1                                     ; set fan 0 value. Thermostatic control is turned off
              M950 F1 C"fan1" Q500                               ; create fan 1 on pin fan1 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
              
              ; Custom settings are not defined
              ; Filament Runout Sensor
              M591 D0 P1 C"e0stop" S1
              
              ; TFT Display Config
              M575 P1 S1 B57600
              
              ; Miscellaneous
              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
              
              ; Setup Manual Bed Levelling Assistant
              ;M671 X55:338:338:55 Y311:311:51:51 P0.5			   ; Back-left:Back-Right:Front-Right:Front-Left
              

              bed.g

              ; bed.g
              ; called to perform automatic bed compensation via G32
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 08 2021 21:27:11 GMT+1000 (Australian Eastern Standard Time)
              M561 ; clear any bed transform
              G29  ; probe the bed and enable compensation
              

              homeall.g

              ; homeall.g
              ; called to home all axes
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 08 2021 21:27:12 GMT+1000 (Australian Eastern Standard Time)
              G91                     ; relative positioning
              G1 H2 Z5 F6000          ; lift Z relative to current position
              G1 H1 X355 Y355 F6000 ; move quickly to X and Y axis endstops and stop there (first pass)
              G1 H2 X-5 Y-5 F6000       ; go back a few mm
              G1 H1 X355 Y355 F360  ; move slowly to X and Y axis endstops once more (second pass)
              G1 H2 Z-5 F6000         ; lower Z again
              G90                     ; absolute positioning
              
              G1 X220 Y175 F6000        ; go to first bed probe point and home Z
              M558 F900              ; Home EZABL Fast 15mm/s
              G30                    ; home Z by probing the bed
              M558 F450              ; Home EZABL Slow 7.5mm/s
              G30                    ; home Z by probing the bed  
              
              ; Uncomment the following lines to lift Z after probing
              ;G91                    ; relative positioning
              ;G1 Z5 F100             ; lift Z relative to current position
              ;G90                    ; absolute positioning
              

              homez.g

              ; homez.g
              ; called to home the Z axis
              ;
              ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 08 2021 21:27:13 GMT+1000 (Australian Eastern Standard Time)
              G91              ; relative positioning
              G1 H2 Z5 F6000   ; lift Z relative to current position
              G90              ; absolute positioning
              G1 X220 Y175 F6000  ; go to first probe point
              G30              ; home Z by probing the bed
              
              ; Uncomment the following lines to lift Z after probing
              ;G91             ; relative positioning
              ;G1 Z5 F100      ; lift Z relative to current position
              ;G90             ; absolute positioning
              

              I don't have a mesh.g file...

              start.g

              ; Added for the TFT Display
              M409 K"job.file.fileName"
              

              Start of gcode file

              ;FLAVOR:RepRap
              ;TIME:706
              ;Filament used: 0.461211m
              ;Layer height: 0.2
              ;MINX:141.104
              ;MINY:155.429
              ;MINZ:0.2
              ;MAXX:198.879
              ;MAXY:198.571
              ;MAXZ:5
              ;Generated with Cura_SteamEngine 4.9.1
              T0
              M190 S60
              M104 S200
              M109 S200
              M82 ;absolute extrusion mode
              G28 ;Home
              
              G92 E0 ;Reset Extruder
              G1 Z2.0 F3000 ;Move Z Axis up
              G1 X1.1 Y1 Z0.28 F5000.0 ;Move to start position
              G1 X1.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line
              G1 X1.4 Y200.0 Z0.28 F5000.0 ;Move to side a little
              G1 X1.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line
              G92 E0 ;Reset Extruder
              G1 Z2.0 F3000 ;Move Z Axis up
              M83 ;relative extrusion mode
              G1 F2100 E-1.5
              ;LAYER_COUNT:25
              ;LAYER:0
              M107
              M204 T500
              M566 X480 Y480
              G0 F7500 X153.678 Y161.024 Z0.2
              M204 P500
              

              End of gcode file

              ;TIME_ELAPSED:706.120260
              G1 F2100 E-1.5
              M140 S0
              M566 X600 Y600
              M82 ;absolute extrusion mode
              M107
              G91 ;Relative positioning
              G1 E-2 F2700 ;Retract a bit
              G1 E-2 Z0.2 F2400 ;Retract and raise Z
              G1 X5 Y5 F3000 ;Wipe out
              G1 Z10 ;Raise Z more
              G90 ;Absolute positioning
              
              G1 X0 Y354.0 ;Present print
              M106 S0 ;Turn-off fan
              M104 S0 ;Turn-off hotend
              M140 S0 ;Turn-off bed
              
              M84 X Y E ;Disable all steppers but Z
              
              M83 ;relative extrusion mode
              M104 S0
              ;End of Gcode
              

              Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

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

                @infidelprops said in Every time I print, I need to increase baby steps:

                ; Z-Probe M558 P5 C"!zprobe.in" H3 F650 T12000 ; 900
                G31 P500 X47 Y10 Z1.925

                What kind of probe are you using? How did you measure the trigger offset?

                Is it always the same amount of baby stepping needed each time?

                Are you using mesh compensation? When are you loading it if you are?

                I should have also asked for the results of M122 and M98 P"config.g"

                Z-Bot CoreXY Build | Thingiverse Profile

                TimsWorkshopundefined 1 Reply Last reply Reply Quote 0
                • TimsWorkshopundefined
                  TimsWorkshop @Phaedrux
                  last edited by

                  @phaedrux thanks for the response mate and looking into it.
                  I've got an EZABL and I used this article to set it up and set my offset.

                  It's roughly the same amount, 0.06 - 0.08, but it varies.
                  I did run a G29 earlier and I've got a height map, but not sure if I'm loading it or not... I think it's in the bed.g file G29 ; probe the bed and enable compensation

                  Here's the output of M122

                  M122
                  === Diagnostics ===
                  RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet WiFi 1.02 or later
                  Board ID: 0JD0M-9P6B2-NJ4S8-6J1F4-3SN6S-9U4AJ
                  Used output buffers: 3 of 24 (24 max)
                  === RTOS ===
                  Static ram: 23460
                  Dynamic ram: 73460 of which 76 recycled
                  Never used RAM 15084, free system stack 99 words
                  Tasks: NETWORK(ready,169) HEAT(blocked,308) MAIN(running,410) IDLE(ready,20)
                  Owned mutexes:
                  === Platform ===
                  Last reset 26:25:56 ago, cause: software
                  Last software reset at 2021-08-29 17:33, reason: User, GCodes spinning, available RAM 15084, slot 0
                  Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                  Error status: 0x08
                  Aux0 errors 0,0,0
                  MCU temperature: min 27.6, current 35.6, max 36.5
                  Supply voltage: min 23.7, current 24.0, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
                  Driver 0: position 4530, standstill, SG min/max 0/334
                  Driver 1: position 12540, ok, SG min/max 0/523
                  Driver 2: position 42, standstill, SG min/max 0/543
                  Driver 3: position 0, standstill, SG min/max 0/1023
                  Driver 4: position 0, standstill, SG min/max not available
                  Driver 5: position 0
                  Driver 6: position 0
                  Driver 7: position 0
                  Driver 8: position 0
                  Driver 9: position 0
                  Driver 10: position 0
                  Driver 11: position 0
                  Date/time: 2021-08-30 19:59:21
                  Cache data hit count 4294967295
                  Slowest loop: 163.74ms; fastest: 0.12ms
                  I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                  === Storage ===
                  Free file entries: 9
                  SD card 0 detected, interface speed: 20.0MBytes/sec
                  SD card longest read time 4.5ms, write time 49.7ms, max retries 0
                  === Move ===
                  DMs created 83, maxWait 23786190ms, bed compensation in use: mesh, comp offset 0.102
                  === MainDDARing ===
                  Scheduled moves 6086, completed moves 6066, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 26], CDDA state 3
                  === AuxDDARing ===
                  Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                  === Heat ===
                  Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
                  Heater 0 is on, I-accum = 0.3
                  Heater 1 is on, I-accum = 0.6
                  === GCodes ===
                  Segments left: 1
                  Movement lock held by null
                  HTTP is idle in state(s) 0
                  Telnet is idle in state(s) 0
                  File is doing "G0 F7500 X55.203 Y149.106" in state(s) 0
                  USB is idle in state(s) 0
                  Aux is idle in state(s) 0
                  Trigger is idle in state(s) 0
                  Queue is idle in state(s) 0
                  LCD is idle in state(s) 0
                  Daemon is idle in state(s) 0
                  Autopause is idle in state(s) 0
                  Code queue is empty.
                  === Network ===
                  Slowest loop: 192.98ms; fastest: 0.00ms
                  Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                  HTTP sessions: 2 of 8
                  - WiFi -
                  Network state is active
                  WiFi module is connected to access point 
                  Failed messages: pending 0, notready 0, noresp 0
                  WiFi firmware version 1.25
                  WiFi MAC address e0:98:06:22:67:28
                  WiFi Vcc 3.39, reset reason Turned on by main processor
                  WiFi flash size 4194304, free heap 24792
                  WiFi IP address 192.168.1.28
                  WiFi signal strength -48dBm, mode 802.11n, reconnections 0, sleep mode modem
                  Clock register 00002002
                  Socket states: 4 0 0 0 0 0 0 0
                  === Filament sensors ===
                  Extruder 0 sensor: ok
                  

                  And here's the output of M98

                  M98 P"config.g"
                  HTTP is enabled on port 80
                  FTP is disabled
                  TELNET is disabled
                  

                  Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

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

                    @infidelprops said in Every time I print, I need to increase baby steps:

                    I did run a G29 earlier and I've got a height map, but not sure if I'm loading it or not... I think it's in the bed.g file

                    Yes, but are you ever using G32 to run bed.g? I don't see it in any of your start code.

                    I would suggest that you update your firmware to 3.3 by uploading this zip file to the system tab in DWC
                    https://github.com/Duet3D/RepRapFirmware/releases/download/3.3/Duet2and3Firmware-3.3.zip

                    Re measure your G31 Z offset with nozzle and bed at temp.

                    Test your homeall again by seeing if the nozzle just touches the bed at Z0.

                    Then re-level your bed and send G29 S0 to create a fresh heightmap.

                    Then add G29 S1 to your slicer start gcode after the G28

                    Make sure your extruder flow rate is calibrated and then try a test print of this file to test how well the mesh is working.

                    bedlevel_nozzle_0.4_200x200-0.3-0.8.stl

                    Z-Bot CoreXY Build | Thingiverse Profile

                    TimsWorkshopundefined 2 Replies Last reply Reply Quote 1
                    • TimsWorkshopundefined
                      TimsWorkshop @Phaedrux
                      last edited by

                      @phaedrux

                      Thanks mate, I will give this all a go now

                      Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

                      1 Reply Last reply Reply Quote 0
                      • TimsWorkshopundefined
                        TimsWorkshop @Phaedrux
                        last edited by TimsWorkshop

                        @phaedrux

                        Thanks for this! I've done the upgrade and reconfig... Z-offset is set to 1.750, G31 P500 X47 Y10 Z1.750

                        When I did the first print of the suggested file, I had to babystep to -0.33
                        On the second print, I had to again babystep to -0.45
                        IMG20210831090314.jpg
                        On the third print, I had to again babystpe to -0.66
                        IMG20210831092855.jpg

                        On all three prints, when I am facing the printer:

                        • the right side of the bed prints very low to the bed and the filament is almost squished.
                        • but on the left sidem, it prints very high and the filament barely sticks.
                        • In the middle, it's also still pretty lose

                        This is my height map, after configuring the z-offset, after levelling and this looks pretty bad and I've had better.
                        261df4d2-4862-4161-b2b2-7bc936d580ea-image.png
                        It's also good to point out that I don't yet have a LCD screen, I've ordered one but it's two weeks late or lost, so I am doing everything via DWC.

                        When I level the bed, I jog the hotend to where my 4 bed levelling screws are and I use a sheet of paper to get them all having the same resistence when I pull on the paper and then I check centre again.
                        After I do this, I run the G29 S0.

                        Also, I still don't see a mesh.g file... am I supposed to have one of these?

                        Here's an updated M122

                        M122
                        === Diagnostics ===
                        RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later
                        Board ID: 0JD0M-9P6B2-NJ4S8-6J1F4-3SN6S-9U4AJ
                        Used output buffers: 3 of 24 (20 max)
                        === RTOS ===
                        Static ram: 23876
                        Dynamic ram: 75320 of which 176 recycled
                        Never used RAM 12188, free system stack 114 words
                        Tasks: NETWORK(ready,63.2%,231) HEAT(delaying,0.1%,305) Move(notifyWait,0.4%,305) MAIN(running,36.1%,420) IDLE(ready,0.2%,29), total 100.0%
                        Owned mutexes: WiFi(NETWORK)
                        === Platform ===
                        Last reset 01:39:37 ago, cause: software
                        Last software reset at 2021-08-31 07:57, reason: User, GCodes spinning, available RAM 15044, slot 1
                        Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
                        Error status: 0x08
                        Aux0 errors 0,0,0
                        Step timer max interval 0
                        MCU temperature: min 28.8, current 29.7, max 32.6
                        Supply voltage: min 23.7, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
                        Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/126/126, gc cycles 0
                        Driver 0: position 400, standstill, SG min/max 0/337
                        Driver 1: position 28320, standstill, SG min/max 25/530
                        Driver 2: position 7930, standstill, SG min/max 0/540
                        Driver 3: position 0, standstill, SG min/max 0/386
                        Driver 4: position 0, standstill, SG min/max not available
                        Driver 5: position 0
                        Driver 6: position 0
                        Driver 7: position 0
                        Driver 8: position 0
                        Driver 9: position 0
                        Driver 10: position 0
                        Driver 11: position 0
                        Date/time: 2021-08-31 09:37:01
                        Cache data hit count 4294967295
                        Slowest loop: 42.45ms; fastest: 0.10ms
                        I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
                        === Storage ===
                        Free file entries: 10
                        SD card 0 detected, interface speed: 20.0MBytes/sec
                        SD card longest read time 4.1ms, write time 4.6ms, max retries 0
                        === Move ===
                        DMs created 83, maxWait 2403120ms, bed compensation in use: mesh, comp offset 0.000
                        === MainDDARing ===
                        Scheduled moves 1307, completed moves 1307, hiccups 0, stepErrors 0, LaErrors 0, Underruns [1, 0, 61], CDDA state -1
                        === AuxDDARing ===
                        Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
                        === Heat ===
                        Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
                        Heater 0 is on, I-accum = 0.3
                        Heater 1 is on, I-accum = 0.4
                        === GCodes ===
                        Segments left: 0
                        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
                        USB is idle in state(s) 0
                        Aux is idle in state(s) 0
                        Trigger is idle in state(s) 0
                        Queue is idle in state(s) 0
                        LCD is idle in state(s) 0
                        Daemon is idle in state(s) 0
                        Autopause is idle in state(s) 0
                        Code queue is empty.
                        === Filament sensors ===
                        Extruder 0 sensor: ok
                        === Network ===
                        Slowest loop: 37.91ms; fastest: 0.00ms
                        Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
                        HTTP sessions: 1 of 8
                        - WiFi -
                        Network state is active
                        WiFi module is connected to access point 
                        Failed messages: pending 0, notready 0, noresp 0
                        WiFi firmware version 1.26
                        WiFi MAC address e0:98:06:22:67:28
                        WiFi Vcc 3.40, reset reason Turned on by main processor
                        WiFi flash size 4194304, free heap 21400
                        WiFi IP address 192.168.1.28
                        WiFi signal strength -47dBm, mode 802.11n, reconnections 0, sleep mode modem
                        Clock register 00002002
                        Socket states: 0 0 0 0 0 0 0 0
                        

                        And a M98

                        M98 P"config.g"
                        HTTP is enabled on port 80
                        FTP is disabled
                        TELNET is disabled
                        

                        Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

                        fcwiltundefined 2 Replies Last reply Reply Quote 0
                        • fcwiltundefined
                          fcwilt @TimsWorkshop
                          last edited by

                          @infidelprops

                          Hi,

                          Since you have a Z probe you can get some help adjusting those bed leveling screws.

                          Manual Bed Leveling

                          Basically the firmware will move to each of the 4 locations you specify and probe the bed. Then it will compute the adjustment needed for the 2nd, 3rd, and 4th leveling screws. It uses the 1st point as a reference and screw isn't adjusted.

                          It works well.

                          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 1
                          • fcwiltundefined
                            fcwilt @TimsWorkshop
                            last edited by

                            @infidelprops

                            Hi again.

                            The G32 command executes the bed.g file and that file you must create and populate with the needed commands.

                            The G29 command executes a mesh.g file, if it exists, and again that file you must create and populate with the needed commands.


                            I put in each file all of the needed commands to insure that I can execute a G32 or G29 command and have the process complete successfully without having to be sure to do certain other commands first.

                            This can lead to a bit of inefficiency as you may be doing a few of the same commands in each file. But given the time each process takes any extra time due to the duplicated commands is minimal.


                            I also should mention that the DWC is already setup to invoke G32 or G29 from a pull down menu so if you stick with creating bed.g and mesh.g then you can invoke those processes from the DWC without errors.

                            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

                            TimsWorkshopundefined 1 Reply Last reply Reply Quote 1
                            • TimsWorkshopundefined
                              TimsWorkshop @fcwilt
                              last edited by TimsWorkshop

                              @fcwilt & @Phaedrux thanks for the explanations!

                              I've tried this previously, but I wasn't doing it right and I've now put them in the right file, but when select True Bed Levelling (G32) within DWC, I get the below message after it homes z, but the hotend doesn't move anywhere:

                              G32
                              Manual corrections required: 0.00 turn up (0.00mm) 0.00 turn down (0.00mm) 0.00 turn down (0.00mm) 0.00 turn down (0.00mm)
                              

                              This is at the very bottom of my config.g file

                              ; Setup Manual Bed Levelling Assistant
                              M671 X55:338:338:55 Y311:311:51:51 P0.5			   ; Back-left:Back-Right:Front-Right:Front-Left
                              

                              And this is in bed.g

                              ; bed.g
                              ; called to perform automatic bed compensation via G32
                              ;
                              ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 08 2021 21:27:11 GMT+1000 (Australian Eastern Standard Time)
                              M561 ; clear any bed transform
                              G28 Z ; home z
                              G30 P0 X55 Y311 Z-500 ; Back-Left
                              G30 P1 X338 Y311 Z-500 ; Back-Right
                              G30 P2 X338 Y51 Z-500 ; Front-Right
                              G30 P3 X55 Y51 Z-500 S4; Front-Left
                              G29  ; probe the bed and enable compensation
                              

                              I'm going to look around the forums and Google, but wanted to post this here

                              Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

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

                                @infidelprops

                                Hi,

                                You recall that I said I put all commands needed into each file so the will execute successfully without any other steps being taken first?

                                Now having the M671 in config.g works. But you may find you need to change those values because they are not quite right. If you put the M671 in bed.g then anytime bed.g is executed the current values in the M671 command will be used.


                                Now as to why it is not working for you. In your G30 command you are using Z-500.

                                Read this from the G30 documentation:

                                G30 with a P parameter

                                This is used for operations that are performed after the printer has been homed and that require the height error at more than one probe point to be measured. These operations are typically performed in the bed.g file. With a Z parameter of -9999 or less, the head moves to the specified XY coordinates and the dive height (set using the H parameter in the M558 command), and probes the bed.


                                Also since bed.g is intended for bed leveling (auto or manual) and mesh.g is intended for creating the height map needed for mesh bed compensation I would not include the G29 in bed.g. They do not need to be done together and if you included G29 in bed.g you cannot do them separately.

                                For example I implemented auto bed leveling on one of my printers. I level the bed when I home it. But I only create the height map manually using a DWC Macro as the height map can usually be created once and used over and over. I load the height map use G29 S1 in the code which is executed at the start of a print.


                                One thing you do need to add to your bed.g file is the code to set the Z=0 Datum using a G30 command. I always set the Z=0 Datum using the center of the bed for the XY position that you must always set before executing the G30. You use a normal G1 command but you have to compute the X and Y parameters so the probe is positioned at the center of the bed and not the nozzle. This means you have to take into account the X and Y offsets of your Z probe.


                                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

                                TimsWorkshopundefined 1 Reply Last reply Reply Quote 1
                                • TimsWorkshopundefined
                                  TimsWorkshop @fcwilt
                                  last edited by TimsWorkshop

                                  @fcwilt thanks for the details!

                                  I've updated bed.g with the following, but not sure if I'm setting Z=0 correctly. Based on reading the documentation for G30, what I'm doing is:

                                  • Move Probe to centre of bed
                                  • Use G30 to probe the current location
                                  • Then move and probe the screw locations and probe
                                  ; bed.g
                                  ; called to perform automatic bed compensation via G32
                                  ;
                                  ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 08 2021 21:27:11 GMT+1000 (Australian Eastern Standard Time)
                                  
                                  ; Setup Manual Bed Levelling Assistant
                                  M671 X55:338:338:55 Y311:311:51:51 P0.5			   ; Back-left:Back-Right:Front-Right:Front-Left 
                                  
                                  M561 ; clear any bed transform
                                  G28 Z; home
                                  
                                  ; Center of the bed
                                  G1 X220 Y175 F6000  
                                  G30 S1 Z-9999 ; Centre
                                  
                                  ; 4 Screw Points
                                  G30 P0 X55 Y311 Z-9999 ; Back-Left
                                  G30 P1 X338 Y311 Z-9999 ; Back-Right
                                  G30 P2 X338 Y51 Z-9999 ; Front-Right
                                  G30 P3 X55 Y51 Z-9999 S4; Front-Left
                                  

                                  Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

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

                                    @infidelprops

                                    I made a mistake.

                                    It's quite late here and I overlooked the fact that you are doing manual bed leveling so setting the Z=0 datum would have to be done after you completed the manual process.

                                    Sorry about that.

                                    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

                                    TimsWorkshopundefined 1 Reply Last reply Reply Quote 1
                                    • TimsWorkshopundefined
                                      TimsWorkshop @fcwilt
                                      last edited by

                                      @fcwilt no worries mate, I appreciate you sticking with it!

                                      Here's my bed.g file

                                      ; bed.g
                                      ; called to perform automatic bed compensation via G32
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool v3.3.0 on Sun Aug 08 2021 21:27:11 GMT+1000 (Australian Eastern Standard Time)
                                      
                                      ; Setup Manual Bed Levelling Assistant
                                      M671 X69:338:69:338 Y51:51:308:308 P0.5			   ; Front-Left:Front-Right:Back-Left:Back-Right
                                      
                                      M561 ; clear any bed transform
                                      G28 Z; home
                                      
                                      ; Probe near bed screws
                                      G30 P0 X127 Y58 Z-9999 ; Front-Left
                                      G30 P1 X380 Y58 Z-9999 ; Front-Right
                                      G30 P3 X127 Y318 Z-9999; Back-Left
                                      G30 P2 X380 Y318 Z-9999 S4; Back-Right
                                      

                                      And this is what is shown in the console after the 4th point is finished

                                      G32
                                      Manual corrections required: 0.00 turn up (0.00mm) 0.25 turn down (0.13mm) 0.14 turn up (-0.07mm) 0.27 turn down (0.14mm)
                                      

                                      Now that I know how much to adjust it... what's the best way to adjust the knobs given they're a manual turn? And do I still need to run a G29 as well to get a height map or this a 1 or the other situation?

                                      Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

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

                                        @infidelprops said in Every time I print, I need to increase baby steps:

                                        Now that I know how much to adjust it... what's the best way to adjust the knobs given they're a manual turn? And do I still need to run a G29 as well to get a height map or this a 1 or the other situation?

                                        I find it difficult to turn the adjustment screws the amounts specified - like 0.14 of a turn. After awhile you just get a feel for it but it can still take many tries. I strive for perfect but I'll settle for being off by 0.01mm.

                                        Now I may just be inept but I find my printer with just 3 adjustment screws much easier to get right than the one that as 4 adjustment screws.

                                        With my manual adjust beds I check them periodically with G32 to see if they have changed.

                                        With my auto adjust beds I do that as part of homing Z.

                                        I create the height map periodically if I think something may have changed. If you implement mesh.g you can create the height map via the DWC pull down menu, via a DWC Macro or just by executing G29.

                                        I load the existing height map in my print start code.

                                        the basic steps related to leveling and mesh compensation are:

                                        • home the printer
                                        • level the bed if auto bed leveling is implemented
                                        • set the Z=0 Datum
                                        • load the height map

                                        Of course I do others things in my print start code like set the bed/extruder temps, wait for them to reach temp, prime the extruder, etc.

                                        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

                                        TimsWorkshopundefined 1 Reply Last reply Reply Quote 1
                                        • TimsWorkshopundefined
                                          TimsWorkshop @fcwilt
                                          last edited by

                                          @fcwilt thanks! I actually got some sleep last night and this morning I realised that I just need to turn the knob slightly, then re-run the test again... so the coffee did it's work this morning.

                                          For the G29, I have an empty Mesh file now, and when I run G29 it does nothing... should I put the following in my mesh.g file?

                                          mesh.g

                                          M561 ; clear any bed transform
                                          G28 Z; home   
                                          M557 X90:400 Y15:360 P20 
                                          G28 Z; home
                                          

                                          Ender 5 Plus - E3D Hemera Hotend - Duet 2 Wifi

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

                                            @infidelprops said in Every time I print, I need to increase baby steps:

                                            @fcwilt thanks! I actually got some sleep last night and this morning I realised that I just need to turn the knob slightly, then re-run the test again... so the coffee did it's work this morning.

                                            For the G29, I have an empty Mesh file now, and when I run G29 it does nothing... should I put the following in my mesh.g file?

                                            Below are the essential commands from my mesh.g file.

                                            Now I make use of many separate files dedicated to a specific function.

                                            Below you can see M98 invocations of probe_config.g and probe_set_z.g. The comments below say what they do.

                                            You can of course configure the probe in config.g as many folks do and you can set the Z=0 Datum using a G1 command and a G30 command.

                                            But since these two processes (configuring the probe and setting the Z=0 Datum) need to be done in several other places I create dedicated files for such processes to be invoked with M98 as needed.

                                            M98 P"probe_config.g"             ; configure Z probe
                                            
                                            M98 P"probe_set_z.g"              ; set Z=0 datum
                                            
                                            M557 X-140:140 Y-125:140 P20:20   ; define 400 point mesh
                                            
                                            G29 S0                            ; do probing and save height map
                                            

                                            If you have questions please ask.

                                            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

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