This is a prototype for an optical sensor that measures the width of plastic filament in real time as it goes into a 3D printer or a filament extruder. It is prototype #3 (other 2 are on Thingiverse as well ).
The idea is that with a real-time width measurement the 3D printer could compensate the extruded flow for changes in filament width. Also if there is variation between spools of filament, there is no need to calibrate for that when slicing. The g-code is independent of the filament diameter. For filament extruders, the measured width can be used as feedback in the extrusion process.This version includes a custom designed pc board as well as a housing. A version of Marlin is modified to use the sensor data.
The sensor outputs a voltage in milimeters (3v=3mm) that is shown on the voltmeter.
I made some changes to Marlin to read the filament diameter real-time and compensate the extrusion rate. Code uses a buffer to manage the transit delay between the sensor measurement and the nozzle.
This prototype sensor is compatible with the design of the latest Lyman extruder. I worked with Hugh on building the controller and incorporating the sensor into the system.
http://www.thingiverse.com/thing:380987
Updates in version 3: I improved the PC board to use screw terminals for the connections. I removed the unused components. Board has the same dimensions as previously. There are two case designs, one for 3D printers and one for filament extruders. The same PC board works in both.
Update9/21/16 - I updated the firmware so that either a 1.57mm and 3.00mm calibration rods can be used to calibrate the sensor. Firmware will self-detect which you are using.
There is lots of relevant discussion at the prior version sites:
Version 2:http://www.thingiverse.com/thing:89044
Version 1:http://www.thingiverse.com/thing:70775
I am selling a limited number of pc board kits at:
http://objectswithintelligence.weebly.com/store.html
The main branch of Marlin now has initial support for the sensor. However, it does not have LCD support (yet - pull request was submitted). You can findthe version with LCD support at https://github.com/filipmu/Marlin/tree/Filament-Sensor
Here is a video of how to make the sensor work:
https://www.youtube.com/watch?v=5JmroyGb4qY
3D_printer_hookup.pdf | 139.9KB | |
Board_Instructions_v3.pdf | 186.2KB | |
Case_Labels.pdf | 98.2KB | |
Extruder_version_BOM.pdf | 182.5KB | |
filament_width_sensor_v2_opt.brd | 61.6KB | |
filament_width_sensor_v2_opt.sch | 539.3KB | |
Freescale_8_bit_code_040415.zip | 228.8KB | |
PC_Board_BOM.pdf | 201.4KB | |
Printer_version_BOM.pdf | 181.2KB | |
RAMPS_wiring_and_instructions_with_blob_sensor.pdf | 240.8KB | |
Seeedstudio_order_v2.0.zip | 44.1KB | |
Sensor_base_plate_extruder_version_v3.stl | 367.9KB | |
Sensor_base_plate_printer_version_v3.stl | 455.4KB | |
Sensor_housing_for_extruder_CAD_files.zip | 1.1MB | |
Sensor_housing_for_printers_CAD_files.zip | 1.5MB | |
Sensor_top_plate_extruder_version_v3.stl | 325.1KB | |
Sensor_top_plate_printer_1.75mm_version_v3.stl | 496.9KB | |
Sensor_top_plate_printer_version_v3.stl | 496.9KB | |
Sensor_tower_and_cap_extruder_version_v3.stl | 418.8KB | |
Sensor_tower_and_cap_printer_versio_v3.stl | 431.5KB |