Duet3 v3.3 6HC Magnetic Filament Sensor = 'sensorError'
-
Hello,
I have a strange problem. My filament sensor works perfectly. It is super calibrated and also reports problems when they occur.
But sometimes it reports 'sensorError' and pauses printing. This is very annoying as there is no error and I don't know what it is.Here is the log:
2021-11-21 19:29:50 Event logging started
2021-11-21 21:53:47 Extruder 0 reported 'sensorError'.
2021-11-21 21:53:52 Printing paused at X236.4 Y213.2 Z41.6I checked the status LED of the sensor. It flashes normally (alternating green/red). When filament passes, it also responds normally with a fast green flashing.
The cable is routed alone so that it does not receive any interference. When reading out the M591 command, nothing unusual is displayed. They are all comprehensible values. An evaluation with M122 results in 6 frame errors for the sensor.
How can I find out what the error could be? Unfortunately, I have no indicator for such a short error message.All parts are brand new, original and the Duet 6HC is on version 3.3.
Thanks
-
@preischl3d said in Duet3 v3.3 6HC Magnetic Filament Sensor = 'sensorError':
An evaluation with M122 results in 6 frame errors for the sensor.
Please post the M122 with this.
Is the issue completely random or if you reprint part of the print just before the error does it happen again?
-
Thanks for the Answer!
The problem occurs totally randomly. I had it on 5 different models at different layerhights and at the same gcode between 0 and 5 times. Because I need the printer for orders, I have now printed them with the sensor deactivated and everything worked fine. Now I have reactivated the sensor and am trying to reproduce the error. So far it is still running well. Nevertheless, here are the excerpts for the start of printing. I will add the evaluation during printing later.M122:
m122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode) Board ID: 08DJM-956BA-NA3TN-6JTD4-3SJ6S-KV82V Used output buffers: 1 of 40 (10 max) === RTOS === Static ram: 150904 Dynamic ram: 62248 of which 16 recycled Never used RAM 141024, free system stack 204 words Tasks: SBC(ready,6.2%,336) HEAT(notifyWait,0.0%,331) Move(notifyWait,0.0%,352) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,374) CanClock(delaying,0.0%,333) TMC(notifyWait,7.2%,93) MAIN(running,86.4%,922) IDLE(ready,0.2%,29), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:00:51 ago, cause: software Last software reset at 2021-11-23 09:03, reason: User, none spinning, available RAM 138212, slot 2 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0440f000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Step timer max interval 131 MCU temperature: min 45.7, current 46.0, max 46.1 Supply voltage: min 24.0, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0 Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0 Driver 0: position 0, standstill, reads 25197, writes 15 timeouts 0, SG min/max 0/0 Driver 1: position 0, standstill, reads 25197, writes 15 timeouts 0, SG min/max 0/0 Driver 2: position 0, standstill, reads 25197, writes 15 timeouts 0, SG min/max 0/0 Driver 3: position 0, standstill, reads 25197, writes 15 timeouts 0, SG min/max 0/0 Driver 4: position 0, standstill, reads 25197, writes 15 timeouts 0, SG min/max 0/0 Driver 5: position 0, standstill, reads 25198, writes 15 timeouts 0, SG min/max 0/0 Date/time: 2021-11-23 09:04:07 Slowest loop: 0.44ms; fastest: 0.04ms === Storage === Free file entries: 10 SD card 0 not detected, interface speed: 37.5MBytes/sec SD card longest read time 0.0ms, write time 0.0ms, max retries 0 === Move === DMs created 125, maxWait 0ms, bed compensation in use: mesh, 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 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" 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 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty. === Filament sensors === Extruder 0: pos 254.88, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 === CAN === Messages queued 440, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 258/0/0 Tx timeouts 0,0,257,0,0,181 last cancelled message type 4514 dest 127 === SBC interface === State: 4, failed transfers: 0, checksum errors: 0 Last transfer: 1ms ago RX/TX seq numbers: 1746/1746 SPI underruns 0, overruns 0 Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.3.0 Code buffer space: 4096 Configured SPI speed: 8000000Hz Full transfers per second: 35.24, max wait times: 8.6ms/0.0ms Codes per second: 1.25 Maximum length of RX/TX data transfers: 3064/780
M591:
m591 d0 Duet3D rotating magnet filament monitor v3 on pin io3.in, enabled, sensitivity 26.25mm/rev, allow 50% to 150%, check every 30.0mm, version 3, mag 129 agc 46, no calibration data
Prusa Slicer StartGCODE:
G90 ; use absolute coordinates M83 ; extruder relative mode M190 S[first_layer_bed_temperature] ; wait for bed temp G4 S300 G32 ; true bed leveling G29 ; mesh bed leveling G28 ; Homing G1 X0 Y0 F10000 ; go outside print area M109 S[first_layer_temperature] ; wait for extruder temp M221 S{if layer_height<0.075}100{else}95{endif}
-
Of course, the test print has now been successful. (11hours) I'll write in here again when i have the error again xD
-
@t3p3tony It happens again:
4.12.2021, 22:47:36 m591 d0
Duet3D rotating magnet filament monitor v3 on pin io3.in, enabled, sensitivity 25.00mm/rev, allow 50% to 150%, check every 30.0mm, version 3, mag 129 agc 93, measured sensitivity 25.67mm/rev, min 96% max 103% over 3645.8mm
4.12.2021, 22:47:19 m122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.3 (2021-06-15 21:45:47) running on Duet 3 MB6HC v1.01 or later (SBC mode)
Board ID: 08DJM-956BA-NA3TN-6JTD4-3SJ6S-KV82V
Used output buffers: 1 of 40 (13 max)
=== RTOS ===
Static ram: 150904
Dynamic ram: 62464 of which 16 recycled
Never used RAM 137952, free system stack 134 words
Tasks: SBC(ready,14.8%,328) HEAT(notifyWait,0.1%,325) Move(notifyWait,0.1%,250) CanReceiv(notifyWait,0.0%,944) CanSender(notifyWait,0.0%,362) CanClock(delaying,0.0%,333) TMC(notifyWait,24.0%,59) MAIN(running,61.0%,922) IDLE(ready,0.0%,29), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 04:43:33 ago, cause: software
Last software reset at 2021-12-04 17:03, reason: User, none spinning, available RAM 137952, slot 0
Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
Step timer max interval 176
MCU temperature: min 48.7, current 49.0, max 51.9
Supply voltage: min 23.9, current 24.0, max 24.0, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0
Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/38/38, gc cycles 0
Driver 0: position 0, standstill, reads 17580, writes 23 timeouts 0, SG min/max 0/1023
Driver 1: position 0, standstill, reads 17580, writes 23 timeouts 0, SG min/max 0/1023
Driver 2: position 320125, standstill, reads 17580, writes 23 timeouts 0, SG min/max 0/1023
Driver 3: position 0, standstill, reads 17580, writes 23 timeouts 0, SG min/max 0/1023
Driver 4: position 0, standstill, reads 17580, writes 23 timeouts 0, SG min/max 0/1023
Driver 5: position 0, standstill, reads 17585, writes 19 timeouts 0, SG min/max 0/463
Date/time: 2021-12-04 21:47:22
Slowest loop: 246.78ms; fastest: 0.02ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, maxWait 357066ms, bed compensation in use: mesh, comp offset 0.115
=== MainDDARing ===
Scheduled moves 14691, completed moves 14691, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], 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 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
Heater 0 is on, I-accum = 0.0
Heater 1 is on, I-accum = 0.7
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is doing "M122" 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
SBC is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause* is idle in state(s) 0
Code queue is empty.
=== Filament sensors ===
Extruder 0: pos 59.77, errs: frame 6 parity 0 ovrun 30 pol 0 ovdue 0
=== CAN ===
Messages queued 153166, received 0, lost 0, longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 49 (min 49), ts 85070/0/0
Tx timeouts 0,64,85069,0,0,68030 last cancelled message type 30 dest 127=== SBC interface ===
State: 4, failed transfers: 0, checksum errors: 0
Last transfer: 2ms ago
RX/TX seq numbers: 29787/29787
SPI underruns 0, overruns 0
Disconnects: 0, timeouts: 0, IAP RAM available 0x2c83c
Buffer RX/TX: 0/0-0
=== Duet Control Server ===
Duet Control Server v3.3.0
Code buffer space: 4096
Configured SPI speed: 8000000Hz
Full transfers per second: 36.42, max wait times: 15.0ms/0.0ms
Codes per second: 1.53
Maximum length of RX/TX data transfers: 3152/1632Totally random!
-
-
@preischl3d -Is there someting new? It is look like I have same isue.
-
@petrkroupa I bought a new sensor. But it had the same problems. Then I changed the connection to a different pin assignment and laid the cable so that it did not cross any other cables.
In the meantime, the error hardly ever occurs. Not at all for the last 2 weeks. I'm keeping my fingers crossed that it stays that way -
@preischl3d thanks for the update. Was the cable close to or crossing a stepper motor cable?
-
I think I am having the same problems, albeit with the laser sensor. Constantly getting extruder "sensorError".
Result of M122: Extruder 0: pos 0.02, errs: frame 22 parity 0 ovrun 0 pol 0 ovdue 0
I did redo some wiring right before it started occurring, so I'll be looking at the positions of the cables and making sure the sensor wires do not cross the stepper wires. How much space would be recommended for clearance between the wires? Or are there any other methods of shielding the sensor wires from the stepper wires?
-
@dc42 I found out that the MFM is very sensitive to interference and power fluctuations. Just a slight drop in power supply and the sensor will either restart or report an error. I will say that I solved it because it has been working without problems for a some time. I apologize in advance for the "ugly" solution but it works. At least it works for me.
I connected two capacitors directly to the sensor. 220uF and 100nF.
-
@petrkroupa Where did you install those?
-
@verdeel You can see the yellow and red wires soldered to the power and ground pads on the programming header going to the two capacitors.
-
@alankilian Thank you. I'm going to give it a try once I manage to get my hands on some capacitors that are roughly the same capacity. I've already tried to get the sensor cable away from the stepper cables, but it keeps happening. The sensor cable is bundled together with the z-probe from the smart effector and the fans, heater.
-
@verdeel You can solder capacitor directly to sensor. But you will probably lose waranty. Just for info. My waranty is also gone BUT sensor works.
-
Before starting with soldering capacitors to anything I decided to investigate further. Before making any changes I sometimes had 20 or more sensorErrors just during mesh leveling.
First I installed a new wire for the sensor, completely outside of the machine, away from all other cables incl. the other cables going to the smart effector. Test print of about 45 minutes, no errors.
So my issue was being caused by the wiring. I still had some cable for analog sensors, with braided shielding. But because those wires were pretty thick I just removed the shield from that wire, and put it around my new filament sensor wire, guided it through the nylon sleeving that goes to the smart effector and did another test print. Again, no sensorErrors!
I'll have to see how it behaves the next couple of weeks, but to me it seems that the error was caused by my own wiring being to close to the other wiring for the smart effector.
-
I'm having the same issue, I'm on a Duet 2 WiFi. I'll try the capacitors to see if it is fixed.
-
@surgikill said in Duet3 v3.3 6HC Magnetic Filament Sensor = 'sensorError':
I'm having the same issue, I'm on a Duet 2 WiFi. I'll try the capacitors to see if it is fixed.
Didn't fix it. I put a 50V 10uf capacitor on the sensor, no dice, still getting sensor error sporadically.
-
@surgikill - 10uF is small. I have two. 1x 100nF and 1x 220uF.
-
@petrkroupa I don't believe the sensor is very sensitive to power supply fluctuations, unless your sensor is faulty. I think it more likely that you have a bad connection in the +3.3V or ground feed to the sensor, or you are getting static discharge from the hot end to the sensor connections.
-
@dc42 - Two sensors on two different printers? I'm not saying it's not possible but it's unlikely. Capacitors have resolved the issue on both printers. If the cause is elsewhere, I really have no idea where. However, since then, both sensors have worked perfectly. See for yourself. For 23 hours of printing, the tolerance is 97-104%. I do not think it is possible to achieve better values.
Duet3D rotating magnet filament monitor v4 on pin 121.io1.in, enabled, sensitivity 25.00mm/rev, allow 50% to 200%, check printing moves every 10.0mm, version 4, mag 131 agc 96, measured sensitivity 24.62mm/rev, min 97% max 104% over 42855.6mm