BLTouch working
-
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.
-
To everyone who has put this together so far, all the hard work, testing, calibration, programming, developing,
Thank you!
DC42, Sniffle, I could never do this on my own, and you are so helpful with all of this, and I want you both to know that your hard work is not going unnoticed.
Since it seems I have a ton of macros that have nothing to do with my machine floating around, I'm gonna delete all of them in web control, then enter them in configurator. -
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.
can you post your config please, just post it to something like pastebin and link to it. I'll see if i can get my meager paint skills to make a drawing and also explain some things to you.
According to http://reprap.org/wiki/G-code the P3 in M280 is what references Pin 21
you also have https://duet3d.com/wiki/Using_servos_and_controlling_unused_I/O_pins
also https://duet3d.com/wiki/Using_mesh_bed_compensation
and https://duet3d.com/wiki/Duet_WiFi_wiring_diagrams
for reference.almost everything you need to refernce is on the duet3d wiki, or the reprap gcode wiki.
-
@3dprinting:
To everyone who has put this together so far, all the hard work, testing, calibration, programming, developing,
Thank you!
DC42, Sniffle, I could never do this on my own, and you are so helpful with all of this, and I want you both to know that your hard work is not going unnoticed.
Since it seems I have a ton of macros that have nothing to do with my machine floating around, I'm gonna delete all of them in web control, then enter them in configurator.I dont know what type of printer you are setting up, but the default setup is for an old style deployable rod that triggers a microswitch on a delta printer. so unless you are using that specific setup most of it will need to be removed or edited and rebuilt to suit your purposes.
-
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.
can you post your config please, just post it to something like pastebin and link to it. I'll see if i can get my meager paint skills to make a drawing and also explain some things to you.
According to http://reprap.org/wiki/G-code the P3 in M280 is what references Pin 21
you also have https://duet3d.com/wiki/Using_servos_and_controlling_unused_I/O_pins
also https://duet3d.com/wiki/Using_mesh_bed_compensation
and https://duet3d.com/wiki/Duet_WiFi_wiring_diagrams
for reference.almost everything you need to refernce is on the duet3d wiki, or the reprap gcode wiki.
https://duet3d.com/w2/images/7/7b/DuetWifi_connectionsv1.0.png
Thank you, I have been trying to dive through all the pages on the Wiki to gain some idea of what I am exactly doing.
I used the RRF Config tool to create a set of config documents which is what I have linked here http://pastebin.com/XMvCwT6f
According the diag and my board isn't p21 for E5? which is not heater 3 that we keep referencing to use a pwm servo pin. I guess I am confused on how this works or what I am missing.
Also I think there is something up with this config as I cannot heat my hotend nor my bed. The thermsistors register fine but once a temp is set to active nothing happens. I know this is outside the purpose of this thread but if anything jumps out to you for this it would be great to note.
As well when I heat the hotend I get the set of codes in the console:
M120
M83
G1 E-10 F2400
M121I am not sure why it is referencing E-10, shouldn't it be E1 (What my hotend is currently wired to)?
-
Thank you, I have been trying to dive through all the pages on the Wiki to gain some idea of what I am exactly doing.
I used the RRF Config tool to create a set of config documents which is what I have linked here http://pastebin.com/XMvCwT6f
According the diag and my board isn't p21 for E5? which is not heater 3 that we keep referencing to use a pwm servo pin. I guess I am confused on how this works or what I am missing.
Also I think there is something up with this config as I cannot heat my hotend nor my bed. The thermsistors register fine but once a temp is set to active nothing happens. I know this is outside the purpose of this thread but if anything jumps out to you for this it would be great to note.
As well when I heat the hotend I get the set of codes in the console:
M120
M83
G1 E-10 F2400
M121I am not sure why it is referencing E-10, shouldn't it be E1 (What my hotend is currently wired to)?
You had a few duplicate lines in the config and a couple of things that needed to be changed, I edited it and re-pasted.
The output and expected actions will should look correct since i changed it to act like marlin.
as to your question about G1 E-10 F2400 that is saying to retract 10mm of filament, by changing the M555 to P2 it should change behave more how you expect
I also removed duplicate gcodes and arranged them where they should make more sense and added comments to them so that they will hopefully make more sense.(i forgot to edit the comment on the M555 Gcode it should say marlin and not reprapfirmware)