Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Magnetic Filament Sensor

    Scheduled Pinned Locked Moved Unsolved
    Filament Monitor
    6
    22
    982
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dm86undefined
      dm86
      last edited by

      I'm having difficulties get a new magnetic filament sensor working correctly. Most of the time it reads 'good' values of around 95-105% but will randomly drop right down to only a couple of percent or even 0.

      Is it worth me taking the sensor apart? Is there anyway to tighten tolerances or anything? Being a new sensor should I just request a return (however reluctant due to international shipping. In UK but ordered from hobbystore.pl)

      Have tried different measurement lengths from 3 up to 30mm

      Not working.....

      M591 D0
      Duet3D magnetic filament monitor on input 3, disabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 3.0mm, version 3, mag 114 agc 128, measured sensitivity 35.60mm/rev, min 0% max 132% over 982.7mm
      

      Working...

      M591 D0
      Duet3D magnetic filament monitor on input 3, disabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 30.0mm, version 3, mag 118 agc 128, measured sensitivity 30.05mm/rev, min 99% max 100% over 90.2mm
      

      Config;

      ; Configuration file for Duet WiFi (firmware version 2.03)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Thu Mar 26 2020 22:56:52 GMT+0000 (Greenwich Mean Time)
      
      ; General preferences
      G90                                                ; send absolute coordinates...
      M83                                                ; ...but relative extruder moves
      M550 P"Rigidbot"                                   ; set printer name
      
      ; Network
      M552 S1                                            ; enable network
      M586 P0 S1                                         ; enable HTTP
      M586 P1 S0                                         ; disable FTP
      M586 P2 S0                                         ; disable Telnet
      
      ; Drives
      M569 P0 S1                                         ; X physical drive 0 goes backwards
      M569 P1 S1                                         ; Y physical drive 1 goes backwards
      M569 P2 S1                                         ; Z physical drive 2 goes backwards
      M569 P3 S0                                         ; E physical drive 3 goes forwards
      M569 P4 S1										   ; 2nd Z motor
      M584 X0 Y1 Z2:4 E3                                   ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
      M92 X200.00 Y200.00 Z1600.00 E135.00               ; set steps per mm
      M566 X900.00 Y1100.00 Z100.00 E2000.00                ; set maximum instantaneous speed changes (mm/min)
      M203 X9000.00 Y9000.00 Z400.00 E8000.00         ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z100.00 E5000.00             ; set accelerations (mm/s^2)
      M906 X1800 Y1800 Z1500 E1600 I20                   ; set motor currents (mA) and motor idle factor in per cent
      M84 S50                                            ; Set idle timeout
      
      M671 X-76:302 Y0:0 S8 ; leadscrews at left (connected to Z) and right (connected to E1) of X axis
      
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                   ; set axis minima
      M208 X250 Y230 Z250 S0                             ; set axis maxima
      
      ; Endstops
      M574 X1 Y1 S0                                      ; set active low and disabled endstops
      M574 Z1 S2                                         ; set endstops controlled by probe
      
      M591 D0 P3 C3 S1 R40:130 L24.8 E20.0 ; Duet3D rotating magnet sensor for extruder drive 0 is connected to E0 endstop input, enabled, sensitivity 24.8mm.rev, 70% to 130% tolerance, 3mm detection length
      
      ; Z-Probe
      M558 P1 H2 I0 F120 T12000 A10 S0.01 
      G31 P500 X53 Y0 Z1                             ; set Z probe trigger value, offset and trigger height
      M557 X65:215 Y30:210 S8.5                           ; define mesh grid
      
      ; Heaters
      M307 H0 B0 S1.00                                   ; disable bang-bang mode for the bed heater and set PWM limit
      M305 P0 T100000 B4138 R2200                        ; set thermistor + ADC parameters for heater 0
      M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
      M305 P1 X200                                       ; configure PT100 for heater 1
      M143 H1 S350                                       ; set temperature limit for heater 1 to 350C
      
      ; Fans
      M106 P0 C"Part Fan" S0 I0 F500 H-1 L80 B0.5     ; set fan 0 name, value, PWM signal inversion and frequency. Thermostatic control is turned off
      M106 P1 C"Driver Fan" S0 I0 F500 H1 T80 L255 
      M106 P2 C"Hotend Fan" S0 I0 F500 H1 T80 L255 ; set fan 2 name, value, PWM signal inversion and frequency. Thermostatic control is turned on
      
      ; Tools
      M563 P0 S"Extruder" 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
      M929 P"eventlog.txt" S1										; Enable logging
      M501
      
      ; Miscellaneous
      M911 S22 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
      
      
      

      M122

      === Diagnostics ===
      RepRapFirmware for Duet 2 Maestro version 2.05.1 running on Duet Maestro 1.0
      Board ID: 08DJM-9P6T2-L43S4-7JTD4-3SJ6Q-TBSRQ
      Used output buffers: 3 of 24 (20 max)
      === RTOS ===
      Static ram: 19804
      Dynamic ram: 87832 of which 0 recycled
      Exception stack ram used: 352
      Never used ram: 23084
      Tasks: NETWORK(ready,764) HEAT(blocked,1264) MAIN(running,3896) IDLE(ready,160)
      Owned mutexes:
      === Platform ===
      Last reset 00:58:17 ago, cause: software
      Last software reset at 2020-06-21 19:05, reason: Stuck in spin loop, spinning module GCodes, available RAM 22812 bytes (slot 2)
      Software reset code 0x4043 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0400f80f BFAR 0xe000ed38 SP 0x20000f24 Task 0x5754454e
      Stack: 004447cb 004482be 61000000 00000000 00000004 004484ad 20004058 00000001 20000760 10000000 00000004 20019054 000094a4 00000004 00444abd 00000004 00000000 00000001 0041ad35 00444a5d 01d737ff 00000000 0041ac01
      Error status: 0
      Free file entries: 8
      SD card 0 detected, interface speed: 15.0MBytes/sec
      SD card longest block write time: 7.5ms, max retries 0
      MCU temperature: min 26.0, current 30.0, max 33.8
      Supply voltage: min 0.0, current 23.9, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
      Driver 0: ok, read errors 0, write errors 1, ifcount 67, reads 8745, timeouts 0
      Driver 1: ok, read errors 0, write errors 1, ifcount 69, reads 8745, timeouts 0
      Driver 2: ok, read errors 0, write errors 1, ifcount 70, reads 8745, timeouts 0
      Driver 3: ok, read errors 0, write errors 1, ifcount 51, reads 8742, timeouts 3
      Driver 4: ok, read errors 0, write errors 1, ifcount 70, reads 8745, timeouts 0
      Driver 5: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 8753
      Driver 6: ok, read errors 0, write errors 0, ifcount 0, reads 0, timeouts 8753
      Date/time: 2020-06-21 20:04:23
      Slowest loop: 29.80ms; fastest: 0.05ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Move ===
      Hiccups: 0, FreeDm: 156, MinFreeDm: 146, MaxWait: 2828509ms
      Bed compensation in use: mesh, comp offset 0.000
      === DDARing ===
      Scheduled moves: 1293, completed moves: 1287, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
      === Heat ===
      Bed heaters = 0, chamberHeaters = -1 -1
      Heater 0 is on, I-accum = 0.4
      Heater 1 is on, I-accum = 0.3
      === GCodes ===
      Segments left: 1
      Stack records: 3 allocated, 0 in use
      Movement lock held by null
      http is idle in state(s) 0
      telnet is idle in state(s) 0
      file is doing "G0 X155.854 Y160.754" in state(s) 0
      serial is idle in state(s) 0
      aux is idle in state(s) 0
      daemon is idle in state(s) 0
      queue is idle in state(s) 0
      lcd is idle in state(s) 0
      autopause is idle in state(s) 0
      Code queue is empty.
      === Network ===
      Slowest loop: 41.99ms; fastest: 0.02ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
      HTTP sessions: 2 of 8
      Interface state 5, link 100Mbps full duplex
      === Filament sensors ===
      Extruder 0: pos 195.47, errs: frame 2 parity 0 ovrun 0 pol 1 ovdue 0
      
      dm86undefined dc42undefined 2 Replies Last reply Reply Quote 0
      • dm86undefined
        dm86 @dm86
        last edited by

        Setup is direct drive extruder using a feeder tube. ABS filament from a spool holder with bearings so very smooth.

        56Capture.PNG

        1 Reply Last reply Reply Quote 0
        • engikeneerundefined
          engikeneer
          last edited by

          @dm86 I might be wrong, but it could be that the way you've mounted the sensor is giving you issues?

          Ideally you want the sensor to be as close as possible to your extruder. I'm not sure how long your feedtube is but if there is any slack in the filament path between the MFM and extruder, you're gonna get problems, particularly on segments of a print with lots of retractions (is this the case?). Also, what size is the PTFE tube and is it securely fixed at both ends with collet clips? If it's slightly oversized (even 2.0mm ID) the filament can kink up in the tube. This is essentially the same issue with Bowden setups. As it kinks and un-kinks during retract/un-retract, the extruder will be moving filament, but the sensor won't seen anything (hence is tripping).

          If you're monitoring every 3.0mm of filament extruded, that's a comparable length to normal retraction (and also only a very small amount of plastic!). Have two retractions back-to-back with any flex/play/backlash in the feedtube between the extruder and MFM, and you're likely to set it off. When you tried it monitoring over 30.0mm of extruded filament, you'll average these issues out because overall the extruder and sensor are both working and the same total length of filament is travelling through both. The measured sensitivity is also quite different between the two results. I'm guessing this is from the same issue.

          FYI I have a bowden setup with the MFM mounted ~30mm before the extruder. I've used Capricorn XS PTFE tube (1.9mm ID) and it's fixed at both ends with collet clips. My extruder is a Bondtech so the filament path is well constrained, even on the input-side. Even with all this, I can't go below ~5.0mm check lengths and have widened the allowance to 140/60% to avoid it occasionally tripping. It is the nature of these sensors that you have to take all of this into account when mounting and setting them up. In reality, having a slightly larger check window isn't a massive issue - it will still flag a filament-out 🙂

          E3D TC with D3Mini and Toolboards.
          Home-built CoreXY, Duet Wifi, Chimera direct drive, 2x BMG, 300x300x300 build volume
          i3 clone with a bunch of mods

          dm86undefined 1 Reply Last reply Reply Quote 0
          • dm86undefined
            dm86 @engikeneer
            last edited by

            @engikeneer Thanks for the input. It's definitely not that, there is very little to no slack in the tube and being direct drive its pulled through keep it tight anyway. When it stops reading it stops for a while. Even setting to 100mm distance I'm getting 0% failures.

            Having read more on some other posts it seems like my mag and agc values are too high. However I'm not sure what I can do about these and what they really mean? Hoping to get someone in the know to advise if I should be taking it apart or returning it?

            Phaedruxundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @dm86
              last edited by

              @dm86 Would you be able to upgrade to RRF3? Specifically to 3.1.1. DC42 is in the process of investigating the magnetic filament monitors as part of the next update 3.2. So any testing we can do there would be beneficial.

              Z-Bot CoreXY Build | Thingiverse Profile

              dm86undefined 1 Reply Last reply Reply Quote 0
              • dm86undefined
                dm86 @Phaedrux
                last edited by

                @Phaedrux Should be able to. On a 5 day print so might take me a while to get to it. Although if I miss it running out of filament it might be a bit sooner 😂

                It does seem like a sensor issue though but I'll hold off taking it apart until after upgrading.

                1 Reply Last reply Reply Quote 0
                • Phaedruxundefined
                  Phaedrux Moderator
                  last edited by

                  Well taking it apart and checking that things are aligned, etc is not a bad idea.

                  Z-Bot CoreXY Build | Thingiverse Profile

                  1 Reply Last reply Reply Quote 0
                  • dc42undefined
                    dc42 administrators @dm86
                    last edited by

                    @dm86 said in Magnetic Filament Sensor:

                    I'm having difficulties get a new magnetic filament sensor working correctly. Most of the time it reads 'good' values of around 95-105% but will randomly drop right down to only a couple of percent or even 0.

                    Is it worth me taking the sensor apart? Is there anyway to tighten tolerances or anything? Being a new sensor should I just request a return (however reluctant due to international shipping. In UK but ordered from hobbystore.pl)

                    Have tried different measurement lengths from 3 up to 30mm

                    Not working.....

                    M591 D0
                    Duet3D magnetic filament monitor on input 3, disabled, sensitivity 24.80mm/rev, allow 70% to 130%, check every 3.0mm, version 3, mag 114 agc 128, measured sensitivity 35.60mm/rev, min 0% max 132% over 982.7mm
                    

                    Your AGC value is too high and out of tolerance. Less than 100 is good. The usual reason is that the distance between the magnet (on the end of the rotating shaft) and the sensor is too great. Suggestions:

                    • Check that the 3 screws are tight (but don't over-tighten them, that may strip the threads)
                    • If that doesn't lead to a lower AGC value, then remove the two long screws to separate the two halves. Sand down the flat mating surface very slightly, then reassemble.

                    Duet WiFi hardware designer and firmware engineer
                    Please do not ask me for Duet support via PM or email, use the forum
                    http://www.escher3d.com, https://miscsolutions.wordpress.com

                    1 Reply Last reply Reply Quote 0
                    • dm86undefined
                      dm86
                      last edited by dm86

                      @dc42 Thank you both.

                      As its brand new I didn't want to take it apart and be accused of being the problem myself without checking here first.

                      Today it decided to start throwing errors and pausing the print even with the sensor disabled so wondering if there is something else going on too.

                      2020-06-22 13:15:32 Resume state saved
                      2020-06-22 13:15:32 Extruder 0 reports sensor not working
                      2020-06-22 13:15:35 Printing paused at X149.7 Y115.4 Z33.3
                      2020-06-22 14:52:37 HTTP client 192.168.50.130 login succeeded
                      2020-06-22 14:52:48 Printing resumed
                      2020-06-22 14:52:48 Resume state saved
                      2020-06-22 14:52:48 Extruder 0 reports sensor not working
                      2020-06-22 14:52:51 Printing paused at X149.7 Y115.4 Z33.3
                      2020-06-22 14:53:00 Printing resumed
                      2020-06-22 14:53:00 Resume state saved
                      2020-06-22 14:53:00 Extruder 0 reports sensor not working
                      

                      When this print finishes will upgrade and recheck everything and report back.

                      Out of interest, what does mag and agc actually mean?

                      PS I realised I post in the wrong category, can an admin move to the sensor one? TIA

                      Phaedruxundefined 1 Reply Last reply Reply Quote 0
                      • Phaedruxundefined
                        Phaedrux Moderator @dm86
                        last edited by

                        @dm86 said in Magnetic Filament Sensor:

                        PS I realised I post in the wrong category, can an admin move to the sensor one? TIA

                        It was already moved. 😉

                        Z-Bot CoreXY Build | Thingiverse Profile

                        1 Reply Last reply Reply Quote 1
                        • dc42undefined
                          dc42 administrators
                          last edited by

                          'agc' is automatic gain control, used to bring the signal magnitude from the Hall sensor in range. The maximum value available is 128.

                          'mag' is the magnitude of the signal from the Hall sensor element, after applying agc. Under normal conditions, 'agc' will be in the range 85 to 105 and 'mag' won't change much. So 'mag' is less useful than 'agc'.

                          The fact that 'agc' is at maximum also explains why you get the 'sensor not working' report sometimes, because 'mag' will sometimes be too low for the sensor to work properly.

                          Duet WiFi hardware designer and firmware engineer
                          Please do not ask me for Duet support via PM or email, use the forum
                          http://www.escher3d.com, https://miscsolutions.wordpress.com

                          dm86undefined 1 Reply Last reply Reply Quote 1
                          • dm86undefined
                            dm86 @dc42
                            last edited by

                            @dc42 Not much joy again today. Tightened down as all 3 screws were loose. 2 did clamp down a bit and I did see the seam close a little bit as I did it. However the third one was loose and turning it didn't seem to tighten it up at all.

                            M591 D0
                            Duet3D magnetic filament monitor on input 3, disabled, sensitivity 24.80mm/rev, allow 50% to 130%, check every 30.0mm, version 3, mag 129 agc 128, measured sensitivity 10770.89mm/rev, min 0% max 2898% over 1809.2mm
                            

                            However that seems to have had no improvement at all. When this print finishes/fails I will try taking it apart and giving it a light sand. I appreciate its tight tolerances and all but not a great experience on a £60 sensor. 😖

                            Out of interest when do the AGC/MAG values update? If I tweek the screws how can I read updated values? Run M591 after a few seconds of printing or does it need a reboot in-between?

                            dc42undefined 1 Reply Last reply Reply Quote 0
                            • dc42undefined
                              dc42 administrators @dm86
                              last edited by

                              @dm86, would you like the sensor replaced under warranty? I've never seen a sensor with an AGC reading at maximum.

                              When there is no filament motion, changes in AGC reading should be visible in M591 within a second or two. The red flashes of the LED on the filament monitor indicates that the monitor is sending status words, including the AGC value.

                              Duet WiFi hardware designer and firmware engineer
                              Please do not ask me for Duet support via PM or email, use the forum
                              http://www.escher3d.com, https://miscsolutions.wordpress.com

                              dm86undefined 2 Replies Last reply Reply Quote 0
                              • dm86undefined
                                dm86 @dc42
                                last edited by

                                @dc42 I think that is my only option at this point.

                                I spent ages on it last night trying to tweak it in to life. I got a slight improvement on mag after sanding off a rough spot on the 'non-flat' side of the enclosure. But still only got it down to 112, AGC stayed maxed out.

                                I also tried it on my Duet2 just to check it wasnt something weird on my Maestro and got the same readings.

                                I originally purchased through Hobby Store PL. Do I need to return to them?

                                Thanks

                                droftartsundefined 1 Reply Last reply Reply Quote 0
                                • dm86undefined
                                  dm86 @dc42
                                  last edited by

                                  @dc42 Can you advise how to get this exchanged please?

                                  1 Reply Last reply Reply Quote 0
                                  • droftartsundefined
                                    droftarts administrators @dm86
                                    last edited by

                                    @dm86 said in Magnetic Filament Sensor:

                                    I originally purchased through Hobby Store PL. Do I need to return to them?

                                    Contact them for a warranty replacement, reference this forum thread for evidence of warranty approval. In case it wasn't clear from @dc42's answer, we approve a warranty replacement. Sorry for the inconvenience.

                                    Ian

                                    Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

                                    1 Reply Last reply Reply Quote 0
                                    • dm86undefined
                                      dm86
                                      last edited by

                                      So loads of hastle sending it back to Poland, which then got lost in the post. Credit to Hobby Store for having good customer service and sending me a replacement regardless. However, replacement even worse than the original. Also noticed last post in here a fault sensor also from Hobby-Store.

                                      Whats going on here? Just a bad batch?

                                      M591 D0
                                      Duet3D magnetic filament monitor on input 3, enabled, sensitivity 24.80mm/rev, allow 40% to 130%, check every 20.0mm, version 3, mag 132 agc 120, measured sensitivity infmm/rev, min 0% max 0% over 11519.9mm
                                      

                                      Bought a Duet 2 Wifi from E3D that end up being thrown in the bin because it didn't work, really starting to lose faith here. Unfortunately unlike Hobby Store, E3D's customer service is terrible so given up that fight.

                                      1 Reply Last reply Reply Quote 0
                                      • dm86undefined
                                        dm86
                                        last edited by

                                        OK I've taken it apart, checked it, light sanding on one side, tightened it all back down and no improvement on Mag & AGC values. Sensor works intermittently.

                                        Please can someone advice whats going on and how to proceed please?

                                        1 Reply Last reply Reply Quote 0
                                        • Phaedruxundefined
                                          Phaedrux Moderator
                                          last edited by

                                          Hi, we will take another look. Thanks for you patience.

                                          Have you gone through updating to 3.1.1 as we discussed earlier?

                                          Z-Bot CoreXY Build | Thingiverse Profile

                                          1 Reply Last reply Reply Quote 0
                                          • dm86undefined
                                            dm86
                                            last edited by

                                            I have on my Duet 2 but I'm having wifi problems with that. I then had problems trying to upgrade my Maestro but as the printer is going nearly 24/7 haven't been able to solve that yet. Will try and take another look tomorrow.

                                            I have tried it on both boards and Mag + Agc values report the same but I don't have working wifi on the Duet 2 I haven't been able to try much of a test print.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA