BLTouch working
-
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) -
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)Great Thank you,
I will get this loaded up and see what I come up with.
Update,
Further to find, the bltouch pin still will not deploy. Do I need the deploy and retract codes in the config file? I have them in the macros but that is it. Also the hotend and bed still will not heat up. Auto tune does not complete either since it will not heat up Wiring is fine, not sure why its acting up. is it something to do with the tool? This tool change thing is very new to me.
-
you should start a new thread for the heater issues,
As to the bltouch, is it glowing with a red light? are you sure the wiring is correct? on the bltouch brown is ground, orange is 5v and yellow is signal. when it is powered on it should cycle the pin 2-3 times up and down then store itself up and glow red.
-
I will get another thread started for the heaters.
The bltouch is wired to 5v and ground for the servo power, the servo pin is wired to p21 labeled e5 dir. the signal and ground wires for the sensor are wired to the IN and ground pins on the PROBE headers on the duet wifi. Those two wires are also linked with the resistor included with my bltouch a 240 ohm i believe.
Do I need another resistor in line with the 5v line like that diagram that was posted a while ago?
Aside from the wiring yes the bltouch looks "ready" with it lit up red when retracted, and upon start up it does it deploy retract procedure.
-
ok, so for Probe type 4 which is a switched probe the endstop(black/white wires) need to be plugged into the E0 endstop. Also to simplify wiring you can plug the 5v and ground into pins 1 and 2 of the expansion header. the bltouch doesnt care where it gets power and ground from but it simplifies wiring some.
to quote the Gcode wiki for M558
@http://reprap.org/wiki/G-code#M558:_Set_Z_probe_type:
A Z probe may be a switch, an IR proximity sensor, or some other device. This selects which to use.
P0 indicates that no Z probe is present. P1 gives an unmodulated IR probe, or any other probe type that emulates an unmodulated IR probe (probe output is an analog signal that rises with decreasing nozzle height above the bed).
If there is a control signal to the probe, it is driven high when the probe type is P1.
P2 specifies a modulated IR probe, where the modulation is commanded directly by the main board firmware using the control signal to the probe.
P3 selects an alternative Z probe by driving the control signal to the probe low.
P4 selects a switch for bed probing (on the Duet, this must be connected to the E0 endstop pins).
P5 (from RepRapFirmware 1.14) selects a switch (normally closed) for bed probing between In and Gnd pins of the Z-probe connector (Duet 0.8.5 and Duet WiFi).
P6 is as P4 but the switch is connected to and alternative connector (on the Duet series, the E1 endstop connector).
currently though you seem to not be getting signal to the bltouch, doublecheck your connections, and try to isolate the signal wire for the bltouch away from the other wires in the wire bundle, especially the motor wires. you could be getting intereferance from an outside source.
-
P5 is the correct type for a BLTouch. I'll add this to the wiki.
-
P5 is the correct type for a BLTouch. I'll add this to the wiki.
which endstop is expected then? I've been using the P4 option without issue and how W3DRK got it working initially
Whats the main difference between them?
-
ok, so for Probe type 4 which is a switched probe the endstop(black/white wires) need to be plugged into the E0 endstop. Also to simplify wiring you can plug the 5v and ground into pins 1 and 2 of the expansion header. the bltouch doesnt care where it gets power and ground from but it simplifies wiring some.
to quote the Gcode wiki for M558
@http://reprap.org/wiki/G-code#M558:_Set_Z_probe_type:
A Z probe may be a switch, an IR proximity sensor, or some other device. This selects which to use.
P0 indicates that no Z probe is present. P1 gives an unmodulated IR probe, or any other probe type that emulates an unmodulated IR probe (probe output is an analog signal that rises with decreasing nozzle height above the bed).
If there is a control signal to the probe, it is driven high when the probe type is P1.
P2 specifies a modulated IR probe, where the modulation is commanded directly by the main board firmware using the control signal to the probe.
P3 selects an alternative Z probe by driving the control signal to the probe low.
P4 selects a switch for bed probing (on the Duet, this must be connected to the E0 endstop pins).
P5 (from RepRapFirmware 1.14) selects a switch (normally closed) for bed probing between In and Gnd pins of the Z-probe connector (Duet 0.8.5 and Duet WiFi).
P6 is as P4 but the switch is connected to and alternative connector (on the Duet series, the E1 endstop connector).
currently though you seem to not be getting signal to the bltouch, doublecheck your connections, and try to isolate the signal wire for the bltouch away from the other wires in the wire bundle, especially the motor wires. you could be getting intereferance from an outside source.
Oh okay thank you for the clarification on the E0 pins not the probe pins.
I guess i am still confused as the pin will not react to pwm signals. This exact setup worked on my previous mks board so I have confidence there is no wire interference as the gantry hasn't even been moved since then. I will look again though and see if I see anything with it.
-
David, I tried to go make a few changes to the wiki to update the info you had ??'s at, but have been blocked. If for some reason i am not unblocked I'll just make a post here to clarify the info.