User:Tonyarm/Filament Sensing

From RepRap
Jump to: navigation, search

Filament Tracking and Sensing

Problem Statement

This page is dedicated to the project of tracking filament to make the printers more "self-aware" in the case of a problem. In this case, the project is designed to make sure that the filament is moving. The occurrence that the filament is not moving is a symptom of possibly several issues and generally occur when the user is not looking at the printer. For this reason, it is beleived that the user should receive some version of a warning whether it is received via pop-up, noise, etc...

Approach

The first practical idea was to use an optical encoder to read whether the filament was moving or not. For those who don't now, an optical encoder is just a wheel with a certain infill pattern that allows some form of EMF (more generally in the form of light or infrared) to pass through or block it. As the wheel would spin the light would go through, then get blocked, then go through, etc... The more of these "spindles" and spaces there were on the wheel, the more precise the optical encoder was. This setup was used in old analog mice back in the 1990's before they would use lasers (to all of the younger generations: there really was a time where mice did not have lasers and the were not connected via USB) to track the ball in the x and y axes. The spindle-like wheels would be in contact at a point normal to the surface of the ball and would spin in the same direction as the motion of the ball on that axis. This wheel would be in between an infrared light and corresponding sensor. The pattern on this wheel would be radial lines with specified a specified thickness that appeared to be a spindle on the wheel of a bicycle.

We actually attempted to use this exact wheel in our setup. We were going to use the spindle in between the slots of an optical endstop, which would have provided the same results as the analog mouse. In order to get the wheel to move with the filament, we thought the first design could follow closely with the extruder design in that we would use that gear piece and bearing that force the filament into the extruder. However, instead of driving the filament, it would just latch onto the filament and move when the filament moves. From there, we would attach a 1-1 gearing system to move the wheel. The optical endstop would be attached to a set of free analog or digital pins on the circuit board.

In addition to this physical setup, we were also going to write an Arduino library that could read the changes from HIGH to LOW as motion of the filament. If a certain reading was held for too long, then an error would pop up, most likely through the Serial communication.


Results

At first we tested the how the optical endstop was working with the spindle. Although we got good readings from the optical endstop, the spindle was not big enough to block the signals for the IR emitter. Since this was also tested toward the end of the semester, we could not actually proceed further.

Going further

The test described above is only a single option of how to get this setup to work. The problem that we faced was that the wheel was not the correct size and, as it turned out, possible not the correct orientation of the spindles. We found that the IR sensor and emitter on the optical endstop was at the very base of the slot. To get a good wheel for this, a gear-shaped wheel could be made making sure it fit in the slot and the teeth were long enough so the wheel center portion was not interfering.

Another idea that could be used was