No angle reported by Magnetic Filament Sensor



  • Hi All,

    I am having an issue getting started with a magnetic filament sensor ordered directly from Duet3D. I purchased this back in September 2019 and have only just added it to my printer.

    Instructions Reference: https://duet3d.dozuki.com/Wiki/Duet3dFilamentMonitor_RotatingMagnetVersion

    Problem:

    Issuing a M591 D0 never shows the current sensor angle, only a message stating no calibration data

    Assembly and Pre Req

    Connect the filament monitor to an endstop connection on the Duet 2 (normally E0 or E1), using a straight through 3 wire cable with a molex KK on either end.
    

    Checked: Wiring - Sensor image attached which shows connection to sensor

    The filament monitor will flash the green LED 3 times to indicate the magnet is detected. The green LED will then flash periodically indicating communication to the Duet. If the magnet is rotating the LED will flash more frequently. For other LED flashing codes see the troubleshooting section below
    

    Checked: LED flashes 3 time on startup and then flashes Green, Red, Green, Red continuously etc as expected to show transfer of position and sensor status data (as stated in troubleshooting section)

    Important: the production version of the filament monitor requires 2.03 or later firmware running on the Duet.
    

    Checked: Screenshot - Firmware Version attached, running version 2.05

    Configuration

    from config.g

    M591 D0 P3 C4 S1 R70:130 L24.8 E3.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E1 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length
    

    Please note: The above states C4; I initially used C3 as sensor was attached to E0 end stop but as a test I switched to E1 and thus it currently reads as C4, I have not moved this back to E0

    Run M591 D0 returns:

    M591 D0
    Duet3D magnetic filament monitor on input 4, enabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 3.0mm, version 2, no calibration data
    

    I have repeated this step after:

    Extruding some filament with M302 P1 enabled (cold extrusion) with bowden out of hotend
    Extruding some filament with hotend at required temperature
    Printing a test print

    At no point does the output of M591 D0 change, it always states no calibration data and never reports a sensor angle.

    If I change the configuration so that E0 is set to have the sensor, and leave the sensor connected to E1 (so no sensor connected), the output changes to the following:

    M591 D0 P3 C3 S1 R70:130 L24.8 E3.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E1 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length
    M591 D0
    Duet3D magnetic filament monitor on input 3, enabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 3.0mm, no data received
    

    This indicates that when no sensor is detected, the output is different and that the setting of C4 is correct and the sensor is detected

    Another check, have I got the right Extruder Drive D index... Screenshot - Status - Drive 0 as Extruder attached showingExtruder 0 in status pane but thought I would try it anyway:

    M591 D1 P3 C4 S1 R70:130 L24.8 E3.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E1 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length
    M591 D1
    Duet3D magnetic filament monitor on input 4, enabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 3.0mm, version 2, no calibration data
    

    I've also included a picture as an attachment (Printer) which shows the overall assembly as as an image Wiring - Duet which shows the connection to the Duet,

    Additional Checks:

    Connectivity test between all pin outs on cable using multimeter (Attach buzzer to one end, ensure that this activates if touching the corresponding pin at the other end of cable); Therefore cable ok

    Switch to E1 instead of E0 endstop input - as highlighted in above

    Attachments:
    Wiring - Sensor - Shows image of sensor with wiring, also confirms version -
    Grey -> Ground
    White -> 3.3v
    Black -> Output
    My apologies for the confusing colours, I never thought anyone else would see this 😄
    Wiring - Sensor.jpg
    Wiring - Wire Colour.jpg

    Wiring - Duet - Shows image of Duet 1.01 with wiring
    Wiring - Duet.jpg

    Wiring - Duet Closeup - Shows colours of wires, the Black wire in this photo looks white-black but is in fact the Black wire
    Wiring - Duet Closeup.jpg

    Printer - Shows how the sensor is mounted and its overall attachment, indicates wire length for example (not sure this is an issue though!)
    Printer.jpg

    Screenshot - Status - Drive 0 as Extruder - Shows Status panel showing Drive 0 as only extruder
    Screenshot - Status - Drive 0 as Extruder.png

    Screenshot - Firmware Version - Shows version as 2.05
    Screenshot - Firmware Version.png

    Any help would be greatly appreciated!

    Thanks,

    Dave


  • administrators

    When filament is running through the sensor, does the LED change to flashing green all the time?



  • Yes, as soon as filament passes through, the led flashes green continuously


  • administrators

    Have you tried doing a print? Calibration data is only collected when printing from file.



  • I ran a print job which lasted 15 minutes but then failed due to the hotend fan failing, I know, sod's law right!

    I had to strip down completely to repair, the Bowden tube had to be replaced and I had to use a hot air gun to clean the heat break.

    I've now re-assembled with a new fan direct from E3D however I am somewhat hesitant to run without the filament monitor as I'm concened the fan wasn't the root cause.

    I'm going to jump to the assumption that the print job has to finish for calibration data to take effect? The instructions didn't expliclty say print first, they say test first, see the angle, then go and print

    I'll start a print when I get home and report back. I've left the printer on (not printing, so no load) for several hours and the hotend fan has not failed.

    Thanks!

    Dave


  • administrators

    You can pause the print job at any time and check the calibration data. Calibration restarts when you resume the print. A minimum amount of extrusion needs to have taken place for the calibration data to have been collected, around 30mm AFAIR.



  • Ok, Thanks for the help. After a print, running the M591 D0 reports calibration parameters.

    M591 D0
    Duet3D magnetic filament monitor on input 4, enabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 3.0mm, version 2, measured sensitivity 26.21mm/rev, min 93% max 104% over 208.0mm
    

    I'd be happy to update the documentation, It seems to be editable but thought I would ask if you would like/accept community contributions for review



  • @dave-poltorak you can run the M591 D0 during your print or at any time, I do it sometimes to verify if the sensor is reading or not during a print. I have found though these sensors take a lot of fiddling to get them to work reliably. I have to lower my tolerances to 5:130 because mine always randomly will kick out a super low number like 30% or something during a print. Thats ok though cuz all I care is if the filament is actually out or not.

    Also I had to raise the "check every 3mm" to 10mm or else it would get totally confused Im guessing from retractions or something.

    If I had to do it again, I will not buy one of these again, and just use a regular ole microswitch next time


  • administrators

    @57buick said in No angle reported by Magnetic Filament Sensor:

    @dave-poltorak you can run the M591 D0 during your print or at any time, I do it sometimes to verify if the sensor is reading or not during a print. I have found though these sensors take a lot of fiddling to get them to work reliably. I have to lower my tolerances to 5:130 because mine always randomly will kick out a super low number like 30% or something during a print. Thats ok though cuz all I care is if the filament is actually out or not.

    Also I had to raise the "check every 3mm" to 10mm or else it would get totally confused Im guessing from retractions or something.

    It should perform much better than that. What is the distance between the filament monitor outlet and the extruder inlet? Which firmware version are you using?



  • I've had to tweak my sensor configuration mid-print to ensure it doesn't pause incorrectly during printing, I haven't yet confirmed it's working as expected or at a good tolerance level as unfortunately by hot-end fan stopped again mid-print; I once again need to dismantle as heat has crept up and created a blockage.

    On the plus side, the filament sensor did pause the print when the filament blockage occurred, which is great, unfortunately, this doesn't cut the power to the heater and I can't see any way to configure this.

    I'm happy to start a new thread with the other issues unless @dc42 you are able to help me here:

    [Q] I have a smart effector and while I've managed to print for several hours at one time (and get very good parts out of it) the hot end fan randomly stops and I need to manually spin the fins to get it going again. How can I work out what's happening here? I'm not sure it's ever been correct, the first print I made with the smart effector was perfect, the second was the first one where the hot end fan failed, and this has now happened 3 times and I've already replaced the hot-end fan with parts direct from E3D.

    [Q] Is it possible to adjust the behaviour of the pause from the filament sensor without code modification? if I can get it to turn off the tools, this may be better for me while it currently has issues with the hot-end fan.

    As always, thanks in advance for any assistance!


Log in to reply