BLTouch working

Avatar

By Syko_Symatic 23 January 2017 10:07

Member · 45 comments
Hey_Allen wrote
Sniffle wrote

according to the bltouch people, to work with 3.3v logic electronics you only need a 240ohm resistor in line with the 2-wire endstop.  that could be where your not getting a response.

I am feeling a little slow here, but is this in series with one of the wires, or bridging the IN and GND wires at the PROBE connector on a DuetWifi?

.

Spot on, you need to bridge the In and GND on the Z probe pins with the resistor.

Avatar

By Sniffle 23 January 2017 17:22

Member · 73 comments
Hey_Allen wrote
Sniffle wrote

according to the bltouch people, to work with 3.3v logic electronics you only need a 240ohm resistor in line with the 2-wire endstop.  that could be where your not getting a response.

I am feeling a little slow here, but is this in series with one of the wires, or bridging the IN and GND wires at the PROBE connector on a DuetWifi?

I finally got the +5VDC, COM, and H3 connections correct, and the probe deploying/retracting, but am not getting any input from the probe, and am really starting to doubt my wiring of the sensor portion.

Currently I have a 240 Ohm resistor across the two wires, crimped into Dupont pins with the wires from the hall sensor output, but it shows up as 0 on the Z-Probe on the web control screen when tested with the auto-test macro that was posted in this thread, nor if pressed directly.  If it is unplugged, I see a value of 1000 on the Z-probe, and the field is shaded red.


ok, due to the refresh rate of the website, it doesnt always capture the tiny pulse of the pin being triggered.  that doesnt mean that the trigger isnt happening.  If you put the bltouch(genuine, clones unknown) in an error state(blinking), an M119 should show the endstop triggered.  Once you verify that use:

M280 P3 S10 I1

and manually trigger the pin over and over until you see it display in the web control.  It wont display all the time but it will occasionally.  It may not show a trigger(color change) on the web control, but you may get a value change on the signal value displayed.  you need to put your tigger value below that number(or just use 25)

Avatar

By Hey_Allen 24 January 2017 07:28

Member · 13 comments

Thank you for the confirmation on the wiring of the 240 Ohm resistor, and the instructions for testing it prior to trying to use it in automatic tests.
I finally figured out that I had the probe wires reversed on the PROBE header, and once that was corrected was able to get it working.

I'm not sure that I have everything working as it is best possible to do, but it has probed a grid on the bed, using G29, and can view the heightmap.csv file, but not the graph of it (loading screen, for >10 minutes in Chrome). 

edit: I eventually found that FireFox would load the graphic, no idea why Chrome won't on my machine.  It also showed that my mechanical level was off again.

Last edited by Hey_Allen (25 January 2017 02:05)

Avatar

By Etznab 29 January 2017 06:35

Member · 7 comments

Good evening. I am very new to 3D printing and even newer to the Duet WIFI. I have the BLTouch connected and deploying and retracting. My problem is that I don't fully understand where and what to put into the System Directory XXX.g files and Macro files. Could someone please break this down barney style for me? Thanks in advance.

Avatar

By Syko_Symatic 31 January 2017 14:20

Member · 45 comments
Etznab wrote

Good evening. I am very new to 3D printing and even newer to the Duet WIFI. I have the BLTouch connected and deploying and retracting. My problem is that I don't fully understand where and what to put into the System Directory XXX.g files and Macro files. Could someone please break this down barney style for me? Thanks in advance.

You should put all config and home files in the system editor tab. Macros such as mesh level or anything that you might want to call during or before a print that are not going to be called in the config can go in the macro part. Any print files can be placed in the gcode files tab.

I have an issue with the mesh level code.

I have defined the BLTouch position: G31 X-25 Y58 Z0.73 P1
I have defined my mesh size: M557 X15:300 Y15:160 S30

My issue is I am not sure just what I am defining in the M557 command is it the probe position/head position? It works but I am curious as I want to cover as much bed as possible and am currently a little conservative with the positions. I also assume the firmware accounts for the probe offset when creating/using the height map?

Thanks

Avatar

By dc42 31 January 2017 17:47

Administrator · 2,617 comments

