Induction probe false triggering
-
Its a v2 FINDA type probe. The bed is spring steel on magnetic sheet. Duet 2 wifi. When I test the probe by placing something ferrous close to it, it seems fine. However running bed mesh and gantry tramming it gives false positives around 10% of the time.
-
M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later
Board ID: 0JD0M-9P61A-J8PS8-6JTDG-3S86M-TVVAT
Used output buffers: 3 of 24 (24 max)
=== RTOS ===
Static ram: 23876
Dynamic ram: 75904 of which 60 recycled
Never used RAM 11720, free system stack 86 words
Tasks: NETWORK(ready,383.5%,217) HEAT(delaying,11.1%,305) Move(notifyWait,184.8%,283) MAIN(running,467.8%,420) IDLE(ready,6.1%,29), total 1053.4%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 72:48:15 ago, cause: power up
Last software reset at 2022-10-07 22:43, reason: User, GCodes spinning, available RAM 14784, slot 2
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x0c
Aux0 errors 0,2,0
Step timer max interval 0
MCU temperature: min 43.6, current 58.4, max 63.4
Supply voltage: min 23.8, current 24.0, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/1844/1758, gc cycles 0
Driver 0: position 175221, ok, SG min/max 0/717
Driver 1: position -11459, standstill, SG min/max 0/1023
Driver 2: position 67200, standstill, SG min/max 0/1023
Driver 3: position 0, ok, SG min/max 0/1023
Driver 4: position 0, ok, SG min/max 0/292
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: 2022-10-25 21:53:25
Cache data hit count 4294967295
Slowest loop: 785.68ms; fastest: 0.09ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 9
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 4.4ms, write time 23.4ms, max retries 0
=== Move ===
DMs created 83, maxWait 48763938ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 96276, completed moves 96236, hiccups 64845, stepErrors 0, LaErrors 0, Underruns [80, 0, 13], CDDA state 3
=== 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
Heater 0 is on, I-accum = 0.1
Heater 1 is on, I-accum = 0.5
=== GCodes ===
Segments left: 1
Movement lock held by null
HTTP is idle in state(s) 0
Telnet is idle in state(s) 0
File is doing "G1 X118.473 Y141.742 F18000" 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: 785.85ms; 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 e8:db:84:cf:b6:f1
WiFi Vcc 3.39, reset reason Power up
WiFi flash size 4194304, free heap 26904
WiFi IP address 192.168.1.11
WiFi signal strength -69dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
- WiFi -
-
-
@bubblevisor can you see if having the FAN on or off makes a difference. It looks to me like the probe is mounted right next to the fan motor.
-
@T3P3Tony I was wondering the same thing. Let me do some back to back comparisons and report back.
-
Testing back to back, it does seem the running fan is causing the false triggering problem. I need to test further to better confirm this but I can now complete a bed mesh without errors with the fan off.
My question now is; how can you shield the probe from magnetic flux emanating from the fan? I realise the more obvious solution is to move the probe further away, however I am keen to keep the probe in its position close to the nozzle to reduce error and for packaging reasons.
The stainless probe barrel is non magnetic so I am thinking a mild steel foil around the FINDA probe. Any other ideas?
-
@bubblevisor said in Induction probe false triggering:
Any other ideas?
Turn off the fan during probing.
-
@Phaedrux Thanks for the suggestion. How would you suggest doing this without there being a overheating risk? It seems if you set fan M106 S1 H1 T45 thermistor mode then you cannot overide this in subsequent gcode.
-
I thought I could just change the start gcode to not heat up the hotend until bed mesh is done but I can't see the facility to do this with slicing software. I use prusaslicer.
-
@bubblevisor you have the inductive sensor in the worst possible place relative to the fan, from the point of view of picking up magnetic fields from it. Can you move the sensor sideways, so that it is on one side of the fan or at least lined up with one edge of the fan?
-
@bubblevisor said in Induction probe false triggering:
I thought I could just change the start gcode to not heat up the hotend until bed mesh is done but I can't see the facility to do this with slicing software. I use prusaslicer.
In prusa slicer you must insert your own temperature commands into your start gcode for it to stop inserting it's own preheating commands to the beginning of the files. You can use the placeholder values to insert your chosen temps.
Here is a list of placeholder variables: https://help.prusa3d.com/article/list-of-placeholders_205643 and here https://help.prusa3d.com/article/macros_1775
The first one doesn't seem to be complete for some reason.
Example would be something like
M106 S0 H-1 ; disable hotend fan G28 ; home G32 ; leveling G29 ; mesh M106 S1 H1 T45 ; re-enable temp controlled fan M104 S{first_layer_temperature[0]} ; set first layer temp M116 ; wait for temp
-
I have changed the induction probe position to ensure no emc noise is reaching from the fan. However I still have z homing and bed mesh issues.I'm beginning to think it a problem with the board. It worked fine when I built the printer over a year ago but lately there have been increasing intermittent issues with the z induction probe "not triggering" or "triggering before move" errors.
Now, the printer won't respond to the tool length micro switch. Bizarrely it now z homes responding to the induction probe. All without me changing the config! What could be going on here??
I have checked the board led is reacting correctly to the tool length probe switch, which it does so fine. Could this really be a faulty board?
-
; Configuration file for Duet WiFi (firmware version 2.03)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Jul 20 2021 13:11:51 GMT+0100 (British Summer Time); General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"Saphire" ; set printer name
M669 K1 ; select CoreXY mode; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S0 ; disable Telnet; Drives
M569 P0 S1 D2 ; physical drive 0 goes forwards
M569 P4 S1 D2 ; physical drive 4 goes forwards
M569 P2 S0 D2 ; physical drive 2 goes forwards
M569 P3 S0 D2 ; physical drive 3 goes forwards
M569 P1 S0 D2
M584 X0 Y4 Z1:2 E3 ; set drive mappingM350 X128 Y128 Z128 E16 I0 ; configure microstepping without interpolation
M92 X640.00 Y640.00 Z6400.00:6400.00 E669.00 ; set steps per mm
M566 X1000.00 Y1000.00 Z100:100 E520.00 P1 ; set maximum instantaneous speed changes (mm/min)
M203 X20000.00 Y20000.00 Z800.00:800.00 E70000.00 ; set maximum speeds (mm/min)
M201 X20000.00 Y20000.00 Z200.00:200.00 E4000.00 ; set accelerations (mm/s^2)
M906 X1100 Y1100 Z1300 E850 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 Y299 Z340 S0 ; set axis maxima
;M556 S100 X0 Y0 Z0:0:0 ; set skew x.xxmm on 100mm square x-y obtuse; 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
M574 Z0 P"nil" ; No Z endstop; Z-Probe
M558 K0 P5 C"^zprobe.in" H2 F1000 T6000 A20 S0.01 ; set Z probe type to effector and the dive height + speeds, max number of probes per point, tolerance(MM)
;M308 S2 P"e1temp" A"PINDA" Y"thermistor" T100000 B3950 ; configure sensor 2 as thermistor on pin e1temp
G31 K0 P1000 X-34.5 Y-13 Z0.18 ;H2 S27 T0.020 ; set Z probe trigger value, xy offset, z trigger height(higher=closer to bed)don't care, temp sensor number, reference temp, compensation coefficient mm/degree(higher more close when hot);Bed Levelling
M671 X4:233 Y170:170 S25 ;leadscrew/pivot locations and max allowable deviation
M557 X10:265 Y5:270 P6:6 ; define mesh grid; Z Tool Length probe
M558 K1 P5 C"^zstop" T8000 F600 H2 A10 S0.01 R0.2 ;set second (K1) Z probe: pin in, travel speed to probe, probing speed, dive height, max number of probes, tolerance(MM), rest time
G31 K1 P500 X0 Y0 Z0.75 ;set second (K1) Z probe: trigger value (higher value = closer nozzle); Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 R1.028 C177.2 D6.82 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
M140 H0 ; map heated bed to heater 0
M143 H0 S120 ; set temperature limit for heater 0 to 120CM308 S1 P"e0temp" Y"thermistor" T100000 B3950 ; 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 R2.373 C103.0 D8.21 S1.00 V24.2 ; disable bang-bang mode for heater and set PWM limit
M143 H1 S280 ; set temperature limit for heater 1 to 280CM308 S3 A"Chamber" P"exp.thermistor3" Y"thermistor" T100000 B3950 ; configure sensor 3 as "thermistor" type on pin "thermistor3" (Henry added for chamber monitoring)
; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 C"Part cooling fan" ; set fan 0 value. Thermostatic control is turned off
M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency
M106 P1 S1 H1 T85 C"Heat Break Fan" ; set fan 1 value. Thermostatic control is turned on
M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency (Henry add chamber fan)
M106 P2 S0 H-1 C"Chamber fan" ; set fan 0 value. Thermostatic control is turned off;LED Lights
M950 P0 C"e1heat"
M42 P0 C"LEDs"; Tools
M563 P0 S"Dragon" D0 H1 F0:1 ; 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
M911 S21 R22 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 -
Here's the homez.g
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Jul 20 2021 13:11:51 GMT+0100 (British Summer Time)
;G91 ; relative positioning
;G1 H2 Z5 F6000 ; lift Z relative to current position
;G90 ; absolute positioningM98 P"go to z-switch.g"
G30 K1 Z-999 ; home Z by probing the bed via K1
G1 Z5 F2000 ;lift z -
Btw, the board is a duet 2 wifi.
-
@dc42 Could my issue be a board fault? The printer now is completely non responsive to the tool length probe micro switch (that also doubles as Z endstop). Instead it now z end stops via the induction probe. All without me touching the config!. Can this be a board/firmware fault??
-
Can you post the rest of your macros?
@bubblevisor said in Induction probe false triggering:
but lately there have been increasing intermittent issues with the z induction probe "not triggering" or "triggering before move" errors.
This still sounds like interference. Did you investigate turning the fan off during probing?
-
-
@Phaedrux Well, the problem exists even with the fan off. Plus I have moved the probe into a location that should not receive interference from the fan.
The weird thing is I cannot get the printer to react to the tool length probe anymore. This is despite the fact that the z-stop led responds when I press the micro switch.
-
M92 X640.00 Y640.00 Z6400.00:6400.00 E669.00 ; set steps per mm M566 X1000.00 Y1000.00 Z100:100 E520.00 P1 ; set maximum instantaneous speed changes (mm/min) M203 X20000.00 Y20000.00 Z800.00:800.00 E70000.00 ; set maximum speeds (mm/min) M201 X20000.00 Y20000.00 Z200.00:200.00 E4000.00 ; set accelerations (mm/s^2)
You only need a single value for the Z axis. Remove the duplicates. Multiple values are only required for extruders.
M574 Z0 P"nil" ; No Z endstop
This is unnecessary and can be removed. Using nil is only required if you need to clear a previously assigned pin. After 3.0 there are no default assignments.What is in the macro "go to z-switch.g"?
;First pass M558 H10 G30 K0 P0 X265 Y150 Z-99999 ; probe near left leadscrew G30 K0 P1 X10 Y150 Z-99999 S2 ; probe near right leadscrew and calibrate 2 motors ;Second Pass M558 H5 G30 K0 P0 X10 Y150 Z-99999 ; probe near a leadscrew, half way along Y axis G30 K0 P1 X265 Y150 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors ;Third Pass M558 H2 G30 K0 P0 X265 Y150 Z-99999 ; probe near a leadscrew, half way along Y axis G30 K0 P1 X10 Y150 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
In your bed.g you may have a problem with the way you are using M558. Since you have multiple probes you must always use K# to tell the firmware which probe you're trying to address.