<p>You would want a thickness gauge with the ability to communicate via serial. Once you managed to modify Marlin to talk to it, and you engineered a system of rollers for the filament to pass through, then you could automatically compensate for the thickness of the filament.</p>

<p><a href="https://i.sstatic.net/CCCX2.jpg" rel="nofollow noreferrer"><img src="https://i.sstatic.net/CCCX2.jpg" alt="Neoteck Digital Thickness Gauge"></a></p>

<p><a href="https://rads.stackoverflow.com/amzn/click/com/B07Q33RSH6" rel="nofollow noreferrer" rel="nofollow noreferrer">https://www.amazon.com/Neoteck-Digital-Thickness-Electronic-Micrometer/dp/B07Q33RSH6?th=1</a></p>

CC BY-SA 4.0
2019-12-10T20:50:37.723Z
Yes, a mechanical solution is one way of doing it. Though a thickness gauge is very expensive (looking for solutions where the hardware is under 2 dollars or so). This also doesn’t adress the main question of how ”fast” the diameter changes, but thank you for the suggestion :)
Beacon of Wierd
CC BY-SA 4.0
2019-12-10T21:06:23.597Z
@BeaconofWierd analog Feeler gauges that are accurate for Thou(sands of an inch) are available for as little as 20 bucks for a decent one. Mounted in the right way, and dialed to thickness, you'd see the current variation from the target at the measuring spot. It would be an effort of picking up the data for a long measurement continuously.
Trish
CC BY-SA 4.0
2019-12-10T21:34:38.820Z
@Trish The hardware which isn't 3D printed on the current mechanical system I have for measuring distances costs around 50 cents (basically two leds and two photodiodes) and can measure distances down to 0.015 thou, so when it comes to a mechanical system I'm fairly sure I can't go lower than that (Note, the 0.015 thou is the theoretical limit, practically I'm getting around 0.1 thou). Also, this mechanical system has the limitation of only measuring diameter, not cross-sectional area.
Beacon of Wierd
CC BY-SA 4.0
2019-12-11T13:12:45.670Z
@BeaconofWierd 2 LED/Photodetectors will give you a good estimate, assuming an ovaloid. If you know the exact distance between, you can use A=a b pi. If you match the data pickup with stepping (like, trigger a pickup every mm of movement) and write the data into a CSV, then take the distance between the sensors into consideration (if you don't measure in the same spot), you could use a spreadsheet to measure the whole filament... knowing the lead distance, you could arguably write that data to another CSV as percentages... which could be fed into the printer via `M221` accordingly.
Trish
CC BY-SA 4.0
2019-12-12T00:13:57.833Z
@BeaconofWierd, \$2 dollars!? No, there is nothing that you can use to measure the filament thickness at that price point. Even the \$2 dollar multi touch needed an expensive web cam and computer.
user77232
CC BY-SA 4.0
2019-12-12T07:46:58.330Z
@user77232 I just told you what I am currently using to measure distances, and that setup costs less than 1 dollar, so there are ways to measure the thickness for less than 2 dollars, I’m just looking for alternatives to make sure I haven’t overlooked some well known cheap way to measure filament diameter.
Beacon of Wierd
CC BY-SA 4.0
2019-12-12T12:39:15.600Z
@BeaconofWierd, No there isn't Distance, in your case, just requires a tachometer; which is relatively simple. The task of measuring thickness to an amount that you can do something meaningful with the information, requires a sensitive instrument with a high signal to noise ratio. For 7 dollars you could get a force sensitive resistor mounted on bearings and that would still cost you more than the above mentioned technology to implement.
user77232
CC BY-SA 4.0
2019-12-12T13:03:11.867Z
@user77232 No, I'm not using the diodes as tachometers, I'm using them to sense how much light is blocked and from that I can calculate the distance the thing which blocked the light travelled. Think two small slits which can move relative to each other, when they are perfectly aligned you have a maximum signal, when they have moved the length of the slit you have no signal.
Beacon of Wierd
CC BY-SA 4.0
2019-12-10T20:29:09.077Z
2019-12-10T20:29:09.077Z
user77232
<p>I'm trying to find out how "normal" filament (not super expensive filament) varies in diameter (or more accurately cross sectional area) over the length of the filament. I've looked around and the only thing I can find, that many filaments are sold with the tolerances, not how "fast" they vary along the filament. A +- 0.1 mm over 1 meter is after all qite different from the same alteration over 0.1 meter.</p>

<p>I am mainly interested in this, as I want to build a printer with very small Z-height steps, thus a small variation in the filament diameter will lead to a rather large variation in the extrusion width. While I thought over the project, I came to the idea of using some kind of capacitance measuring device to detect the cross-sectional area, however it is only possible (or rather feasible) to measure the average cross-section over a rather long section (10cm+). Hence main part of the question: <strong>How "fast" does the filament change diameter?</strong></p>

<p>The other part is obviously: <strong>Are there other (cheap) ways to measure the cross-section?</strong> I could use light, but then I would only get the diameter at one point (pretty sure the filaments aren't perfectly round) and using multiple sensors would quickly become expensive. And then there's the issue of transparent filaments. Most mechanical solutions have the same issue, only measuring one point and might have issues with certain types of filaments such as very flexible filaments.</p>

CC BY-SA 4.0
2019-12-10T17:28:26.607Z
Marlin is capable to adjust the extrusion multiplier based on diameter measurements, sensors exist for this feature. I believe you need to input the length of filament path of the sensor to the nozzle. I have to look it up, is this something you are after?
0scar
CC BY-SA 4.0
2019-12-10T17:49:14.387Z
Yes, this is basically exactly whay I am after!
Beacon of Wierd
CC BY-SA 4.0
2019-12-10T19:51:57.603Z
@0scar looks like all the commercial sensors (at least the ones I can find) are optical sensors (either actuall cameras or ”strip cameras”) which look rather expensive :( I’m looking for very cheap sensors (hence the idea to use capacitance, which can be measured cheaply)
Beacon of Wierd
CC BY-SA 4.0
2019-12-10T21:54:42.977Z
a loop around the filament could expand and contract as width changes in any direction. if that loop has tension, it can be measured. i think sampling 4 diameters (90 deg each) would give a pretty good estimate.
dandavis
CC BY-SA 4.0
2019-12-10T21:57:44.123Z
another precise measure can be make with a lever; the end closer to the fulcrum pinches/hugs the filament, which causes large moments on the other end of the lever when that distance changes. those large movements can be measured with a hall-effect sensor from a magnet on the lever; a clothespin for example.
dandavis
CC BY-SA 4.0
2019-12-10T22:06:35.897Z
@dandavis A loop suffers the problem of only measuring the circumference, so you still don't know the area. The "lever" solution is probably the one I am going for, but using light detectors at the ends instead of "expensive" magnets and hall-effect sensors. (Expensive relative to photodiodes and LEDs).
Also, I think you mean 45 deg increments for measuring the diameter :P
Beacon of Wierd
CC BY-SA 4.0
2019-12-10T22:11:12.297Z
@dandavis Though you did give me one idea I might be able to use :D If the magnetic permeability of PLA (and other filaments) is larger than 1 the magnetic field strength of a coil with the filament in it will be different depending on the cross-sectional area of the filament. If I place a very sensitive hall-sensor inside the coil I might be able to measure those differences :D Now I just have to find the magnetic permeability of PLA :P
Beacon of Wierd
CC BY-SA 4.0
2019-12-10T22:20:42.983Z
@dandavis Ok,relative permeability of plastic is way too close to 1 to be able to measure. Just saying this to save anyone else who might see this suggestion and want to try it some time, doesn't work :(
Beacon of Wierd
<filament><dimensional-accuracy>
Filament Variation Detection
Beacon of Wierd
# Filament Variation Detection

(Asked by: username_0 on 2019-12-10)

I'm trying to find out how "normal" filament (not super expensive filament) varies in diameter (or more accurately cross sectional area) over the length of the filament. I've looked around and the only thing I can find, that many filaments are sold with the tolerances, not how "fast" they vary along the filament. A +- 0.1 mm over 1 meter is after all qite different from the same alteration over 0.1 meter.

I am mainly interested in this, as I want to build a printer with very small Z-height steps, thus a small variation in the filament diameter will lead to a rather large variation in the extrusion width. While I thought over the project, I came to the idea of using some kind of capacitance measuring device to detect the cross-sectional area, however it is only possible (or rather feasible) to measure the average cross-section over a rather long section (10cm+). Hence main part of the question: **How "fast" does the filament change diameter?**

The other part is obviously: **Are there other (cheap) ways to measure the cross-section?** I could use light, but then I would only get the diameter at one point (pretty sure the filaments aren't perfectly round) and using multiple sensors would quickly become expensive. And then there's the issue of transparent filaments. Most mechanical solutions have the same issue, only measuring one point and might have issues with certain types of filaments such as very flexible filaments.

**Tags:** filament, dimensional-accuracy
> **Comments:**
> **username_1**: Marlin is capable to adjust the extrusion multiplier based on diameter measurements, sensors exist for this feature. I believe you need to input the length of filament path of the sensor to the nozzle. I have to look it up, is this something you are after?  
> **username_0**: Yes, this is basically exactly whay I am after!  
> **username_0**: @0scar looks like all the commercial sensors (at least the ones I can find) are optical sensors (either actuall cameras or ”strip cameras”) which look rather expensive :( I’m looking for very cheap sensors (hence the idea to use capacitance, which can be measured cheaply)  
> **username_2**: a loop around the filament could expand and contract as width changes in any direction. if that loop has tension, it can be measured. i think sampling 4 diameters (90 deg each) would give a pretty good estimate.  
> **username_2**: another precise measure can be make with a lever; the end closer to the fulcrum pinches/hugs the filament, which causes large moments on the other end of the lever when that distance changes. those large movements can be measured with a hall-effect sensor from a magnet on the lever; a clothespin for example.  
> **username_0**: @dandavis A loop suffers the problem of only measuring the circumference, so you still don't know the area. The "lever" solution is probably the one I am going for, but using light detectors at the ends instead of "expensive" magnets and hall-effect sensors. (Expensive relative to photodiodes and LEDs). Also, I think you mean 45 deg increments for measuring the diameter :P  
> **username_0**: @dandavis Though you did give me one idea I might be able to use :D If the magnetic permeability of PLA (and other filaments) is larger than 1 the magnetic field strength of a coil with the filament in it will be different depending on the cross-sectional area of the filament. If I place a very sensitive hall-sensor inside the coil I might be able to measure those differences :D Now I just have to find the magnetic permeability of PLA :P  
> **username_0**: @dandavis Ok,relative permeability of plastic is way too close to 1 to be able to measure. Just saying this to save anyone else who might see this suggestion and want to try it some time, doesn't work :(  

---

## 1 answers

### Answer by username_3 on 2019-12-10. Score: 0 | Accepted answer

You would want a thickness gauge with the ability to communicate via serial. Once you managed to modify Marlin to talk to it, and you engineered a system of rollers for the filament to pass through, then you could automatically compensate for the thickness of the filament.

[![Neoteck Digital Thickness Gauge](https://i.sstatic.net/CCCX2.jpg)](https://i.sstatic.net/CCCX2.jpg)

[https://www.amazon.com/Neoteck-Digital-Thickness-Electronic-Micrometer/dp/B07Q33RSH6?th=1](https://rads.stackoverflow.com/amzn/click/com/B07Q33RSH6)

> **Comments:**
> **username_0**: Yes, a mechanical solution is one way of doing it. Though a thickness gauge is very expensive (looking for solutions where the hardware is under 2 dollars or so). This also doesn’t adress the main question of how ”fast” the diameter changes, but thank you for the suggestion :)  
> **username_4**: @BeaconofWierd analog Feeler gauges that are accurate for Thou(sands of an inch) are available for as little as 20 bucks for a decent one. Mounted in the right way, and dialed to thickness, you'd see the current variation from the target at the measuring spot. It would be an effort of picking up the data for a long measurement continuously.  
> **username_0**: @Trish The hardware which isn't 3D printed on the current mechanical system I have for measuring distances costs around 50 cents (basically two leds and two photodiodes) and can measure distances down to 0.015 thou, so when it comes to a mechanical system I'm fairly sure I can't go lower than that (Note, the 0.015 thou is the theoretical limit, practically I'm getting around 0.1 thou). Also, this mechanical system has the limitation of only measuring diameter, not cross-sectional area.  
> **username_4**: @BeaconofWierd 2 LED/Photodetectors will give you a good estimate, assuming an ovaloid. If you know the exact distance between, you can use A=a b pi. If you match the data pickup with stepping (like, trigger a pickup every mm of movement) and write the data into a CSV, then take the distance between the sensors into consideration (if you don't measure in the same spot), you could use a spreadsheet to measure the whole filament... knowing the lead distance, you could arguably write that data to another CSV as percentages... which could be fed into the printer via `M221` accordingly.  
> **username_3**: @BeaconofWierd, \$2 dollars!? No, there is nothing that you can use to measure the filament thickness at that price point. Even the \$2 dollar multi touch needed an expensive web cam and computer.  
> **username_0**: @user77232 I just told you what I am currently using to measure distances, and that setup costs less than 1 dollar, so there are ways to measure the thickness for less than 2 dollars, I’m just looking for alternatives to make sure I haven’t overlooked some well known cheap way to measure filament diameter.  
> **username_3**: @BeaconofWierd, No there isn't Distance, in your case, just requires a tachometer; which is relatively simple. The task of measuring thickness to an amount that you can do something meaningful with the information, requires a sensitive instrument with a high signal to noise ratio. For 7 dollars you could get a force sensitive resistor mounted on bearings and that would still cost you more than the above mentioned technology to implement.  
> **username_0**: @user77232 No, I'm not using the diodes as tachometers, I'm using them to sense how much light is blocked and from that I can calculate the distance the thing which blocked the light travelled. Think two small slits which can move relative to each other, when they are perfectly aligned you have a maximum signal, when they have moved the length of the slit you have no signal.  

---