@Etznab, for where the files go, see https://duet3d.com/wiki/SD_card_folder_structure.

@Sylo_Symatic, the coordinates you put in M557 are the points you want to probe, so they are probe position not head position. The firmware will subtract the probe offset from them when positioning the head, and will leave out any points that would place the head outside the limits set by M208.


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By redcurse 3 February 2017 04:03

Member · 3 comments

Hi Everyone,

I've been attempting to get my bltouch working on my duet wifi for a couple days now. I've gotten to the point where if I deploy the pin and manually push it up I can see in the web interface that its being triggered. I usually see something like 68 or 180 and the colour of the field is red. This will happen maybe once or twice every 30 or so times I push the pin.

My issue is that it doesn't trigger when running auto calibration, the head just crashes into the bed every time. I'm new to reprapfirmware, coming from marlin, so I'm not sure if there is some configuration that I might be missing. I've tried following this thread as best as I can but nothing seems to be solving this issue.

Any help is appreciated. Thanks!

Avatar

By (In)Sanity 3 February 2017 17:09

Member · 279 comments

Sounds like you have the same problem I did.  Make sure your config-override.g file doesn't have G31 .. P500 ...   It should have P25 or lower.  I use P1.    P500 will crash it into the bed and behave as you describe.    If you don't have a config-override.g file make sure your config file has the G31 P1 (or P25).   

What is happening is the pulse from the BLTouch isn't being seen most of the time because of P500

Jeff


Duet WiFi Powered FFCP with E3D legends hotend system.  BLTouch grid leveling.

Avatar

By redcurse 3 February 2017 20:57

Member · 3 comments

Thanks for the response!

This is something I actually looked into. Originally I didn't have a config-override.g file so I used M500 to create it and noticed that there were some extra G31 commands in there so I commented them out and copied the G31 line in my config.g file into the config-override.g. Unfortunately this didn't solve my problem.

I'll double check this though when I get home from work.

Avatar

By (In)Sanity 3 February 2017 23:28

Member · 279 comments

Not sure which endstop you connected to ,   Try G31 T1  or G31 T3 at the console and see what it spits out.  Should have P25 or P1 (whichever you used).  T1 would be the normal z-probe and T3 should be the E1 endstop I believe.  Might be off the that one.   In any event this will help you verify your settings are making it end to end.    If you still seeing P500 then issue G31 T1 (or T3) P25 and then do M500.

Also make sure you are loading the config.override in the config.g toward the very bottom of the file.

M501                    ; Load saved values


Duet WiFi Powered FFCP with E3D legends hotend system.  BLTouch grid leveling.

Avatar

By redcurse 4 February 2017 00:18

Member · 3 comments

So it turns out what I thought was the first probe of the bed was actually just the head positioning itself to begin the auto leveling process. I had my height set a little too high and that was causing the crash. I fixed that issue and its working!

Thanks again (In)Sanity. I was at least able to confirm a couple things were set up correctly with your help. I was able to focus on other things because of it to solve the issue. 😁

Avatar

By FrankNPrinter 14 February 2017 15:24

Member · 47 comments

Can someone please clarify the pin out below?duet wifi bl touch

BLTouch endstop leads are paralleled with a 240ohm resistor as documented by Antclabs to make it safe for 3.3v logic and connected to E0 endstop header
E0 end stop header? which pins? 3.3 v and (bltouch Orange?)
E0 end stop (groud to E0 ground black, white to E0 Stop?)
so close yet so confused lol

Avatar

By dc42 14 February 2017 16:36

Administrator · 2,617 comments

I suggest you use the GND and IN pins on the Z probe connector, not the E0 endstop.


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By FrankNPrinter 15 February 2017 15:04

Member · 47 comments

Thank you very much! Been scratching my head on this so long, i starting getting things mixed up. It took me forever to figure out I was looking at a different model board. the difference between the duet and duet wifi pin out was killing me LOL For those that follow, BL Touch pins 1=brown to Duetwifi expansion pin 2, Pin 2= red +5 v to Duetwifi expansion pin 1, Pin 3 Orange control to expansion pin 8 AKA Heater 3, pin 4 = Black to ground z probe  5=white to  Z Probe IN. and don't forget the 240 ohm resistor between the z probe min and ground.

