Inconsistent results with optical encoder wheel filament sensor
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
@JohnOCFII dunno how the liquid tape will do against IR, note that the sensor in the end stop is much more sensitive than your phone's camera as it does not have an IR filter. ALU tape is always my go-to for these type of things. It's good for so many things around 3d printing I always stock it.
Turns out -- I had purchased a roll of copper tape to try to resolve some other 3D printing related issue a couple of years ago. I assume that'll work here in place of aluminum?
-
same thing only tad heavier .. will work for this purpose
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
same thing only tad heavier .. will work for this purpose
The encoder wheel in this design is so small -- just not sure how well any tape will work.
I'm currently running the encoder wheel in the middle - 12 spokes.
-
should work ok with the middle one, glue the tape over the back side, then cut the "windows" open with a scalpel knife, should work like a charm
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
should work ok with the middle one, glue the tape over the back side, then cut the "windows" open with a scalpel knife, should work like a charm
Thanks for the advice. I'll try a fresh blade and give that a shot -- likely tomorrow.
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
should work ok with the middle one, glue the tape over the back side, then cut the "windows" open with a scalpel knife, should work like a charm
That wasn't as tricky as I thought it'd be. I do think I'll try it again with a fresh X-Acto blade.
-
that should work like a charm, no transparency there now. the only question now is, will it provide a better readout now - was this transparency a problem or there's something else in play here.
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
that should work like a charm, no transparency there now. the only question now is, will it provide a better readout now - was this transparency a problem or there's something else in play here.
I prepared the new axle and wheel with the copper tape. I used two coats of a black Sharpie to "paint" the shiny copper and installed the new axle. Sadly, the results are very similar. This is also from the vase mode print with no PA and no retraction.
Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 3.000mm/pulse, allowed movement 30% to 1500%, check every 10.0mm, measured sensitivity 0.581mm/pulse, measured minimum 70%, maximum 2543% over 1021.1mm
Next test will be in a few days when the new Saleae logic analyzer shows up - or if I decide to try the BitScope logic analyzer in a VM.
-
@JohnOCFII damn, so it was not transparency issue, damn, well, one idea out of the window
dunno how to test for filament slipping on the tpu wheel
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
@JohnOCFII damn, so it was not transparency issue, damn, well, one idea out of the window
dunno how to test for filament slipping on the tpu wheel
By removing the optical sensor, I can visually watch the wheel move during the test print I was using. As it was a vase mode cylinder, it was easy to confirm the wheel was moving continuously and (within the calibration of my MARK 1 EYEBALL) consistently. So, while it is possible during a "normal" print where I might have moves at 250mm/sec or other such changes in filament movement, I don't think that is an issue with this particular test.
Next will be to try to get a sense of what data is coming out of that sensor.
-
@JohnOCFII I'd still do that test without hotend
- remove hotend so you have only extrder drive and sensor
- disable "heating" in the g-code
- allow "cold extrusion" in the firmware
- do a print of a simple long extrusion g-code
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
@JohnOCFII I'd still do that test without hotend
- remove hotend so you have only extrder drive and sensor
- disable "heating" in the g-code
- allow "cold extrusion" in the firmware
- do a print of a simple long extrusion g-code
Yes -- good idea. I will do that tomorrow.
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
@JohnOCFII I'd still do that test without hotend
- remove hotend so you have only extrder drive and sensor
- disable "heating" in the g-code
- allow "cold extrusion" in the firmware
- do a print of a simple long extrusion g-code
I disconnected the extruder from the hot-end and set up some GCode to run so I could measure filament. I started with a test at 100mm, but
M591 D0
is showing no data. Curious if not having the printer homed is causing the data collection to be ignored. Maybe I missed something.Here's my GCode:
; Test Extrusion ; M302 P1 ; Allow cold extrusion G92 X0Y0Z0 ; duet now assume we are homed M82 ; extruder absolute position G92 E0 ; reset extruder to 0 M591 D0 P7 C"connlcd.encb" S0 R50:1500 L1.2 E5 A1 ; config filament sensor ; G1 E1000 F120 ; extrude 1000mm at 2mm/sec, so will be extruding around 8 minutes G1 E100 F120 ; extrude 100mm at 2mm/sec, so will be extruding around 1.2 minutes M591 D0 ; query filament sensor
Time for some yard work! Got to go rake leaves.
-
@JohnOCFII you have to save that script as a file and make RRF print that file, you can't just execute the script as in that case filament monitor is disabled
-
@JohnOCFII said in Inconsistent results with optical encoder wheel filament sensor:
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
@JohnOCFII I'd still do that test without hotend
- remove hotend so you have only extrder drive and sensor
- disable "heating" in the g-code
- allow "cold extrusion" in the firmware
- do a print of a simple long extrusion g-code
I disconnected the extruder from the hot-end and set up some GCode to run so I could measure filament. I started with a test at 100mm, but
M591 D0
is showing no data. Curious if not having the printer homed is causing the data collection to be ignored. Maybe I missed something.Here's my GCode:
; Test Extrusion ; M302 P1 ; Allow cold extrusion G92 X0Y0Z0 ; duet now assume we are homed M82 ; extruder absolute position G92 E0 ; reset extruder to 0 M591 D0 P7 C"connlcd.encb" S0 R50:1500 L1.2 E5 A1 ; config filament sensor ; G1 E1000 F120 ; extrude 1000mm at 2mm/sec, so will be extruding around 8 minutes G1 E100 F120 ; extrude 100mm at 2mm/sec, so will be extruding around 1.2 minutes M591 D0 ; query filament sensor
Yes, I saved it as ColdExtrusioTest.g and "printed" it same as I would any other file.
There must be something else I'm missing. I'll have to think about it.10/31/2020, 3:10:14 PM M591 D0 Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no calibration data 10/31/2020, 3:07:37 PM Finished printing file 0:/gcodes/Calibration/ColdExtrusionTest.g, print time was 0h 0m 10/31/2020, 3:06:47 PM M32 "0:/gcodes/Calibration/ColdExtrusionTest.g" File 0:/gcodes/Calibration/ColdExtrusionTest.g selected for printing Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no data received 10/31/2020, 3:05:50 PM M591 D0 Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no calibration data 10/31/2020, 3:03:59 PM Finished printing file 0:/gcodes/Calibration/ColdExtrusionTest.g, print time was 0h 0m 10/31/2020, 3:03:09 PM M32 "0:/gcodes/Calibration/ColdExtrusionTest.g" File 0:/gcodes/Calibration/ColdExtrusionTest.g selected for printing Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no data received
-
I homed the printer, then ran this file while it was still homed - no change in output.
-
@JohnOCFII and it passed those 100mm trough extruder and sensor and the wheel were rotating? that's rotating rather slow right, can you check the impulses with a multimeter maybe? analog one would work great?
-
@arhi said in Inconsistent results with optical encoder wheel filament sensor:
@JohnOCFII and it passed those 100mm trough extruder and sensor and the wheel were rotating? that's rotating rather slow right, can you check the impulses with a multimeter maybe? analog one would work great?
Yes. Also, the optical sensor board has an LED that was blinking at regular intervals.
Depending on the weather, I'm supposed to fly with a student tomorrow (weekend flight instructor). If not, I'll try this tomorrow.
Saleae LA should arrive Monday or Tuesday.
-
@JohnOCFII I'm more interested to see the levels you see on the duet board so measuring voltage between the signal pin (connlcd.encb) and gnd using voltmeter while slowly moving the encoder so to see what you have there for 0 (when that signal led is off) and what you have there for 1 (when that signal led is on) .. as I don't see a reason why would RRF detect these impulses for me and not for you unless there's something fishy with the voltage levels there ... how the cable is crymped etc etc..
-
So I've re-assembled the hot-end/extruder, and added some wiring extensions to connect to the Logic Analyzer. I was seeing incredibly strange outputs -- like this:
Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, measured sensitivity 0.000mm/pulse, measured minimum 0%, maximum 1052141% over 46.6mm
So I pulled the optical sensor off the case, and confirmed the encoder wheel is still moving as expected.
So while the print was running, I started using a flat print to interrupt the sensor on a sort of regular basis, and started to get "more normal" results again. And by normal -- I mean normal for my recent results...
Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 30% to 1500%, check every 10.0mm, measured sensitivity 0.386mm/pulse, measured minimum 0%, maximum 6059% over 372.6mm
I'm starting to wonder about wiring issues, or something else more related to the DUET. One thing you suggested was to try a different port, as this CONNLCD might be treated differently than the other ports.
(I've got more free time than expected today -- so will keep plugging at things today)