How to create a mesh for Bltouch



  • Hello I am new with the duetwifi, I have built a d-bot printer corexy the measurements of the printing table is X300 Y260 Z450 I have configured bltouch according to the wiki manual, but I am totally lost to create a mesh so that bltouch measure all the points of my bed about 40 points, someone can help me as I have to configure the files to be able to create a mesh with bltouch please.

    when I do home all does not work for me, the axes x and y if they work correctly but the z axis does not make me home, if I take home the individual axes if it works correctly

    I leave the settings of my files so they can tell me what's wrong or if it's okay.

    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Apr 08 2018 20:13:54 GMT+0200 (Hora de verano romance)

    ; General preferences
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S1 ; Select CoreXY mode

    ; Network
    M550 PD-BOT ; Set machine name
    M552 S1 ; Enable network
    ;*** Access point is configured manually via M587
    M586 P0 S1 ; Enable HTTP
    M586 P1 S0 ; Disable FTP
    M586 P2 S0 ; Disable Telnet

    ; Drives
    M569 P0 S0 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes forwards
    M569 P2 S0 ; Drive 2 goes backwards
    M569 P3 S0 ; Drive 3 goes backwards
    M584 X0 Y1 Z2:3 E4 ; Apply custom drive mapping
    M350 X256 Y256 Z256 I0 ; Configure microstepping without interpolation
    M350 E16 I1 ; Configure microstepping with interpolation
    M92 X1600 Y1600 Z6400 E420 ; Set steps per mm
    M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
    M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
    M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2)
    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 X0 Y0 Z0 S1 ; Set axis minima
    M208 X300 Y260 Z450 S0 ; Set axis maxima

    ; Endstops
    M574 X1 Y2 S0 ; X home to min. Y and Z home to max. Normally Closed limit switches.
    M574 Z2 S2 ; Define Z to use Probe. Home to Min

    ; Z-Probe
    M558 P5 H5 F500 T4000 X0 Y0 Z2 ; Set Z probe type/mode 5. H=Dive Height. F=Speed the bed moves
    G31 P25 X0 Y-35 Z1.63 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment
    M557 X5:205 Y5:165 S20 ; Define mesh grid

    ; Heaters
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; Set temperature limit for heater 1 to 280C
    ; BLTouch - Heaters
    M307 H7 A-1 C-1 D-1 ; Disable the 7th Heater to free up PWM channel 5 on the Duex board.

    ; Fans
    M106 P0 S0.3 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 ; 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

    ; Automatic saving after power loss is not enabled

    ; Custom settings are not configured



  • ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Apr 08 2018 20:13:54 GMT+0200 (Hora de verano romance)
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G1 S1 X-295 Y265 F1800 ; move quickly to X or Y endstop and stop there (first pass)
    G1 S1 X-295 ; home X axis
    G1 S1 Y255 ; home Y axis
    G1 X5 Y-5 F6000 ; go back a few mm
    G1 S1 X-295 F360 ; move slowly to X axis endstop once more (second pass)
    G1 S1 Y255 ; then move slowly to Y axis endstop
    G90 ; absolute positioning
    G1 X150 Y-130 F6000 ; go to first bed probe point and home Z
    G30 ; home Z by probing the bed
    ;G1 Z5 F100 S2 ; uncomment this line to lift the nozzle after homing;G90

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Apr 08 2018 20:13:54 GMT+0200 (Hora de verano romance)
    G91 ; relative positioning
    G1 Z5 F6000 S2 ; lift Z relative to current position
    G90 ; absolute positioning
    G1 X150 Y130 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 S2 ; lift Z relative to current position
    ;G90 ; absolute positioning

    ; bed.g
    ; called to perform automatic bed compensation via G32
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Apr 08 2018 20:13:54 GMT+0200 (Hora de verano romance)
    M561 ; clear any bed transform
    ; Probe the bed at 5 points
    G30 P0 X15 Y15 H0 Z-99999
    G30 P1 X15 Y245 H0 Z-99999
    G30 P2 X285 Y245 H0 Z-99999
    G30 P3 X285 Y15 H0 Z-99999
    G30 P4 X150 Y150 H0 Z-99999 S

    ; retractprobe.g

    M280 P7 S90 I1

    ; deployprobe.g

    M280 P7 S10 I1


  • administrators

    @ivang said in How to create a mesh for Bltouch:

    when I do home all does not work for me, the axes x and y if they work correctly but the z axis does not make me home, if I take home the individual axes if it works correctly

    Homing: your homeall.g files has this:

    G1 X150 Y-130 F6000 ; go to first bed probe point and home Z

    but your homez.g file has this:

    G1 X150 Y130 F6000 ; go to first probe point

    Do you see the difference?

    Mesh: if you send M557 without parameters, does it report the values you specified in the M557 command in config.g?



  • Perfect now if you make me home all without problems, thank you very much.

    Now how can I create a mesh for example of 40 points for my bltouch?



  • To do mesh grid compensation you will need to specify the grid area in config.g with M557 and then tell it to load your saved heightmap on powerup with M375.

    For example:

    M557 X15:285 Y15:245 S30                           	; Define mesh grid
    M375							; Load heightmap.csv
    

    To create a heightmap, run G29. Ideally after you've tried to level your bed mechanically as good as possible.



  • @phaedrux said in How to create a mesh for Bltouch:

    To do mesh grid compensation you will need to specify the grid area in config.g with M557 and then tell it to load your saved heightmap on powerup with M375.

    For example:

    M557 X15:285 Y15:245 S30                           	; Define mesh grid
    M375							; Load heightmap.csv
    

    To create a heightmap, run G29. Ideally after you've tried to level your bed mechanically as good as possible.

    Thank you for your answer, I just did what it says but when I send the G29 command the printer moves about 15mm and then stops and does nothing, the duetwifi plate stays in busy state and I can only hit the stop button emergency, why does this happen to me?


  • administrators

    1. Send M557 without parameters and review the response, to check that the mesh parameters you set in config.g have been accepted.

    2. After you run G29 and it stops, check the GCode Console page of Duet Web Control for error messages.



  • @dc42 said in How to create a mesh for Bltouch:

    1. Send M557 without parameters and review the response, to check that the mesh parameters you set in config.g have been accepted.

    2. After you run G29 and it stops, check the GCode Console page of Duet Web Control for error messages.

    When I send the M557 command, the following message appears:

    M557
    Grid: X15.0:205.0, Y15.0:245.0, radius -1.0, X spacing 30.0, Y spacing 30.0, 56 points

    After sending G29 there is no error message or anything, the printer moves a little and stops, the status of the printer is always busy and nothing else I can give emergency stop or turn off the duertwifi and turn it on current.


  • administrators

    Please change your microstepping from x256 to x16 with interpolation enabled in the M350 command in config.g and try again.



  • Hello I have changed it to x16 interpolated and now if it works correctly, although the noise from the engines is annoying, is there any way to work it to x256 interpolated?



  • @dc42 said in How to create a mesh for Bltouch:

    M350

    Does your M350 command have I1?



  • @phaedrux said in How to create a mesh for Bltouch:

    @dc42 said in How to create a mesh for Bltouch:

    M350

    Does your M350 command have I1?

    But I do not understand why with the configuration of X16 interpolated steps if it works correctly but when I change it to interpolated X256 the G29 command does not work


  • administrators

    Depending on your steps/mm and how fast you are trying to move the print head, the rate at which step pulses need to be generated and the Z probe checked can exceed the capabilities of the processor. When this happens the movement should just slow down, however in the past few days it has become evident that under some conditions it causes the movement system to lock up. This is on my list to investigate and fix.



  • So for the moment the only solution is to run X16 the steps of the engine? I buy a duetwifi for the X256 and for the little noise that engines make but if I have to run to X16 it makes the same noise as my mks gen


  • administrators

    @ivang from a noise perspective running x16 interpolated to 256 and running x256 is functionally the same. The only difference is that the driver is generating the intermediate steps. I could not tell a noise difference between the two during testing.

    I think maybe you do not have I1 in you M350 command ?

    Also note that interpolation only works on x16 (not for example x32 and x64)



  • @t3p3tony said in How to create a mesh for Bltouch:

    @ivang from a noise perspective running x16 interpolated to 256 and running x256 is functionally the same. The only difference is that the driver is generating the intermediate steps. I could not tell a noise difference between the two during testing.

    I think maybe you do not have I1 in you M350 command ?

    Also note that interpolation only works on x16 (not for example x32 and x64)

    He is right I just put the end I1 and the noise is almost nonexistent, thank you very much.


  • administrators

    @ivang glad you got it sorted!


 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.