Strange BLTouch behavior after update to 3.3.0-b3
So before updating i never had any problems with my BLTouch/bed leveling. I have a 410x410 bed with a flex plate and its not perfectly flat so always used mesh bed leveling. Everything printed pretty much spot on. I updated to 3.3.0 and carry out a new bed probe for a new height map as the old one disappeared during the upgrade. First print was a success but after powering down and back on the following day it appeared to be not loading the height map and putting down a poor first layer. Mesh leveled again and same result. Thought that maybe the BLtouch was on the way out so bought a new one but the new one doesn't deploy when homing the Z. Pin moved fine using M401 and M402. Plugged the old one back in and it homes fine. So im thinking either the new one is a fake/faulty or i could possible have something in my GCode that it doesnt want to play with.
Can anyone offer any insight before i send it back?
This is my Gcode, like i said it works with the old probe but not the new yet im still getting poor bed leveling results.
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Ender 3" ; set printer name ; Network M551 P"PASSWORD" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes backwards M569 P2 S0 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards M569 P4 S0 ; physical drive 4 goes forwards M584 X0 Y1 Z2:4 E3 ; set drive mapping M671 X-20:400 Y200:200 S2.0 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X160.00 Y160.00 Z400.00 E403.19 ; set steps per mm M566 X300.00 Y300.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min), Jerk M203 X9000.00 Y9000.00 Z600.00 E1400.00 ; set maximum speeds (mm/min) M201 X600.00 Y600.00 Z120.00 E250.00 ; set accelerations (mm/s^2) M906 X1200 Y1200 Z800 E800 ; set motor currents (mA) M84 S0 ; Disable motor idle current reduction ; Axis Limits M208 X-5:400 Y0:400 ; set axis minima M208 X400 Y400 Z500 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"zprobe.in+zprobe.mod" H5 F180 T6000 A30 S0.02 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X-35 Y0 Z1.86 ; set Z probe trigger value, offset and trigger height M557 X10:360 Y10:360 S175 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T98801 B4185 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 B0 S0.80 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S150 ; set temperature limit for heater 0 to 80C M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency ;M106 P0 C"Part Cooling" S1.0 H1 T45 ; set fan 0 name and value. Thermostatic control is turned on M950 F1 C"fan1" Q100 ; create fan 1 on pin fan1 and set its frequency M106 P1 C"Hot end" S1.0 H1 T30 ; set fan 1 name and value. Thermostatic control is turned on ; Tools M563 P0 S"Hot End" D0 H1 F0 ; 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 ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory M911 S21 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss T0 ; select first tool
M280 P0 S10 ; deploy BLTouch
;G91 ; relative positioning ;G1 H2 Z5 F18000 ; lift Z relative to current position G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-235 Y-235 F2500 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-235 Y-235 F360 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning ;G1 X200 Y200 F18000 ; go to first probe point G1 X200 Y200 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 ; lift Z relative to current position ;G90 ; absolute positioning
; homez.g ; called to home the Z axis G91 ; relative positioning G1 H2 Z5 F18000 ; lift Z relative to current position G90 ; absolute positioning G1 X200 Y200 F18000 ; go to first probe point G30 ; home Z by probing the bed
I think you have a Duet 2 WiFi? Update the firmware, then send M122 and post response to clarify your setup.
Cloned BLTouch may not have the same wiring as the original, so check that first. When you send M401, and touch the pin, does it register a change in Probe Value in DWC?
M558 P9 C"zprobe.in+zprobe.mod" H5 F180 T6000 A30 S0.02
should really be:
M558 P9 C"^zprobe.in" H5 F180 T6000 A30 S0.02
zprobe.mod isn't used, and the ^ enables the pull up resistor, which may help.
Updated and this is my M122
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3beta3 (2021-04-22 16:27:28) running on Duet WiFi 1.02 or later Board ID: 08DJM-9178L-L4MSJ-6J1F6-3SJ6L-991UR Used output buffers: 3 of 24 (18 max) === RTOS === Static ram: 23156 Dynamic ram: 75272 of which 12 recycled Never used RAM 15976, free system stack 180 words Tasks: NETWORK(ready,14.9%,143) HEAT(delaying,0.0%,306) Move(notifyWait,0.1%,190) MAIN(running,84.5%,441) IDLE(ready,0.5%,19), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:06:53 ago, cause: power up Last software reset at 2021-05-14 14:06, reason: User, GCodes spinning, available RAM 15800, slot 1 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x10 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 27.8, current 31.3, max 31.6 Supply voltage: min 24.2, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, SG min/max not available Driver 1: position 0, standstill, SG min/max not available Driver 2: position 0, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0 Driver 6: position 0 Driver 7: position 0 Driver 8: position 0 Driver 9: position 0 Driver 10: position 0 Driver 11: position 0 Date/time: 2021-05-14 15:13:09 Cache data hit count 4294967295 Slowest loop: 863.58ms; fastest: 0.15ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 3.6ms, write time 205.5ms, max retries 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 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 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 1469.12ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions HTTP sessions: 1 of 8 - WiFi - Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.26 WiFi MAC address cc:50:e3:e3:b9:19 WiFi Vcc 3.35, reset reason Turned on by main processor WiFi flash size 4194304, free heap 25360 WiFi IP address 192.168.1.208 WiFi signal strength -47dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
I have modified that line of GCode and will test it now.
Just been comparing the two BLTouche's side by side and noticed a bit of a difference on the circuit board between the two even though they are both V3.1
Tested the old and new bltouch with the updated firmware and config adjustment. Old BLTouch homes fine. New BLTouch is the same as before, Pin doesn't deploy when trying to home Z.
On the old bltouch on startup the pin probes in and out, ends with the pin stowed and output reads 0. M401 pin out Output 0, M402 pin stowed output 0. M401 and touch the pin output 1000.
On the new bltouch on startup the pin probes in and out, ends with the pin stowed and output reads 1000. M401 pin out Output 1000, M402 pin stowed output 1000. M401 and touch the pin output 0.
@droftarts Do you think the old or the new one is the clone? As in ive been using a clone all along?
@waddo10 new one is clone, I’d say. They shouldn’t need to be inverted. Also PCB looks simpler on new one, doesn’t have notch top and bottom. Mine has the notches, and I’m sure it’s genuine.
It looks like the update to RC2 failed.
Try uploading again.
Did you resolve the problem with the heightmap not loading? Where were you loading it?
MGJosh last edited by
FWIW, http://www.id2db.com/genuine10.php reports both probes' serial numbers as legitimate. I think there's some confusion in this discussion about which probe is new vs old, but either way, I have a new v3.1 that looks basically identical to A7X... (corner notches on PCB, no "A&T" letters on injection molded housing body), and an older V3.0 and a V3.1 that looks very similar to 9CR... (square corners, no "R" on BLTouch on PCB). I'm also very confident that mine are all genuine.
That is all - I can't really help with the main issue, but thought providing some info from my own stock of probes would at least better inform that part of the discussion (it's easy to dismiss a failure as a crappy clone, vs. a legitimately failed BLTouch, which does happen too). I'm also not saying definitively both are real, just that right now my vote would be that both are legit.
This post is deleted!
@phaedrux Well spotted. I have downloaded again and appears to have worked this time.
I am still testing at the moment, not quite sure whats going on. Using a old model i had printed which i know loads the heightmap.
Just loading the standard heightmap that mesh compensation generates.
@mgjosh A7X is the new one i had bought. 9CR is the one ive been using for a long time and suspected was going faulty. 9CR is the only one that works with my current config. That you for your reply.