Avatar

By FrankNPrinter 15 February 2017 16:53

Member · 47 comments

This is what i have so far. I think the pin assignments may be off right? Since this is the duet wifi expansion pin 8 is heater 3 and pins 1 and 2 are +5 vdc and ground. is it pin# or sam pin that i am looking for z probe pin? Also, the config files for retract and deploy, do they go in the config folder or macro folder?

; BLTouch
M307 H3 A-1 C-1 D-1
M558 P4 X0 Y0 Z1 H3 F200 T5000       
G31 P200 X-4 Y40 Z2

##BLTouch Servo Settings thermistor ADC correction
switch.servo.enable true
switch.servo.input_on_command M280 S3.0 # M280 S7.5 Would be midway
switch.servo.input_off_command M280 S7.0 # Same as M280 S0 0% duty cycle, effectivley off
switch.servo.output_pin 1.23 # Must be a PWM capable pin
switch.servo.output_type hwpwm # H/W PWM output settable
switch.servo.pwm_period_ms 20 # Set Period to 20ms (50Hz) - Default is 50Hz

;gamma_min_endstop            nc                 # normally 1.28. Change to nc to prevent conflict, not needed on Azteeg X5

;zprobe.enable                true               # set to true to enable a zprobe
;zprobe.probe_pin             1.28!^             # pin probe is attached to if NC remove the !, Azteeg X5 this is 1.29
;zprobe.slow_feedrate         5                  # mm/sec probe feed rate
;#zprobe.debounce_ms          1                  # set if noisy
;zprobe.fast_feedrate         100                # move feedrate
;zprobe.probe_height          5                  # how much above bed to start probe NB only needed for G32 on delta
;zprobe.return_feedrate       0                  # feedrate after a probe, default 0 is double of slow_feedrate (mm/s)

Avatar

By dc42 15 February 2017 17:55

Administrator · 2,617 comments

The Z probe input pin is the one marked IN on the 4-pin Z-probe connector. You need to use P5 in the M558 command, not P4.


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By FrankNPrinter 15 February 2017 20:55

Member · 47 comments

thanks again,  I cant read that pin out diagram to save my life!

Avatar

By claustro 17 February 2017 08:18

Member · 5 comments

Are this connections right?
Can someone make a step by step description of the firmware modifications required?
rle5g1.jpg

Avatar

By dintid 17 February 2017 09:24

Member · 43 comments

Anyone know how to hook up BLTouch when using Duet WiFi + Duex5? meaning I do not have access to the expansion board pins?

I have read this and guess I should use mode 4 or 5? Aside from that, it links back to this post, which doesn't answer my questions (I have read all, but might obviously have missed something - sometimes unclear wheter we talk about WiFi or not)
https://duet3d.com/wiki/Connecting_a_Z_probe

and

https://duet3d.com/wiki/Setting_up_auto … _print_bed which links to above page and talk about setting up in firmware, but I need to hook it up before I get here 😁


RepRapFirmware supported G-codes: https://duet3d.com/wiki/G-code

Avatar

By dc42 17 February 2017 15:55

Administrator · 2,617 comments

Instead of using the heater 3 pin on the expansion bus, you will need to use the servo output pins on the DuetX5 that corresponding to an unused heater channel. So disable that heater channel with M307 instead of heater 3, use that heater channel in the M280 commands instead of 3, and don't use I1 in the M280 command.

You can get the 5V power from that servo connector as well.


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By claustro 18 February 2017 08:06

Member · 5 comments

Can someone confirm me the connections as shown 2 posts above?

Avatar

By Fickert 19 February 2017 00:00

Member · 61 comments

Hi guys I am very new to the Duet WiFi and a bit lost by all the bits and pieces of info in this thread.

Can someone with a working set try to cobble together the correct code and put it under a single post? The Config.g and bed.g code? I see a lot of P4's or P5's in the m558 command some say its right or wrong. Which is it? I am also a bit confused in terms of wiring and where did the m307 code go to reserve a pin for the servo input?

