Every time I print, I need to increase baby steps
-
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!
-
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.
-
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 .... -
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 ! -
@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
-
@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.925What 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"
-
@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 fileG29 ; 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
-
@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.zipRe 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.
-
Thanks mate, I will give this all a go now
-
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
On the third print, I had to again babystpe to -0.66
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.
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
-
@infidelprops
Hi,
Since you have a Z probe you can get some help adjusting those bed leveling screws.
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
-
@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
-
@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
-
@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
-
@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
-
@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
-
@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?
-
@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
-
@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
-
@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