Duet3 v3.3 6HC Magnetic Filament Sensor = 'sensorError'
-
@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
-
It's great that adding capacitors to your sensor PCB get you working sensors.
Adding a large cap to the PCB helps when your 3.3 Volt supply is not continuous or low-impedance.
It's possible (I'm not saying it is, but for others...) that you've got marginal crimps on your wiring to the sensor. This can cause very short outages in power which would be compensated by the large cap on the sensor. This is a good thing to have if you have marginal connections in power or ground. Also good to have "Just in case."
- Do you use wiring that is crimped from the factory or do you make your own?
- If you make your own, do you crimp? Do you have an expensive crimp tool or an inexpensive one?
- Do you crimp AND solder?
Anyway, this is great that you've got it working and should help others if they also have wiring that somehow is not able to power the sensor continuously.
-
@alankilian - I crimp and then solder it for sure. I don't have the original tool. I changed the whole line several times. Subsequently, I shortened it to the shortest possible distance. Twisted together and used shielding. Even so, sometimes the sensor made "sensor error". I read the datasheet for the sensor used, looked at the overall wiring on the github, and found nothing wrong. When I had no other idea and tested 5 sensors, I tried capacitors. Well, finally it worked.
I'm not sure why. And since the sensor is directly on the extruder and powered by 1LC, I can't even check what's going on there with the oscilloscope.
It is true that adding a capacitor was probably the last attempt. Then I would give it up. It cost me a lot of time, but the idea of such a precise sensor is simply tempting. It may not always help and if someone has another problem with the sensor BUT as I say, it helped to me.
-
@alankilian I used a good crimp tool as well, EDM jaws. I do not solder seeing as that is usually not recommended for crimp connections.
@PetrKroupa I'll try adding some different capacitors. I just ordered shielded wire for it, so maybe that helps.
It also looks like there are some filament monitor fixes in 3.4 https://github.com/Duet3D/RepRapFirmware/commit/2ee6b1a26dcf7fd0b6037c519ac3e056f1e15c62
-
Well I found 1 issue. Part of the shaft was rubbing on the filament monitor. I resin printed the case and all the dimensions came out perfect, but apparently there is tolerance in there made for FDM, so the sensor was way too close. I'm going to try some test prints and see what happens.
-
@surgikill You can just add a paper shim in the case and increase the spacing to 0.25mm as recommended.
-
@surgikill -
If the magnet is too close, it can easily happen. Then you will often have "too litle mowement" and if the scratches are quite deep, then probably "sensor error". I did it too . If you can solder well, only the sensor can be replaced. It is relatively cheap.I recommend assembling the MFM really carefully. Take your time. Do not be afraid to use sandpaper and, if possible, define the axial clearance of the shaft minimum as possible.
as @alankilian writes, feel free to put under electronics a piece of paper to get the ideal AGC value. smaller, better but too small meant potential contact between the shaft and the sensor.
-
@petrkroupa Yea the scratches are pretty deep. At this point I'll probably just use a microswitch. The magnet has caused more issues than it has fixed. I should have just done that from the beginning. The laser one didn't work worth a damn, and now the magnet one, which I thought would fix all my issues, doesn't work worth a damn. $100 gone.
Do you have a PN for the sensor? I can solder a new one on.
-
@surgikill - AS5601. I2C magnet sensor. Find it on some inet shop.
Do not give up. When MFM works, it's the best filament sensor I've found so far. He just wants a little kind of assembly.
-
@petrkroupa It's not that. I have product to ship and I can't be dealing with a sensor that does not work and ends up causing issues on prints.
-
-
@petrkroupa Well I bought some of those magnet sensors on amazon and they came in today. They are AS5600, not AS5601. Are they still usable, or are they too different?
Also, this is the circle on mine.
-
@surgikill I'm not sure but according to the internet it is 5600 for electronic potentimeter. Angle range 18-360. Which is not appropriate. You need a complete turn.
Nicely scratched wheel. If no metal is visible, the sensor may still work. But it's not certain.
-
@petrkroupa it doesn't look like there is metal visible, but it's hard to tell with the brass that is embedded in there. I still get random "tooLittleMovement" notifications, so it's not working right. It will hold 94-107% solidly, then a random "tooLittleMovement" notification shows up.
-
@surgikill - If you have a camera on the printer, record when printing. If an error occurs, look at what the MFM LED showed. It is quite possible that the green indicator flashes 3 times that the sensor has restarted. This can be because the sensor is damaged or you have a large clearance on the shaft.
Se my video...
-
also having sensorError
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-9P6M2-NW4SD-6J1DL-3SN6K-1TQ7K Used output buffers: 3 of 24 (24 max) === RTOS === Static ram: 23876 Dynamic ram: 76888 of which 176 recycled Never used RAM 10620, free system stack 108 words Tasks: NETWORK(ready,17.1%,244) HEAT(delaying,0.0%,330) Move(notifyWait,0.6%,313) MAIN(running,81.9%,413) IDLE(ready,0.3%,29), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 01:24:14 ago, cause: power up Last software reset at 2022-02-18 00:31, reason: User, GCodes spinning, available RAM 11004, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 41.0, current 41.3, max 41.6 Supply voltage: min 23.9, current 24.5, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/20, heap memory allocated/used/recyclable 2048/874/672, gc cycles 19 Driver 0: position 28451, ok, SG min/max 0/300 Driver 1: position 4530, ok, SG min/max 0/305 Driver 2: position 1836, standstill, SG min/max 0/207 Driver 3: position 0, ok, SG min/max 0/1023 Driver 4: position 0, standstill, SG min/max 0/192 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-03-05 16:49:39 Cache data hit count 4294967295 Slowest loop: 6.30ms; fastest: 0.11ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 8 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 3.8ms, write time 0.0ms, max retries 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 66434, completed moves 66394, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], 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.3 Heater 1 is on, I-accum = 0.2 === 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 X176.655 Y138.385 E.27965" 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 doing "G4 S2 " in state(s) 0 0, running macro Autopause is idle in state(s) 0 Code queue is empty. === Filament sensors === Extruder 0: pos 49.57, errs: frame 1 parity 0 ovrun 0 pol 1 ovdue 0 === Network === Slowest loop: 201.81ms; fastest: 0.08ms 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 1 WiFi firmware version 1.26 WiFi MAC address bc:ff:4d:45:5d:1f WiFi Vcc 3.31, reset reason Turned on by main processor WiFi flash size 4194304, free heap 23400 WiFi IP address 192.168.0.51 WiFi signal strength -45dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0 5/3/2022, 16:49:36 M591 D0 Duet3D rotating magnet filament monitor v3 on pin e1stop, disabled, sensitivity 25.62mm/rev, allow 1% to 200%, check every 3.0mm, version 3, mag 113 agc 128, measured sensitivity 27.55mm/rev, min 35% max 109% over 464.7mm 5/3/2022, 16:49:27 M591 D0 Duet3D rotating magnet filament monitor v3 on pin e1stop, disabled, sensitivity 25.62mm/rev, allow 1% to 200%, check every 3.0mm, version 3, mag 112 agc 128, error 7 5/3/2022, 16:49:03 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-9P6M2-NW4SD-6J1DL-3SN6K-1TQ7K Used output buffers: 2 of 24 (24 max) === RTOS === Static ram: 23876 Dynamic ram: 76888 of which 176 recycled Never used RAM 10620, free system stack 108 words Tasks: NETWORK(ready,183.3%,244) HEAT(delaying,0.4%,330) Move(notifyWait,4.4%,313) MAIN(running,959.5%,445) IDLE(ready,2.9%,29), total 1150.5% Owned mutexes: WiFi(NETWORK) HTTP(MAIN) === Platform === Last reset 01:23:37 ago, cause: power up Last software reset at 2022-02-18 00:31, reason: User, GCodes spinning, available RAM 11004, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x04 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 27.6, current 41.2, max 46.3 Supply voltage: min 23.5, current 24.7, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/20, heap memory allocated/used/recyclable 2048/622/420, gc cycles 19 Driver 0: position 24109, ok, SG min/max 0/376 Driver 1: position 721, ok, SG min/max 0/403 Driver 2: position 1757, standstill, SG min/max 0/1023 Driver 3: position 0, ok, SG min/max 0/1023 Driver 4: position 0, standstill, SG min/max 0/1023 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-03-05 16:49:02 Cache data hit count 4294967295 Slowest loop: 136.40ms; fastest: 0.09ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 8 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 4.1ms, write time 9.7ms, max retries 0 === Move === DMs created 83, maxWait 395656ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 65598, completed moves 65558, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], 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.4 Heater 1 is on, I-accum = 0.2 === GCodes === Segments left: 1 Movement lock held by null HTTP is ready with "M122 " in state(s) 0 Telnet is idle in state(s) 0 File is doing "G1 X134.491 Y147.921 E.01685" 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 doing "G4 S2 " in state(s) 0 0, running macro Autopause is idle in state(s) 0 Code queue is empty. === Filament sensors === Extruder 0: pos 258.75, errs: frame 1 parity 0 ovrun 0 pol 1 ovdue 0 === Network === Slowest loop: 39.65ms; 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 bc:ff:4d:45:5d:1f WiFi Vcc 3.31, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24976 WiFi IP address 192.168.0.51 WiFi signal strength -41dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
-
@apak Can you start a new thread and share some details about your setup, the issue, and what you've tried so far?
-