3d Printer Filament Length Readout model
Warning. This content is not moderated and could be offensive.
m4
3dmdb logo
Thingiverse
3d Printer Filament Length Readout

3d Printer Filament Length Readout

by Thingiverse
Last crawled date: 4 years, 3 months ago
This is a Filament readout of the mm's of filament that has passed through the added encoder. The screen has a ST subtotal and GT a grand total readout. A short press of the tare button caused just the ST to reset to zero, a long hold will cause both readouts to zero. If power is removed the total's are lost but any calibration you did of course is retain. You can calibrate through a CLI on the serial port. Look at code documentation for clarity.
To get a warning of filament failure I added a simple quadrature encoder to the stepper gear of my Taz5. A special mount and circuit board uses 2 OPB761N opto's simply mounted to the corner of the stepper motor. This gives 24 steps per revolution so about .16 mm / step read. The AMT103V gives a much higher resolution, depends on the settings but with a setting of 384 steps/rev it about .05 mm per encoder step. This will be a separate creation call Taz5-6 Stepper Encoder. Go there to see construction and wiring.
I have run versions of this filament length readout on my Lulzbot Taz5 for quite a while and thought I would share it. It uses a AMT103V encoder, several bearings and a couple of faucet springs to tension the bearing to the filament. I have had added it to my Filament Scale(See my other Creations) and have created a simple interface to a Lolin ESP32 with a SD1306 OLED. It was designed for 3mm filament but I found that just changing to a larger pressure bearing 4x16x5mm it seemed to read 1.75 filament just as well.
By comparing what the stepper has tried to feed and the actual feed going by the AMT103V we can create an error and halt the print and fix the problem. I've got a list of several things that you can do with the Lolin ESP32 beyond my simple configuration.
Well I guess you say what's it good for. Well I haven't spent much time on the code but this is a few of the things I've thought of making it do.

Of course a run-out sensor that detects a out of filament condition and outputs error signal to your control program or Raspberry Pi. I've tested it with Octopi Filament Sensor Reloaded and works, the setting of what you want for a error trip needs to be played with a little.


The filament jammed and won't feed even though it go through the whole path. A simple switch sensor would not notice anything wrong.


Do an accurate prediction of the prints completion time by looking at the actual feed rate compared to the expected length of filament.


Have a remote reading of the status of the print on a little web server.


Send a text message of a problem or if it's completion.

Test the maximum feed rate of the extruder. By adding a sensor(QuadEncoder in my Creations) to the stepper motor we know how much filament that we should have extruded. The actual filament sensor tells you what has really been used. You could increase the rate of extrusion until you see the extruder falling behind.
I have included the stl for a universal encoder you can use as desired. Their is also a dedicated base that mounts directly to the Taz5-6 extruder with a longer extruder mounting screw.
The code and connection diagram are included. Look at the code for how it all works.
I have the error output going to my Raspberry Pi through a switch to disable it while testing. You will need to experiment with the trigger values to set the properties for it to cause and error. You can monitor the stepper and encoder output with the serial port. The serial port also allows you to calibrate the readout and do a reset it you get it out of wack completely. I use the Octopi plugin Filament Sensor Reloaded to stop the print.
Hope someone get's something out of all this, maybe just an idea to do something simular would be good.
PS Here is a link to my 5v to 3v3 volt converter
Cheers
Kisssys

Tags