Lastly a wiring diagram would be wonderful to help really see where this all gets wired in (for the 5v variant of bltouch)

Thanks!

Avatar

By Sniffle 19 February 2017 00:58

Member · 73 comments

from the middle of page 2, I currently have a working BLTouch config that is used without issue.

additional notes, check the documentation on the website any PWM pin on the expansion header can be used you will just need to reference the correct pin name in the M307 gcode that is added to the config, and due to the extremely fast trigger pulse sent to the board, a value under 100 is recomended(as noted i used 25 and the highest value i ever witnessed on the web interface for the probe trigger value was 181)

Sniffle wrote

This is pretty much what I did.  Bur I also made macro's for the deploy, retract, reset and self test functions of the probe.

W3DRK wrote

  • BLTouch 5V leads are connected to expansion header pins 1-2, and the servo lead is connected to pin 21 (PWM for heater 3)
  • BLTouch endstop leads are paralleled with a 240ohm resistor as documented by Antclabs to make it safe for 3.3v logic and connected to E0 endstop header
  • M307 H3 A-1 C-1 D-1 is added to config.g to reserve pin 21 for M42 or servo use
  • M558 is set to probe type 4 and G31 is set for a very low trigger value since the BLTouch only triggers the endstop for 5ms(Sniffle used 25)
  • Deployprobe.g macro contains the line M280 P3 S10 I1 to deploy the BLTouch probe
  • Retractprobe.g macro contains the line M280 P3 S90 I1 to retract the BLTouch probe
  • Deploy and Retract macros are added to bed.g and homing macros

And I think that's about it...


Also as far as commissioning the probe, and notes of interest from experience

the probe should be deployed and manually triggered until a value is seen in the web interface(the web interface doesnt update fast enough to always show a triggered state so it may take a few/several triggers until you see the value in the web interface to know that it works)

you should know or confirm your offsets for X and Y in G31 move the probe to the first probe position and deploy the probe, if it is off the bed and the bed is too high it WILL destroy the probe(ask me how i know...) when probing, and adjustments must be made.

to finally verify that the probe is working properly using the machine itself use the following macro(replace xxx on X and Y to a safe value to be on the bed on your printer)

G28 X Y ;home x&y
G91 ;relative mode
G1 Z10 ;move Z up 10 mm to ensure clearance
G90 ;absolute mode
G1 Xxxx Yxxx ;move to a safe probing point on the bed modify xxx to your liking
M98 Pdeployprobe.g ;deploy the probe
G30 S-1 ;probe Z until the probe triggers
M98 Pretractprobe.g ;retract the probe after triggering and stop.

Other Useful Macros

************
Deploy Probe
************

M280 P3 S10 I1

**************
Restract Probe
**************

M280 P3 S90 I1

***************
Self Test Probe
***************

M280 P3 S120 I1

***********************
Reset Probe Error State
***********************

M280 P3 S160 I1

*******************
G29 - Mesh Leveling
*******************

G28
G91
G1 Z4 F200
G90
M98 Pdeployprobe.g
G29 S2
G29
M98 Pretractprobe.g
G1 X10 Y10 F5000 

Last edited by Sniffle (19 February 2017 01:05)

Avatar

By dc42 19 February 2017 07:55

Administrator · 2,617 comments
3dprinting meathead wrote

this might be a really stupid question, but is what was written all the commands for each macro, or just added on to what's already there? for example, my current deploy macro reads:
; Probe deployment routine for Mini Kossel
M564 S0                    ; don't apply limits
G1 X25 Y93 Z40 F10000    ; put probe arm next to belt
G1 X-5 F500                ; move probe arm across belt
G1 X12 F1000            ; move probe back
G1 X0 Y0 F10000            ; move to somewhere sensible
M564 S1                    ; apply limits again

Do I just delete all that stuff and replace it with:
M280 P3 S10 I1

or add it on to the bottom of all that's already there? No I do not have a mini kossell, not even sure why it says that.
read the handle, I know just enough to be dangerous at this point. It's a new board and I've never set it up before, but I need to nail this because I have no mechanical endstop.
Thanks for your help!

