BLTouch working
-
The resistor is in place. It trigger's just fine if I put the probe in test mode. I've tried the Z-Probe input and now E0 input. The web interface does show they trigger with the probe in test mode. The problem is without that test mode during a home (or probe) the bed just crashes and doesn't stop until the probe goes into alarm which forces the trigger. It's still acting as if the Duet Wifi just can't see that short pulse, which I find hard to believe. The logic levels are clearly ok as it's working while the probe is in test mode. I'm only clearing the errors in the deploy for now as I'm tired of doing so manually during this debug phase.
Any ideas ?
Jeff
-
I just love how helpful people are, much thanks.
The problem is my config override still had G31 P500, I changed that to P25 as suggested. It just never crossed my mind to look at this. Sniffle, your a life savor!
Now to switch back to the Z-Probe input.
Thanks,
Jeff
-
hmm… if you manually deploy the pin, and the press it up with your finger as if ti were probing does it display the trigger in the web interface? the default action in test mode and alarm is to send a constant signal instead of a pulse. When manually testing mine it doesnt always line up with a web interface value refresh but i could occasionally get it to show.
-
Everything is working perfectly now.
I can confirm the BLTouch works perfect with the Z-Probe input as well as E0 or E1. In either case be sure to use the 240 (or 220) ohm resistor from signal to gnd.
I can also confirm you must have a low value for G31 P parameter. I'm now using P1 and it works perfect, P25 is a safe value it would appear.
On a side note and certainly not for everyone I'm using a 47k resistor a 100k resistor and a green LED on the Z-Probe input to act as a zener diode limiting the voltage to around 2.7v even if I go as high as 24v on the Z-Probe. I have two harnesses that I can quickly swap out for all this testing. The 100k resistor acts to pull the signal back down. The 47k is a current limit and the LED is between gnd and signal. I've tested this on a 300 Mhz scope and even trying to cause spikes with 24v I never had anything go above 2.7v. Plus it lights up when triggered
Jeff
-
Perhaps one of you who has a BLTouch working would like to add a section on how you did it to the wiki page on connecting a Z probe?
-
Perhaps one of you who has a BLTouch working would like to add a section on how you did it to the wiki page on connecting a Z probe?
I was thinking the same thing. Be happy to work on that, perhaps combining knowledge first and then compiling it together.
Jeff
-
I'll be happy to help with anything but for the most part i pulled everything from W3's work.
-
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
-
-
After having to solder in a new SAM4E 144 pin processor I now have a 27k resistor coming from HEATER3. My probe wiring harness has 24v and 5v supplied so I can use an inductive probe at any time…if I desire. The BLTouch fits in the hole for the inductive probe with an adapter. Well one slip with a meter probe and poof she went. In any event I'm not sure if this safety catch matters for most people but I have to say I sleep a bit better knowing I'm not going to smoke the second processor as easy. Lucky for me I have years of SMD soldering experience...but still..who needs fried components. Also fuses on power feeds is not such a bad idea either. The 5V rail if somehow sent back down that HEATER3, etc. line could easily damage the processor.
Jeff
-
M98 Pdeployprobe.g can be M401
M98 Pretractprobe.g can be M402What does G29 S2 do ? I just use G29.
This is what I run on bed.g
G1 Z20 F6000 ; Making sure we're not going to hit the side of glass
M400 ;Wait for move to finish
M401 ;Deploy probe
G29 ;probe grid
M402 ;Retract probeThanks,
Jeff
-
G29 S2 clears the current heightmap in case you are trying to probe with the heightmap already loaded. also your start Gcode needs to have G29 S1 to load the heightmap or it wont compensate at all.
-
G29 S2 clears the current heightmap in case you are trying to probe with the heightmap already loaded. also your start Gcode needs to have G29 S1 to load the heightmap or it wont compensate at all.
Wow, ok this is news. I've been under the impression G29 does a new probe, creates a new map and uses it. Looking at the code seams to support that theory. Perhaps we can have some kind words from the coder ? In the mean time I'll change my bed.g to use the extra commands.
Thanks,
Jeff
-
I ended up with the BLTouch because the gantry on my HackenForge Creator Pro bows in the middle from a past life of having dual extruders on it. Using an 8mm sense inductive sensor worked well with the grid mode through glass to the aluminum bed, it however weighed more then I wanted. I've done soo much to reduce weight and get a solid 120mm/s print speed and far more accuracy that I wasn't willing to keep the weight on. The BLTouch and the IR sensor are good options. I liked the IR…it just wasn't the right fit for me as I swap from Blue to Black to Glass to Glue to Spray..etc..etc. The BLTouch just works..and works well.
Ohh if anyone cares you can run a short NEMA 17 motor on the X Axis of the Creator Pro to cut down on weight. Granted it runs pretty warm at 1 amp...but who cares. It cuts off the ounces. I'll have to post some pics of the Hackenforge.
Ok I hijacked it back
Jeff
-
I am working on adding a BLTouch to my printer. I have the Duet 0.8.5 and see where you can set the probe type to use either the E0, E1, or the Probe header. Since I will be using +5 and a PWM from the expansion header, I was hoping I could map the BL Touch to one of the end stops on there so I can get all the connections from the expansion header. This would allow me to create a board I could plug in that the BL Touch could connect to.
-
Do I have to have a Duet 2/5 in order for the BLTouch to work?
-
Do I have to have a Duet 2/5 in order for the BLTouch to work?
For the Duet WiFi the BLTouch works without any expansion board and with the Z-Probe pin already on the board. The 5 volts can come from the expansion header and control signal comes from the Heater 3 pin on the 50 pin expansion connector. The z-probe can be feed via the BLTouch with a 240 (or 220) ohm resistor in parallel with the output from the BLTouch, this drops the voltage down from the 5 volts from the BLTouch to something a bit more friendly for the 3.3v logic levels the processor expects. We'll have to get a wiring diagram together for the various models of Duet boards. It's a pretty easy install and it works great.
Jeff
-
Thanks. That's good then! Yes a diagram would help but I understand it's early days. I have it setup currently on my Bigbox (Rumba) so looking forward to switching.
-
If anyone could knock up a quick diagram of connecting the BLTOUCH to a duet wifi I would appreciate it. I am getting everything ready to change over on Saturday evening.
-
I have set my BL Touch up, but I am having a lot of repeatability issues that I am hoping someone could help me with. I have followed all the instructions in this thread as best as I could. I am using the resistor, plugging into the z probe pins, pin 1 and 2 on the expansion, and heater3 pin. I have tried changing the trigger value a bit which didnt do anything. All my connections seem fine as they are crimped and the resistor is soldered.
Here are the results (just the Z coordinate) from four 5-point auto bed compensations that I did in a row, without the heated bed or anything turned on.
[ 0.000] [-0.190] [0.425] [0.112] [0.158]
[ 0.082] [-0.170] [0.540] [0.503] [0.285]
[ 0.010] [-0.522] [0.780] [0.635] [0.293]
[-0.122] [-0.637] [0.322] [0.115] [0.197]As you can see there is a big difference between each new probe sequence. Here are some relevant config files and my bed file.
; BL Touch
M558 P5 X0 Y0 Z1 H4 F450 T4000
G31 P25 X36 Y0 Z1.5; Auto Bed Compensation
M561
M98 Pdeployprobe.g
; Probe the bed at 5 points
G30 P0 X15 Y15 H0 Z-99999
G30 P1 X15 Y175 H0 Z-99999
G30 P2 X185 Y175 H0 Z-99999
G30 P3 X185 Y15 H0 Z-99999
G30 P4 X100 Y100 H0 Z-99999 S
M98 Pretractprobe.gThanks in advance for any help.
-
Few things to check,
Make sure your config_override.g isn't changing the value of the G31 P25…command.
I'm actually running G31 P1 (vs P25) and have been. My theory is that the even shorter pulse detection gives the Z axis less time to move once triggered. I've had really consistent results. Granted if the z axis overshoots the same each time it shouldn't matter. But still perhaps worth a try.
Edit: Not that it matters but M401 can be used to call the deploy.g and M402 to call the retract. Just a bit cleaner.
Jeff