BLTouch Trigger not working
-
Hi guys,
I modified my HEVO to install a BLTouch sensor instead of Inductive sensor on my Duet Wifi.Unfortunately I've some problem with the trigger of the sensor, I followed these steps:
- Black and White wires connected to Z Probe port with a 220 Ohm resistor.
- Other three wires connected to GND, 5V, Heater 3 pin on expansion header
I already checked the voltage of black and white wires and, with the resistor of 220 Ohm, is about 2.85V.
Now, the problem is the following.
When I power on the printer the probe led is off and If I manually move the probe pin up and down the led go on and off correctly. In DWC I see a 0 in Z Probe trigger.
If I try to homing all the axis (or Z alone), the probe pin goes down and the BLTouch start to blinking and the homing of Z fails because DWC say that Z Probe is already triggered (I see 1000 in DWC) but the bed has not moved of anything and nothing is touching the probe.
My configuration is:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) M561 ; clear any bed transform G28 ; home all axes M98 Pdeployprobe.g ; deploy mechanical Z probe ; Probe the bed at 5 points G30 P0 X15 Y15 H0 Z-99999 G30 P1 X15 Y281 H0 Z-99999 G30 P2 X285 Y281 H0 Z-99999 G30 P3 X285 Y15 H0 Z-99999 G30 P4 X150 Y148 H0 Z-99999 S M98 Pretractprobe.g ; retract mechanical Z probe ; Configuration file for Duet WiFi (firmware version 1.20 or newer) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P1 ; Set firmware compatibility to look like RepRapFirmare M667 S1 ; Select CoreXY mode ; Network M550 PDuetWifi ; Set machine name M552 S1 ; Enable network M587 S"Brisma-WiFi" P"Brisma-WiFi" ; Configure access point. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S1 ; Drive 0 goes forwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S1 ; Drive 4 goes forwards M350 X256 Y256 I0 ; Configure microstepping without interpolation M350 Z16 E16:16 I1 ; Configure microstepping with interpolation M92 X1280 Y1280 Z400 E420:420 ; Set steps per mm M566 X900 Y900 Z12 E120:120 ; Set maximum instantaneous speed changes (mm/min) M203 X12000 Y12000 Z240 E1200:1200 ; Set maximum speeds (mm/min) M201 X1500 Y1500 Z250 E250:250 ; Set accelerations (mm/s^2) M906 X800 Y800 Z800 E800:800 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; Set axis minima M208 X300 Y296 Z350 S0 ; Set axis maxima ; Endstops M574 X2 Y2 S1 ; Set active high endstops ; Z-Probe M574 Z1 S2 ; Set endstops controlled by probe M307 H3 A-1 C-1 D-1 ; Disable heater on PWM channel for BLTouch M558 P9 H5 F240 T6000 ; Set Z probe type to bltouch and the dive height + speeds G31 P25 X20 Y-1 Z0 ; Set Z probe trigger value, offset and trigger height M557 X15:285 Y15:285 S20 ; Define mesh grid ; Heaters M307 H0 B0 S1.00 ; Disable bang-bang mode for the bed heater and set PWM limit M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C ; Fans M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H-1 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P2 S1 I0 F500 H-1 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off ; Tools M563 P0 D0 H1 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C M563 P1 D1 H1 ; Define tool 1 G10 P1 X0 Y0 Z0 ; Set tool 1 axis offsets G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C ; Automatic saving after power loss is not enabled ; Custom settings are not configured ; deployprobe.g ; called to deploy a physical Z probe ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) M280 P3 S10 I1 ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position M98 Pdeployprobe.g ; deploy mechanical Z probe G1 S1 X305 Y301 F4200 ; move quickly to X or Y endstop and stop there (first pass) G1 S1 X305 ; home X axis G1 S1 Y301 ; home Y axis G1 X-5 Y-5 F6000 ; go back a few mm G1 S1 X305 F360 ; move slowly to X axis endstop once more (second pass) G1 S1 Y301 ; then move slowly to Y axis endstop G90 ; absolute positioning G1 X-5 Y16 F6000 ; go to first bed probe point and home Z G30 ; home Z by probing the bed ;G1 Z5 F100 S2 ; uncomment this line to lift the nozzle after homing M98 Pretractprobe.g ; retract mechanical Z probe ; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) G91 ; relative positioning G1 Z5 F6000 S2 ; lift Z relative to current position G90 ; absolute positioning G1 X-5 Y16 F6000 ; go to first probe point G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 S2 ; lift Z relative to current position ;G90 ; absolute positioning ; pause.g ; called when a print from SD card is paused ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) M83 ; relative extruder moves G1 E-10 F3600 ; retract 10mm of filament G91 ; relative positioning G1 Z5 F360 ; lift Z by 5mm G90 ; absolute positioning G1 X0 Y0 F6000 ; go to X=0 Y=0 ; resume.g ; called before a print from SD card is resumed ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) G1 R1 X0 Y0 Z5 F6000 ; go to 5mm above position of the last print move G1 R1 X0 Y0 ; go back to the last print move M83 ; relative extruder moves G1 E10 F3600 ; extrude 10mm of filament ; retractprobe.g ; called to retract a physical Z probe ; ; generated by RepRapFirmware Configuration Tool on Mon Jun 18 2018 22:22:04 GMT+0200 (CEST) M280 P3 S90 I1
What can I do?
-
If can be useful the result of M122 is the following:
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.0(RTOS) running on Duet WiFi 1.02 or later Board ID: 08D4M-999N9-JD3S8-6J1FG-3S86R-13Q9N Used output buffers: 3 of 20 (9 max) === RTOS === Static ram: 28380 Dynamic ram: 96108 of which 16 recycled Exception stack ram used: 508 Never used ram: 6060 Task NETWORK ready, free stack 396 Task HEAT blocked, free stack 1256 Task MAIN running, free stack 3560 === Platform === Last reset 00:08:18 ago, cause: software Last software reset at 2018-06-18 23:13, reason: User, spinning module GCodes, available RAM 6316 bytes (slot 1) Software reset code 0x0003 HFSR 0x00000000, CFSR 0x00000000, ICSR 0x0041f000, BFAR 0xe000ed38, SP 0xffffffff Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms MCU temperature: min 38.9, current 40.4, max 40.8 Supply voltage: min 23.9, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0 Driver 0: standstill, SG min/max 0/215 Driver 1: standstill, SG min/max 0/116 Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Date/time: 2018-06-18 23:21:33 Slowest loop: 48.64ms; fastest: 0.07ms === Move === Hiccups: 55318, StepErrors: 0, LaErrors: 0, FreeDm: 240, MinFreeDm 237, MaxWait: 2982539784ms, Underruns: 0, 0 Scheduled moves: 9, completed moves: 9 Bed compensation in use: none Bed probe heights: 0.000 0.000 0.000 0.000 0.000 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 === GCodes === Segments left: 0 Stack records: 2 allocated, 0 in use Movement lock held by null http is idle in state(s) 0 telnet is idle in state(s) 0 file is idle in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 62.03ms; fastest: 0.01ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.21 WiFi MAC address 60:01:94:7e:eb:98 WiFi Vcc 3.42, reset reason Turned on by main processor WiFi flash size 4194304, free heap 15800 WiFi IP address 192.168.0.35 WiFi signal strength -50dBm, reconnections 0, sleep mode modem Failed to request ESP stats Socket states: 0 0 0 0 0 0 0 0 === Expansion ===
-
Hi,
When you power on your duet, is the BL-Touch doing a self test? Deploy/Retract several times.
If you have a newer BL-Touch you won't need the 220Ohm resistor any more.
You also don't have to call deployprobe.g and retractprobe.g manually, G30 will do this for you.
-
@mloidl said in BLTouch Trigger not working:
Hi,
When you power on your duet, is the BL-Touch doing a self test? Deploy/Retract several times.
If you have a newer BL-Touch you won't need the 220Ohm resistor any more.
You also don't have to call deployprobe.g and retractprobe.g manually, G30 will do this for you.
No, at power on the BLTouch seems "normal", no self test and no led powered. Only if I move the probe up and down manually the led blink.
I'm not using an original new BLTouch, but a 3DTouch (that was working correctly on the old i3).
-
Since you're not using an original BL-Touch i'm not sure if the start-up behavior is correct or not.
But what i've read is that the controlling the 3DTouch should be the same as for the BL-Touch.Can you deploy/retract the probe when sending M280 P3 S10 I1 / M280 P3 S90 I1, directly?
Maybe you can try to not invert the Servo-Signal. Remove 'I1' from M280.
-
@mloidl said in BLTouch Trigger not working:
Since you're not using an original BL-Touch i'm not sure if the start-up behavior is correct or not.
But what i've read is that the controlling the 3DTouch should be the same as for the BL-Touch.Can you deploy/retract the probe when sending M280 P3 S10 I1 / M280 P3 S90 I1, directly?
Maybe you can try to not invert the Servo-Signal. Remove 'I1' from M280.
I tried sending the gcode manually, but immediately the led of the sensor started to blinking on and off without moving the probe and in DWC there was a constant 1000 as value of the trigger. It continued to blinking (and the trigger value remained 1000) until I restarted the printer power on/off.
After the restart the led was off with the probe down, on if the probe was up with a trigger value of 0 in DWC... until I resend the gcode
-
A blink LED normally indicates an error.
Have you tried removing the I1 from the M280 command.
On my BL-Touch i had to add I1 because it was blinking without it. Maybe that's different for the 3DTouch. -
@mloidl said in BLTouch Trigger not working:
A blink LED normally indicates an error.
Have you tried removing the I1 from the M280 command.
On my BL-Touch i had to add I1 because it was blinking without it. Maybe that's different for the 3DTouch.Yes, I tried all these combinations:
- M280 P3 S10 I1
- M280 P3 S10
- M280 P3 S90 I1
- M280 P3 S90
- M280 P3 S160 I1
- M280 P3 S160
The result is always the same: blinking led.
-
Currently i'm out of ideas.
Maybe it's an wiring issue or 3DTouch does not behave like BL-Touch.
-
Try adding I1 to your m558 command for the 3d touch. It may behave differently than the BLTouch.
How is it wired?
Is the pin clean and straight? Does it move freely by hand?
-
After many tries I found something of interesting
When I power on the printer, I have to move the pin probe up (if it's down) and send a M280 P3 S160 I1 to "unlock" the sensor. After this, I can send all the commands to move the probe pin or to self-test (with the I1).
But if I power on the printer and the probe pin is down the command with S160 will not work and the sensor will start to blinking in error.
So, the simplest solution is to move the pin up before send any command, followed by the "unlock" command (M280 P3 S160 I1).
I modified all my homing config adding the unlock command before any commands, just to be sure that it's not locked in error before the homing.
Now, the question is: the command M280 P3 S160 I1 should not move the pin up automatically? Because it's not always working
-
Sounds like your pin probe needs adjusting, on the bltouch this is done via the small grub screw on the top to set the correct pin height.
-
@boldnuts said in BLTouch Trigger not working:
Sounds like your pin probe needs adjusting, on the bltouch this is done via the small grub screw on the top to set the correct pin height.
But now is working correctly the trigger, are you sure I need to adjust the probe calibration?
-
Does it do the correct up/down bit on power up self test, if so the pin should stay in the up position after this, mine does and I don't need to move it up or down via any commands for it to work.
-
I had a similar issue at first. The pin ended up being a little dirty and would stick a bit causing it to go into error immediately at startup because it couldn't drop consistently. I ended up taking the pin out and cleaning it with a bit of alcohol and some high grit sandpaper. It moved smoothly after that.