Yes you should replace what's already in deployprobe.g and retractprobe.g by the M280 commands that deploy and retract the probe. Then make sure that your bed.g file calls those macro files using M98.

Please can someone who has bltouch working update the wiki page at https://duet3d.com/wiki/Connecting_a_Z_probe.


Duet WiFi hardware designer and firmware engineer
http://www.escher3d.com
https://miscsolutions.wordpress.com

Avatar

By Fickert 19 February 2017 14:19

Member · 61 comments
Sniffle wrote

from the middle of page 2, I currently have a working BLTouch config that is used without issue.

additional notes, check the documentation on the website any PWM pin on the expansion header can be used you will just need to reference the correct pin name in the M307 gcode that is added to the config, and due to the extremely fast trigger pulse sent to the board, a value under 100 is recomended(as noted i used 25 and the highest value i ever witnessed on the web interface for the probe trigger value was 181)

Sniffle wrote

This is pretty much what I did.  Bur I also made macro's for the deploy, retract, reset and self test functions of the probe.

W3DRK wrote

  • BLTouch 5V leads are connected to expansion header pins 1-2, and the servo lead is connected to pin 21 (PWM for heater 3)
  • BLTouch endstop leads are paralleled with a 240ohm resistor as documented by Antclabs to make it safe for 3.3v logic and connected to E0 endstop header
  • M307 H3 A-1 C-1 D-1 is added to config.g to reserve pin 21 for M42 or servo use
  • M558 is set to probe type 4 and G31 is set for a very low trigger value since the BLTouch only triggers the endstop for 5ms(Sniffle used 25)
  • Deployprobe.g macro contains the line M280 P3 S10 I1 to deploy the BLTouch probe
  • Retractprobe.g macro contains the line M280 P3 S90 I1 to retract the BLTouch probe
  • Deploy and Retract macros are added to bed.g and homing macros

And I think that's about it...


Also as far as commissioning the probe, and notes of interest from experience

the probe should be deployed and manually triggered until a value is seen in the web interface(the web interface doesnt update fast enough to always show a triggered state so it may take a few/several triggers until you see the value in the web interface to know that it works)

you should know or confirm your offsets for X and Y in G31 move the probe to the first probe position and deploy the probe, if it is off the bed and the bed is too high it WILL destroy the probe(ask me how i know...) when probing, and adjustments must be made.

to finally verify that the probe is working properly using the machine itself use the following macro(replace xxx on X and Y to a safe value to be on the bed on your printer)

G28 X Y ;home x&y
G91 ;relative mode
G1 Z10 ;move Z up 10 mm to ensure clearance
G90 ;absolute mode
G1 Xxxx Yxxx ;move to a safe probing point on the bed modify xxx to your liking
M98 Pdeployprobe.g ;deploy the probe
G30 S-1 ;probe Z until the probe triggers
M98 Pretractprobe.g ;retract the probe after triggering and stop.

Other Useful Macros

************
Deploy Probe
************

M280 P3 S10 I1

**************
Restract Probe
**************

M280 P3 S90 I1

***************
Self Test Probe
***************

M280 P3 S120 I1

***********************
Reset Probe Error State
***********************

M280 P3 S160 I1

*******************
G29 - Mesh Leveling
*******************

G28
G91
G1 Z4 F200
G90
M98 Pdeployprobe.g
G29 S2
G29
M98 Pretractprobe.g
G1 X10 Y10 F5000 

Sniffy,

First I want to thank you for all the help thus far. I suppose I am still just extremely confused by this new folder structure as well as the pinouts do not make sense to me currently.

The P3 in the retract and deploy commands, what is this referencing?

I have the bltouch to the in an gnd on the probe headers on the duet, as well as the servo wire on pin 21 of the expansion header (is this right?) but there is no deployment or retraction of the bltouch. I also have the 307 command as you have written in your post, but I am completely in the dark on how to link this code to the pin 21 on the expansion headers.

I am just very confused still. Nothing is making sense to me currently and I keep blindly adding, and modifying spurts of code I see throughout this thread. Is it possible for you to copy in whatever files are relevant into this thread? Any macros, config.g, etc? I understand some people find this insulting so if this is a problem I understand.