BLTouch working
-
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!
-
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
-
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.
-
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
-
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.
-
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 -
I suggest you use the GND and IN pins on the Z probe connector, not the E0 endstop.
-
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.
-
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) -
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.
-
thanks again, I cant read that pin out diagram to save my life!
-
Are this connections right?
Can someone make a step by step description of the firmware modifications required?
-
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_probeand
https://duet3d.com/wiki/Setting_up_automatic_probing_of_the_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
-
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.
-
Can someone confirm me the connections as shown 2 posts above?
-
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!
-
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)
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.
-
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
-
[c]M307 H3 A-1 C-1 D-1[/c] 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 [c]M280 P3 S10 I1[/c] to deploy the BLTouch probe
-
Retractprobe.g macro contains the line [c]M280 P3 S90 I1[/c] 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
-
-
@3dprinting:
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 againDo I just delete all that stuff and replace it with:
M280 P3 S10 I1or 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.
-
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)
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.
-
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
-
[c]M307 H3 A-1 C-1 D-1[/c] 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 [c]M280 P3 S10 I1[/c] to deploy the BLTouch probe
-
Retractprobe.g macro contains the line [c]M280 P3 S90 I1[/c] 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.
-
-
@3dprinting:
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 againDo I just delete all that stuff and replace it with:
M280 P3 S10 I1or 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.
I started to and then the kids got in the way, I'll start working on it when i get a chance.