More problems
-
I took the time today to swap filament monitors between printers. The Lo-Fi case and the Duet cased one.
The Lo-Fi cased monitor is the one i have been having intermittent issues with since getting it together (on the Big printer), Even with the original resin printed case (i had to print the case though) it gave me problems. That monitor with no changes except moving it from the Big printer to the XY printer now gives acceptable performance. (Oddly enough, the Duet cased monitor originally on the XY printer was a complete monitor w/ case (as from duet) and was never very reliable on the xy printer). The Duet cased monitor now on the Big Printer is showing consistent extrusion rates.To Clarify, the original post is in regards to the Big printer and the Lo-Fi case monitor.
The Current setup is the Big Printer w/ the Duet case monitor and its giving these results.
9/4/2023, 12:43:58 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 27.50mm/rev, allow 40% to 130%, check printing moves every 3.0mm, version 3, mag 128 agc 82, measured sensitivity 27.76mm/rev, min 43% max 116% over 22263.1mm m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 27.50mm/rev, allow 40% to 130%, check printing moves every 3.0mm, version 3, mag 132 agc 76, measured sensitivity 27.87mm/rev, min 43% max 116% over 158495.8mm
The XY Printer w/ the Lo-Fi case monitor is providing these results:
9/4/2023, 2:11:34 PM m591 d0 Duet3D rotating magnet filament monitor v4 on pin e0stop, enabled, sensitivity 27.00mm/rev, allow 75% to 120%, check printing moves every 10.0mm, version 4, mag 131 agc 60, measured sensitivity 26.45mm/rev, min 78% max 106% over 552.3mm
One filament pause shortly after the above, then this.
9/4/2023, 3:54:13 PM m591 d0 Duet3D rotating magnet filament monitor v4 on pin e0stop, disabled, sensitivity 27.00mm/rev, allow 75% to 120%, check printing moves every 10.0mm, version 4, mag 131 agc 59, measured sensitivity 25.08mm/rev, min 95% max 104% over 8913.7mm
I'm not sure what or why things are inconsistent or why they are seemingly working fine on opposite printers, but i'll take it for now.. hopefully it stays this way.
-
As expected, the problems have begun again. No changes have been made and it printed well for 6 days with no significant problems. Yesterday i had to disable the MFM due to it continuously pausing due to either to little or to much movement, even though the print looks fine (no under or over extrusion). The latest print has been running for nearly 12 hours straight and this is what the MFM reports:
This is the MFM in the Duet printed case. NOT the Lofi case that i originally had problems with (that sensor is still working favorably in my other printer).
9/10/2023, 8:26:20 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 129 agc 78, measured sensitivity 27.41mm/rev, min -137% max 325% over 354792.8mm
The print prior to that one gave this at its conclusion:
9/10/2023, 1:31:27 AM Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 131 agc 74, measured sensitivity 27.73mm/rev, min -192% max 276% over 487574.2mm Finished printing file 0:/gcodes/RWB.gcode, print time was 13h 32m
-
The inconsistency of reliability continues. Here is the complete list of MFM issues from the last print, which was only 15 hours long. Ordered in Newest to oldest down. Print in duration of 20+ hours have significantly more errors and erroneous large deviations in Mix and Max values.
9/19/2023, 5:12:22 PM Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 128 agc 83, measured sensitivity 26.48mm/rev, min 75% max 108% over 6670.2mm Finished printing file 0:/gcodes/HarDR.gcode, print time was 15h 36m 9/19/2023, 4:52:18 PM m591 d0 s0 9/19/2023, 2:41:43 PM Printing paused at X386.5 Y230.1 Z406.1 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 75, measured sensitivity 29.15mm/rev, min 71% max 385% over 204761.5mm 9/19/2023, 2:41:35 PM Filament error on sensor 0 - Paused Filament error on extruder 0: tooMuchMovement Resume state saved 9/19/2023, 1:40:04 PM SensorError- sensor : 0 Continuing to Print 9/19/2023, 10:51:12 AM SensorError- sensor : 0 Continuing to Print 9/19/2023, 9:28:31 AM SensorError- sensor : 0 Continuing to Print 9/19/2023, 8:59:09 AM M24 Printing resumed Error: Bad command: X196.352 Y251.982 E0.40795 9/19/2023, 5:31:13 AM Printing paused at X196.9 Y248.5 Z269.3 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 75, measured sensitivity 29.81mm/rev, min 62% max 529% over 320615.8mm 9/19/2023, 5:31:05 AM Filament error on sensor 0 - Paused Filament error on extruder 0: tooMuchMovement Resume state saved 9/19/2023, 5:17:56 AM SensorError- sensor : 0 Continuing to Print 9/19/2023, 4:05:46 AM Connection established 9/19/2023, 4:05:45 AM Connection interrupted, attempting to reconnect... HTTP request timed out 9/19/2023, 12:40:50 AM SensorError- sensor : 0 Continuing to Print 9/19/2023, 12:22:55 AM SensorError- sensor : 0 Continuing to Print 9/18/2023, 11:23:58 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 130 agc 82, measured sensitivity 30.88mm/rev, min 64% max 121% over 96786.3mm 9/18/2023, 10:22:53 PM SensorError- sensor : 0 Continuing to Print 9/18/2023, 8:42:13 PM Printing paused at X386.5 Y305.9 Z1.7 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 133 agc 75, measured sensitivity 27.93mm/rev, min 6% max 111% over 25352.6mm 9/18/2023, 8:42:05 PM Filament error on sensor 0 - Paused Filament error on extruder 0: tooLittleMovement Resume state saved 9/18/2023, 8:00:07 PM Printing paused at X386.6 Y324.7 Z0.5 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 129 agc 83, measured sensitivity 27.87mm/rev, min -1% max 108% over 4905.6mm 9/18/2023, 7:59:59 PM Filament error on sensor 0 - Paused Filament error on extruder 0: tooLittleMovement Resume state saved 9/18/2023, 7:53:53 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 79, measured sensitivity 29.38mm/rev, min 81% max 112% over 1560.8mm 9/18/2023, 7:49:36 PM M32 "0:/gcodes/HarDR.gcode" File 0:/gcodes/HarDR.gcode selected for printing
-
@invertmast
I had similiar problems with different versions of the MFM.
Double check the bearings, we had two broken bearings of the sense wheel rod - they were not running smooth - which causes the sense wheel to get broken/worn out. Due to the fact, that you already checked and changed the housing, I think it is not related to the housing.
Double check your wiring/crimping and your firmware. We had the same problems with older firmware, 3.4.6 is working.But anyhow this is not the reason for the ridiculously large min/max values and the measured sensitivity.
I checked the code and the measured sensitiviy is calulated as follows:
float RotatingMagnetFilamentMonitor::MeasuredSensitivity() const noexcept { return totalExtrusionCommanded/totalMovementMeasured; }
the reset code is doing the following
void RotatingMagnetFilamentMonitor::Reset() noexcept { extrusionCommandedThisSegment = extrusionCommandedSinceLastSync = movementMeasuredThisSegment = movementMeasuredSinceLastSync = 0.0; magneticMonitorState = MagneticMonitorState::idle; haveStartBitData = false; synced = false; // force a resync }
so maybe the reset should also reset the following variables @dc42
totalMovementMeasured totalExtrusionCommanded
'>> EDIT: nvm
these values are reset via the idle status
case MagneticMonitorState::idle: magneticMonitorState = MagneticMonitorState::calibrating; totalExtrusionCommanded = amountCommanded; totalMovementMeasured = amountMeasured; break;
<<EDIT
as the min/max and sensitivty is also calculated in the calibration phase of the sensor
case MagneticMonitorState::calibrating: totalExtrusionCommanded += amountCommanded; totalMovementMeasured += amountMeasured; if (totalExtrusionCommanded >= 10.0) { backwards = (totalMovementMeasured < 0.0); if (backwards) { totalMovementMeasured = -totalMovementMeasured; } float ratio = totalMovementMeasured/totalExtrusionCommanded; minMovementRatio = maxMovementRatio = ratio; if (comparisonEnabled) { ratio *= mmPerRev; if (ratio < minMovementAllowed) { ret = FilamentSensorStatus::tooLittleMovement; } else if (ratio > maxMovementAllowed) { ret = FilamentSensorStatus::tooMuchMovement; } } magneticMonitorState = MagneticMonitorState::comparing; } break;
-
@timschneider said in More problems:
@invertmast
I had similiar problems with different versions of the MFM.
Double check the bearings, we had two broken bearings of the sense wheel rod - they were not running smooth - which causes the sense wheel to get broken/worn out. Due to the fact, that you already checked and changed the housing, I think it is not related to the housing.
Double check your wiring/crimping and your firmware. We had the same problems with older firmware, 3.4.6 is working.But anyhow this is not the reason for the ridiculously large min/max values and the measured sensitivity.
I checked the code and the measured sensitiviy is calulated as follows:
float RotatingMagnetFilamentMonitor::MeasuredSensitivity() const noexcept { return totalExtrusionCommanded/totalMovementMeasured; }
the reset code is doing the following
void RotatingMagnetFilamentMonitor::Reset() noexcept { extrusionCommandedThisSegment = extrusionCommandedSinceLastSync = movementMeasuredThisSegment = movementMeasuredSinceLastSync = 0.0; magneticMonitorState = MagneticMonitorState::idle; haveStartBitData = false; synced = false; // force a resync }
so maybe the reset should also reset the following variables @dc42
totalMovementMeasured totalExtrusionCommanded
as the min/max and sensitivty is also calculated in the calibration phase of the sensor
case MagneticMonitorState::calibrating: totalExtrusionCommanded += amountCommanded; totalMovementMeasured += amountMeasured; if (totalExtrusionCommanded >= 10.0) { backwards = (totalMovementMeasured < 0.0); if (backwards) { totalMovementMeasured = -totalMovementMeasured; } float ratio = totalMovementMeasured/totalExtrusionCommanded; minMovementRatio = maxMovementRatio = ratio; if (comparisonEnabled) { ratio *= mmPerRev; if (ratio < minMovementAllowed) { ret = FilamentSensorStatus::tooLittleMovement; } else if (ratio > maxMovementAllowed) { ret = FilamentSensorStatus::tooMuchMovement; } } magneticMonitorState = MagneticMonitorState::comparing; } break;
I am currently running firmware 3.4.6
as for wiring, i have run it through an ethernet adapter and the only other wiring inside that ethernet cable being the wire for a precision piezo sensor. I have also run the MFM wiring completely separate from the drag chain both with and without shielded cables and the reliability is consistently, inconsistent.
-
More data.
I started a new print at 7:30pm last night that is still continuing (its a 28hr print). Here are the values from the first 18hrs9/19/2023, 7:29:56 PM M32 "0:/gcodes/RWA.gcode" File 0:/gcodes/RWA.gcode selected for printing
9/19/2023, 7:37:57 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 128 agc 77, measured sensitivity 27.94mm/rev, min 81% max 109% over 3498.6mm
9/19/2023, 7:48:02 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 75, measured sensitivity 28.85mm/rev, min 75% max 113% over 9028.8mm
9/19/2023, 7:50:39 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 75, measured sensitivity 29.15mm/rev, min 68% max 114% over 10681.2mm
9/19/2023, 8:58:16 PM SensorError- sensor : 0 Continuing to Print
9/19/2023, 8:58:39 PM Filament error on sensor 0 - Paused Filament error on extruder 0: tooLittleMovement Resume state saved
9/19/2023, 8:58:46 PM Printing paused at X519.1 Y49.1 Z24.0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 130 agc 78, measured sensitivity 28.83mm/rev, min 10% max 114% over 55887.2mm
During this pause, the print was visibly fine and showed no indications of severe under or over extrusion.
9/19/2023, 9:13:00 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, enabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 74, measured sensitivity 28.50mm/rev, min 89% max 105% over 233.7mm
At this point i didn't feel like baby-sitting the printer, so i disabled the MFM using M591 D0 S0
9/19/2023, 9:13:13 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 74, measured sensitivity 28.30mm/rev, min 88% max 105% over 357.7mm
Here the ridiculously large min/max values begin to show up. I have seen as high as four digits multiple times.
9/19/2023, 10:37:49 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 131 agc 74, measured sensitivity 27.72mm/rev, min 80% max 221% over 46661.6mm
9/20/2023, 9:26:11 AM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 132 agc 74, measured sensitivity 28.80mm/rev, min 0% max 259% over 29797.2mm
9/20/2023, 10:55:00 AM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 131 agc 76, measured sensitivity 28.88mm/rev, min 0% max 260% over 83336.8mm
9/20/2023, 1:22:27 PM m591 d0 Duet3D rotating magnet filament monitor v3 on pin e0stop, disabled, sensitivity 28.00mm/rev, allow 10% to 150%, check printing moves every 5.0mm, version 3, mag 131 agc 74, measured sensitivity 28.87mm/rev, min 0% max 260% over 171294.5mm
I use 3mm of retraction during a 3mm wiping movement, only when changing layers with a 32mm/sec retraction speed.
-
@invertmast
that sounds all good, did you checked the crimping? I had it once that the KK254 crimp was not making a good connection. Maybe you can provide fotos of the crimping to the filament sensor and to the duet mainboard.It sounds to me like ESD or bad connection in relation to another software problem with invalid data.
The protocol of the filament sensor does not have any checksum as far as I see it in the firmware
'>> EDIT
but has a parity check -> and it is printed in M122 output!
<<// Version 3 firmware: // Data word: P00S 10pp pppppppp S = switch open, ppppppppppp = 10-bit filament position // Error word: P010 0000 0000eeee eeee = error code // Version word: P110 0000 vvvvvvvv vvvvvvvv = sensor/firmware version, at least 2 // Magnitude word P110 0010 mmmmmmmm mmmmmmmm = highest 8 bits of magnitude (cf. brightness of laser sensor) // AGC word P110 0011 aaaaaaaa aaaaaaaa = AGC setting (cf. shutter of laser sensor)
and due to the amount of 'sensor error 0 - no data' I guess it is a bad connection or ESD problem.
-
@timschneider said in More problems:
@invertmast
that sounds all good, did you checked the crimping? I had it once that the KK254 crimp was not making a good connection. Maybe you can provide fotos of the crimping to the filament sensor and to the duet mainboard.It sounds to me like ESD or bad connection in relation to another software problem with invalid data.
The protocol of the filament sensor does not have any checksum as far as I see it in the firmware
// Version 3 firmware: // Data word: P00S 10pp pppppppp S = switch open, ppppppppppp = 10-bit filament position // Error word: P010 0000 0000eeee eeee = error code // Version word: P110 0000 vvvvvvvv vvvvvvvv = sensor/firmware version, at least 2 // Magnitude word P110 0010 mmmmmmmm mmmmmmmm = highest 8 bits of magnitude (cf. brightness of laser sensor) // AGC word P110 0011 aaaaaaaa aaaaaaaa = AGC setting (cf. shutter of laser sensor)
and due to the amount of 'sensor error 0 - no data' I guess it is a bad connection or ESD problem.
I'll post a photo of the MFM connector once this print completes. the opposite ends are crimped into furrel's before being tightened into the pcb clamp blocks on the ethernet breakout board.
-
@invertmast
OK, i double checked my previous posts about the protocol and checksum and so on.the variables are reset via the state machine state idle and the protocol does provide a parity check. Based on your M122 output there are alot of error frames and parity errors from your filament sensor.
=== Filament sensors === Extruder 0: pos 146.95, errs: frame 311476 parity 877 ovrun 0 pol 3 ovdue 0
it should be more like
=== Filament sensors === Extruder 0: pos 107.23, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
so I still think it is an ESD or bad connection problem.
Hope this will help you.
-
@timschneider said in More problems:
@invertmast
OK, i double checked my previous posts about the protocol and checksum and so on.the variables are reset via the state machine state idle and the protocol does provide a parity check. Based on your M122 output there are alot of error frames and parity errors from your filament sensor.
=== Filament sensors === Extruder 0: pos 146.95, errs: frame 311476 parity 877 ovrun 0 pol 3 ovdue 0
it should be more like
=== Filament sensors === Extruder 0: pos 107.23, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0
so I still think it is an ESD or bad connection problem.
Hope this will help you.
That M122 was with a different sensor. the one that was originally in the housing designed by a member here..
Here is the M122 with the sensor currently mounted on this printer and the one giving the current problems (the one with the housing supplied by Duet).
other than the sensor, everything else is identical on this printer and all posts since the Sept. 4th are of this sensor.
m122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.6 (2023-07-21 14:08:28) running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DGM-956GU-DJ3SJ-6J9DD-3SD6S-9UPZH Used output buffers: 9 of 26 (26 max) === RTOS === Static ram: 23896 Dynamic ram: 76636 of which 12 recycled Never used RAM 7960, free system stack 106 words Tasks: NETWORK(ready,15.9%,211) HEAT(notifyWait,0.1%,333) Move(notifyWait,1.2%,268) DUEX(notifyWait,0.0%,24) MAIN(running,82.7%,421) IDLE(ready,0.1%,30), total 100.0% Owned mutexes: === Platform === Last reset 00:20:27 ago, cause: power up Last software reset at 2023-09-17 10:38, reason: User, GCodes spinning, available RAM 11600, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x1c Aux0 errors 0,1,0 Step timer max interval 0 MCU temperature: min 21.2, current 28.5, max 29.0 Supply voltage: min 23.6, current 24.1, max 24.8, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/24/12, gc cycles 0 Events: 0 queued, 0 completed Driver 0: ok, SG min 0 Driver 1: standstill, SG min n/a Driver 2: ok, SG min 0 Driver 3: stalled, SG min 0 Driver 4: standstill, SG min n/a Driver 5: ok, SG min 0 Driver 6: ok, SG min 0 Driver 7: ok, SG min 0 Driver 8: ok, SG min n/a Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2023-09-22 09:51:13 Cache data hit count 4294967295 Slowest loop: 220.62ms; fastest: 0.17ms 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 1.2ms, write time 383.9ms, max retries 0 === Move === DMs created 83, segments created 30, maxWait 357293ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 4219, completed 4206, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state 3 === AuxDDARing === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.0 Heater 1 is on, I-accum = 0.7 === 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 X233.050 Y245.301 E2.07967" 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 === Filament sensors === Extruder 0: pos 250.66, errs: frame 0 parity 0 ovrun 0 pol 0 ovdue 0 === DueX === Read count 1, 0.05 reads/min === Network === Slowest loop: 387.30ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 = WiFi = Interface state: active Module is connected to access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.27 WiFi MAC address 5c:cf:7f:76:63:7a WiFi Vcc 3.40, reset reason Turned on by main processor WiFi flash size 4194304, free heap 25760 WiFi IP address 192.168.4.29 WiFi signal strength -47dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
-
@invertmast
ok, i understand. Do you also have an M122 output when the filament sensor is producting wrong values?And have you been able to get some pictures of the connections? And you are routing the signals through an ethernet cable, so some sort of twisted pair cable, which signal is running in a pair? Is the Data-Line running next to the GND of the Filament Sensor in a twisted pair? If not, that can be the problem.
Tim
-
@timschneider said in More problems:
@invertmast
ok, i understand. Do you also have an M122 output when the filament sensor is producting wrong values?And have you been able to get some pictures of the connections? And you are routing the signals through an ethernet cable, so some sort of twisted pair cable, which signal is running in a pair? Is the Data-Line running next to the GND of the Filament Sensor in a twisted pair? If not, that can be the problem.
Tim
the M122 i posted last was of the sensor as it was giving problems.
Signal and ground are in seperate twisted pairs.
In a twist, i have been doing a decent amount of prints at higher speed (55-75mm/sec) and lower layer heights (.2 to .4mm) and the amount of inconsistency in the min/max values has essentially disappeared. All of the above issues were with printing at 30-32mm/sec and .6mm layers. It seems that the issues may be related to flow rate and movement of the filament through the sensor.
I do have that photo, i'll get posted from my phone here shortly.
-
Here is the photo of the monitor pin crimps:
I have found that with a lower layer height than the .6mm i had been using, the frequency of random pauses has decreased, but they are still common enough to be a nuisance. They also seem to become more frequent as the sensor errors begin to accumulate.
-
@invertmast I had a TON of similar problems with my sensor. The main fix is kinda easy. Design a housing that will hard mount the sensor to the extruder. You want this housing to be rigid to the extruder to absolutely constrain the filament between the drive gear and the sensor. My theory here is that the constant movement wears the bowden enough to allow the sensor housing to move and effect readings. This brought my readings to 90%-110% with no more false readings.
I had problems with wires too. Small wires don't like movement, especially at sharp points, let alone constantly moving. Strain relief really helps here. The best way I have found is to put some RTV silicone into a syringe. Use a needle that will allow you to inject silicone into the connector ends. Don't fill it completely up, just enough to encapsulate up to the crimp, and then some more on the outside of the connector. You could probably even print up some strain relief molds if you want to be really slick. You "could" use hot glue if your printer isnt in an enclosure, but I wouldn't recommend it. If it gets enough radiant heat from the bed, it will remelt and seep into every nook and cranny of the connector, even gluing itself to the OTHER connector it's plugged into. Ask me how i know...
The absolute best way to strain relief is Silastic. That is the glue used inside commercial electronics for strain relief of wires and capacitors. But every time I've looked into it, I've found it to be more of an empty rabbit hole and the products I've found vary too wildly in their specs, availability, and cost so I just gave up and went with rtv silicone.
-
@invertmast
that looks intresting, either you plugged and unplugged the connector quite often or it could be the problem @macguyver pointed outthis is a picture of a contact with strain relief after 100+h of printing, there are no such scratches.
-
@macguyver said in More problems:
@invertmast I had a TON of similar problems with my sensor. The main fix is kinda easy. Design a housing that will hard mount the sensor to the extruder. You want this housing to be rigid to the extruder to absolutely constrain the filament between the drive gear and the sensor. My theory here is that the constant movement wears the bowden enough to allow the sensor housing to move and effect readings. This brought my readings to 90%-110% with no more false readings.
I had problems with wires too. Small wires don't like movement, especially at sharp points, let alone constantly moving. Strain relief really helps here. The best way I have found is to put some RTV silicone into a syringe. Use a needle that will allow you to inject silicone into the connector ends. Don't fill it completely up, just enough to encapsulate up to the crimp, and then some more on the outside of the connector. You could probably even print up some strain relief molds if you want to be really slick. You "could" use hot glue if your printer isnt in an enclosure, but I wouldn't recommend it. If it gets enough radiant heat from the bed, it will remelt and seep into every nook and cranny of the connector, even gluing itself to the OTHER connector it's plugged into. Ask me how i know...
The absolute best way to strain relief is Silastic. That is the glue used inside commercial electronics for strain relief of wires and capacitors. But every time I've looked into it, I've found it to be more of an empty rabbit hole and the products I've found vary too wildly in their specs, availability, and cost so I just gave up and went with rtv silicone.
The monitor is rigidly mounted to the carriage assembly. there is only a 25mm gap between the extruder and the filament monitor.
as for strain relief, the wires between the ethernet breakout board and the filament monitor are less than 100mm long and are rigidly attached at both ends. there is little to no movement of them.
-
@timschneider said in More problems:
@invertmast
that looks intresting, either you plugged and unplugged the connector quite often or it could be the problem @macguyver pointed outthis is a picture of a contact with strain relief after 100+h of printing, there are no such scratches.
this one has well over 1,000hrs of printing time and the connector has been removed countless times chasing problems with two different monitors..
-
@invertmast said in More problems:
@macguyver said in More problems:
@invertmast I had a TON of similar problems with my sensor. The main fix is kinda easy. Design a housing that will hard mount the sensor to the extruder. You want this housing to be rigid to the extruder to absolutely constrain the filament between the drive gear and the sensor. My theory here is that the constant movement wears the bowden enough to allow the sensor housing to move and effect readings. This brought my readings to 90%-110% with no more false readings.
I had problems with wires too. Small wires don't like movement, especially at sharp points, let alone constantly moving. Strain relief really helps here. The best way I have found is to put some RTV silicone into a syringe. Use a needle that will allow you to inject silicone into the connector ends. Don't fill it completely up, just enough to encapsulate up to the crimp, and then some more on the outside of the connector. You could probably even print up some strain relief molds if you want to be really slick. You "could" use hot glue if your printer isnt in an enclosure, but I wouldn't recommend it. If it gets enough radiant heat from the bed, it will remelt and seep into every nook and cranny of the connector, even gluing itself to the OTHER connector it's plugged into. Ask me how i know...
The absolute best way to strain relief is Silastic. That is the glue used inside commercial electronics for strain relief of wires and capacitors. But every time I've looked into it, I've found it to be more of an empty rabbit hole and the products I've found vary too wildly in their specs, availability, and cost so I just gave up and went with rtv silicone.
The monitor is rigidly mounted to the carriage assembly. there is only a 25mm gap between the extruder and the filament monitor.
as for strain relief, the wires between the ethernet breakout board and the filament monitor are less than 100mm long and are rigidly attached at both ends. there is little to no movement of them.
Couldn't tell it was hard mounted by the picture. My bowden between the sensor is only 25mm total, though I doubt that matters much. As long as you can't see the sensor housing moving while printing that should be fine.
My wires are even shorter. They don't need to sway to wear out and break. Vibrations alone can and will do it. As will removing the connectors countless times for troubleshooting. It's just the nature of 20+ gauge wire and these were what fixed my issues which were pretty much identical to yours.
I had grown exhausted by the problems of the sensor. I wanted to make sure that everything was bomb proof before giving up on it entirely. I had even gone so far as to make extra cables so I wouldn't be slowed down in my troubleshooting if i found a broke one. Luckily it's been going strong for several months now. Another thing to check is the actual gear on the sensor it's self. I have worn one of those smooth all the way around. Honestly I had almost given up on the duet sensor, even have a bigtreetech sensor sitting on the shelf that was going to replace it. Than again, maybe THAT's the reason it's working. It knew it might end up as E-waste if it didnt start working right.
-
@macguyver said in More problems:
@invertmast said in More problems:
@macguyver said in More problems:
@invertmast I had a TON of similar problems with my sensor. The main fix is kinda easy. Design a housing that will hard mount the sensor to the extruder. You want this housing to be rigid to the extruder to absolutely constrain the filament between the drive gear and the sensor. My theory here is that the constant movement wears the bowden enough to allow the sensor housing to move and effect readings. This brought my readings to 90%-110% with no more false readings.
I had problems with wires too. Small wires don't like movement, especially at sharp points, let alone constantly moving. Strain relief really helps here. The best way I have found is to put some RTV silicone into a syringe. Use a needle that will allow you to inject silicone into the connector ends. Don't fill it completely up, just enough to encapsulate up to the crimp, and then some more on the outside of the connector. You could probably even print up some strain relief molds if you want to be really slick. You "could" use hot glue if your printer isnt in an enclosure, but I wouldn't recommend it. If it gets enough radiant heat from the bed, it will remelt and seep into every nook and cranny of the connector, even gluing itself to the OTHER connector it's plugged into. Ask me how i know...
The absolute best way to strain relief is Silastic. That is the glue used inside commercial electronics for strain relief of wires and capacitors. But every time I've looked into it, I've found it to be more of an empty rabbit hole and the products I've found vary too wildly in their specs, availability, and cost so I just gave up and went with rtv silicone.
The monitor is rigidly mounted to the carriage assembly. there is only a 25mm gap between the extruder and the filament monitor.
as for strain relief, the wires between the ethernet breakout board and the filament monitor are less than 100mm long and are rigidly attached at both ends. there is little to no movement of them.
Couldn't tell it was hard mounted by the picture. My bowden between the sensor is only 25mm total, though I doubt that matters much. As long as you can't see the sensor housing moving while printing that should be fine.
My wires are even shorter. They don't need to sway to wear out and break. Vibrations alone can and will do it. As will removing the connectors countless times for troubleshooting. It's just the nature of 20+ gauge wire and these were what fixed my issues which were pretty much identical to yours.
I had grown exhausted by the problems of the sensor. I wanted to make sure that everything was bomb proof before giving up on it entirely. I had even gone so far as to make extra cables so I wouldn't be slowed down in my troubleshooting if i found a broke one. Luckily it's been going strong for several months now. Another thing to check is the actual gear on the sensor it's self. I have worn one of those smooth all the way around. Honestly I had almost given up on the duet sensor, even have a bigtreetech sensor sitting on the shelf that was going to replace it. Than again, maybe THAT's the reason it's working. It knew it might end up as E-waste if it didnt start working right.
Thanks for the tips. I have done pretty much the same with this thing. I originally had this printer setup as a Bowden drive, but that was more headache than it was worth, so i changed nearly everything on the printer, that included rewiring the entire thing. I've rewired the filament sensor atleast half a dozen times on both ends of the ethernet breakout boards and it never made any changes..
I'm about ready to pull the trigger on a new sensor as well. Even if it sits on a shelf to never be used because this one decides to start behaving, it would be money well spent. lol
I've also debated replacing the Duet2 board with a Duet3 and a tool board to see if that makes any difference,but that is a large investment that i dont want to make.
-
@invertmast I have a duet 3 and a toolboard and they are what I was having my problems on, so doubtful that would fix it.
The bigtreetech sensor is interesting. It is driven by 2 v-groove bearings. One of them is in a carriage with a rubber coated metal wheel with holes in it. The sensor appears to track light through those holes. It's bulky, and heavy at 84grams so it will almost certainly mess with any input shaping you have going on. But it is built solidly from the looks of it.