Help Filament Sensor (Pulsating Type)
i am currently building a filament sensor based on a reprap hall-e sensor.
I really need filament sensor due to large amounts of out of spec filaments. surface quality doesn´t matter and refilling and restarting after grinding is not a problem..but manually restarting failed prints takes just too much time.
Let me shortly describe my setup:
Not my picture but same components:
The Filament passes through 2 rubber cylinder mounted on an axle with bearing to a housing.
One of this axles rotates a magnet which gets detected by the hall-e sensor.
passed filament per pulse
dr = rubber diameter = 8
(maybe an effective diameter due to compression needs to be used, something like 7.75 or so)
Thus the circumference (i.e. 1 revolution i.e. 1 pulse):
1 pulse = 2*pi *dr/2 = 24.34 mm
This is verified by running calibration mode of M591 (with S0 ).
It reports roughtly 24.x as i have definied via L parameter (see below)
Definition of Sensor from config.g:
; Hall-E Filament Sensor
M591 D0 P7 C3 S1 R50:150 L24.0 E50.0
; D0=Extruder 0, P7 = Pulse (P3=MagneticDuet); C3 = Input Connection (0=X,1=Y,2=Z,3=E0...)
; S(0/1) = disable/enable monitoring; Raa:bb allowable error
; Lnn Filament movement per pulse in mm
; Enn Extrusion Length before comparison
; M591 D0 ; display filament sensor parameters for extruder drive 0
The E Value needs to be pretty high in comparison to my L value.
Meaning: to make sure i get a proper extruder length sensor reading i need multiple pulses per E-value.
If one pulse is 24mm (L24 ) than i could check the first time after exactly 24mm (E24). However due to different kind of errors i can not check exactly at 24 mm because the sensor reading might just not have recognized the first pulse because a very little amount of filament is missing (true extrusion is maybe 23.99).
As a response of the M591 command i get an large error!
This suggests that the allowable error is directly related to the number of pulse per extrusion check.
Based on my feeling (don´t judge me here ) this means that a somewhat tolerable error due to discretisation is reached by using more then 6 or 7 pulses per extrusion check. This would mean an maximum error of roughly 15%.
Lets formulate this the other way around: a reliable extrusion check E is valid after 7*L. in my case: E168. (Feeling like half of my printed testcube: true measure was 25% of the model...somewhat late to check for missing extrusions )
- using more magnets per revolution (costly and most like only possible with the next solution due to space requirements)
- gearing the system for better ratios (did i mention space requirements? besinde some slip, rattling and what so ever)
- getting more information from the magnetic field. as far as i know (no expert here...) the hall e sensor does not only give cut of binary signals but voltage drops (linear, sinusiodal...?) this could be incorporated in the filament sensor system.
Is there anything else i missed?
Every help is really appreciated
I agree with your analysis. You need much more than one pulse per 24mm of filament motion.
Thanks for your response!
I guess i can increase the resolution by roughly a factor of 30:
3:1 via gears + 10 magnets per gear.
Maybe that´s enought!
Just a quick update. Prototype sketching is done...let´s wait for the print.