Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
zprobe [2019/05/16 17:52]
wolfmanjm [Configuration]
zprobe [2020/04/19 22:16] (current)
wolfmanjm [Example configuration]
Line 20: Line 20:
 * For [[Delta]] machines, you can do [[#​delta-grid|grid leveling]] **and** [[#​delta-calibration|calibration]] * For [[Delta]] machines, you can do [[#​delta-grid|grid leveling]] **and** [[#​delta-calibration|calibration]]
 * For [[Cartesian]] machines, you can do [[#​rectangular-grid-compensation|grid leveling]] **or** [[#​three-point|three point leveling]] * For [[Cartesian]] machines, you can do [[#​rectangular-grid-compensation|grid leveling]] **or** [[#​three-point|three point leveling]]
 +
 +**NOTE** When G30 stores the probe position or prints out the value, it is in actuator units not necessarily in mm. This is only an issue for rotary deltas where the actuator units are degrees not mm. Most other configurations it will be mm.
  
 <​html>​ <​html>​
Line 56: Line 58:
 The point is you configure your sensor as *either* a probe or an endstop, **not both**. You can still use it for both levelling/​calibration *and* bed seeking, it's just that if it's a probe ( and not an endstop ), you use a different Gcode ( G30 ) than if it were an endstop ( G28 ). The point is you configure your sensor as *either* a probe or an endstop, **not both**. You can still use it for both levelling/​calibration *and* bed seeking, it's just that if it's a probe ( and not an endstop ), you use a different Gcode ( G30 ) than if it were an endstop ( G28 ).
 </​callout>​ </​callout>​
 +
 +== Types of probes
 +
 +{{page>​sensor-types}}
  
 == Configuration == Configuration
Line 171: Line 177:
 leveling-strategy.delta-calibration.initial_height ​       10        # The initial height above the bed we stop the initial move down after home  leveling-strategy.delta-calibration.initial_height ​       10        # The initial height above the bed we stop the initial move down after home 
                                                                     # to find the bed. This should be a height that is enough that the probe                                                                     # to find the bed. This should be a height that is enough that the probe
-                                                                    # will not hit the bed and is an offset from zprobe.max_z (can be  +                                                                    # will not hit the bed
-                                                                    # set to 0 if zprobe.max_z takes into account the probe offset)+
 </​code>​ </​code>​
  
Line 644: Line 649:
  1. Set the homing offset to allow for the probe offset and/or reduce the grids x/y size to accommodate the probe offsets.  1. Set the homing offset to allow for the probe offset and/or reduce the grids x/y size to accommodate the probe offsets.
  2. You could invert one or multiple axis so (0,0) is in an accessible position.  2. You could invert one or multiple axis so (0,0) is in an accessible position.
- 3. You can set <kbd>​only_by_two_corners</​kbdto true and specify the offset in Gcode using the <kbd>M31</​kbd>​ command.\\ See more on that in the PCB milling section: [[http://​smoothieware.org/​pcb-milling|PCB Milling]]+ 3. You can set  
 +<code>leveling-strategy.rectangular-grid.only_by_two_corners ​       true</code 
 +and specify the offset in Gcode using additional parameters to the <kbd>G32</​kbd>​ command.\\ See more on that in the PCB milling section: [[http://​smoothieware.org/​pcb-milling|PCB Milling]]
  
 </​callout>​ </​callout>​
Line 722: Line 729:
 leveling-strategy.rectangular-grid.initial_height ​      ​10 ​      # will move to Z10 before the first probe leveling-strategy.rectangular-grid.initial_height ​      ​10 ​      # will move to Z10 before the first probe
 mm_per_line_segment ​                                    ​1 ​       # necessary for cartesians using rectangular-grid mm_per_line_segment ​                                    ​1 ​       # necessary for cartesians using rectangular-grid
 +#​leveling-strategy.rectangular-grid.before_probe_gcode ​  ​M280 ​    # uncomment if you have a bltouch
 +#​leveling-strategy.rectangular-grid.after_probe_gcode ​   M281     # uncomment if you have a bltouch
 </​code>​ </​code>​
  
 === Usage === Usage
  
-|| <​kbd>​G29</​kbd>​ || test probes in a grid pattern within the size specified producing a map of offsets, this can be imported into a graphing program to visualize the bed. optional ​parameters <kbd>In</​kbd>​ sets the number of points to the value n, <kbd>Xn</​kbd>​ sets the x size for this probeand  <kbd>Yn</​kbd>​ sets the size for this probe.||+|| <​kbd>​G29</​kbd>​ || test probes in a grid pattern within the size specified ​starting at the current head position, ​producing a map of offsets, this can be imported into a graphing program to visualize the bed. Required ​parameters <kbd>Xn</​kbd>​ sets the width for this probeand  ​<kbd>Yn</​kbd>​ sets the length ​for this probe. optional parameters <​kbd>​In</​kbd> ​and <kbd>Jn</​kbd>​ sets the grid size (default is set in config).||
 || <​kbd>​G32</​kbd>​ || probes the grid and turns the compensation on, this will remain in effect until reset or <​kbd>​M561/​M370</​kbd>​ optional parameters <​kbd>​Jn</​kbd>​ sets the radius for this probe.|| || <​kbd>​G32</​kbd>​ || probes the grid and turns the compensation on, this will remain in effect until reset or <​kbd>​M561/​M370</​kbd>​ optional parameters <​kbd>​Jn</​kbd>​ sets the radius for this probe.||
 || <​kbd>​M370</​kbd>​ || clears the grid and turns off compensation (**NOTE** you must home after this) || || <​kbd>​M370</​kbd>​ || clears the grid and turns off compensation (**NOTE** you must home after this) ||
Line 788: Line 797:
 <div class='​panel-heading'><​h4 class='​panel-title'>​BLTouch probe</​h4></​div>​ <div class='​panel-heading'><​h4 class='​panel-title'>​BLTouch probe</​h4></​div>​
 <image src='​https://​static.wixstatic.com/​media/​f5a1c8_980f9779a53d4e379ebb8a3c68b4c451~mv2.jpg'​ width='​600px'><​br/>​ <image src='​https://​static.wixstatic.com/​media/​f5a1c8_980f9779a53d4e379ebb8a3c68b4c451~mv2.jpg'​ width='​600px'><​br/>​
-How to wire a bltouch probe+How to wire a bltouch probe, <b> old versions ( presumably before 3.1, bltouch isn't great at giving us accurate documentation ) </b>. For most accurate/up to date information,​ please check out the <a href="​https://​www.antclabs.com/​bltouch">​ official documentation page at Antclabs </a>.
 </​div>​ </​div>​
 </​html>​ </​html>​
 +
 +<​html>​
 +<div class='​panel panel-default wrap_center'​ style='​width:​640px;​padding:​10px '>
 +<div class='​panel-heading'><​h4 class='​panel-title'>​BLTouch probe</​h4></​div>​
 +<image src='
 +https://​static.wixstatic.com/​media/​f5a1c8_354997c20214426d9834c09f5426774b~mv2.jpg/​v1/​fill/​w_854,​h_469,​al_c,​q_85,​usm_0.66_1.00_0.01/​GcodeV31.webp'​ width='​600px'><​br/>​
 +How to wire a bltouch probe, <b> updated version ( 3.1 ) </​b> ​
 +</​div>​
 +</​html>​
 +
  
 Or in a copy/​paste-friendly format :  Or in a copy/​paste-friendly format : 
Line 878: Line 897:
  
 <callout type="​warning"​ icon="​true"​ title="​If you have a 5XC">​ <callout type="​warning"​ icon="​true"​ title="​If you have a 5XC">​
-Note that on a Smoothieboard 5XC, the pin 1.23 is used by the third big mosfet, so you can not use it for a bltouch, you need to use another pin. That other pin must also be PWM-capable,​ see [[pinout]] to find another pin that will work.+Note that on a Smoothieboard 5XC, the pin 1.23 is used by the third big mosfet, so you can not use it for a bltouch, you need to use another pin. That other pin must also be PWM-capable,​ see [[pinout]] to find another pin that will work. You can also use SWPWM and any spare pin.
 </​callout>​ </​callout>​