Sensor to read the size of a laser shadow?
Moderators: adafruit_support_bill, adafruit

Sensor to read the size of a laser shadow?

by IanJohnson on Mon Jan 28, 2013 2:38 pm

I am working on an extruder to make filament for 3D printing. It is important that the diameter of the filament remains consistent within .05mm. I can check this by cutting off sections to measure with a caliper, or try to use the caliper as the filament feeds to the spooler, but I'm looking for a better way.

I thought of running the filament under a line laser, close enough that the shadow cast by it is considerably larger than the width of the filament so that any variance in its diameter would be exaggerated. However a reasonable throw distance with sharp edges to the shadow works out to only about 1-2mm of change in shadow length to indicate the changes in filament diameter that I'm watching for. That's pretty tough to eyeball on a ruler, and throwing the shadow further to increase its size begins to create indistinct edges which reduces precision.

Is there any kind of sensor that can be used to track the distance between the ends of the laser line at each edge of the shadow, that would be DIYable? One challenge is creating a path for the filament that holds it absolutely still in relation to the laser as it feeds past. It's a little hard to track the width of the shadow by eye when both ends are moving back and forth. Something that can read the length of the shadow without one end being fixed in place would help.
IanJohnson
 
Posts: 16
Joined: Mon Jan 28, 2013 2:16 pm

Re: Sensor to read the size of a laser shadow?

by adafruit_support_bill on Mon Jan 28, 2013 3:16 pm

I worked on a similar issue: Measuring the diameter of a red-hot steel rod as it was coming out of a rolling mill. We used a collimated beam (but a line laser should work as well) and a linear CCD sensor. You can find these sensors in scanners. I have seen them for sale from surplus sites as well.
User avatar
adafruit_support_bill
 
Posts: 31071
Joined: Sat Feb 07, 2009 10:11 am

Re: Sensor to read the size of a laser shadow?

by franklin97355 on Mon Jan 28, 2013 6:27 pm

User avatar
franklin97355
 
Posts: 5632
Joined: Mon Apr 21, 2008 2:33 pm

Re: Sensor to read the size of a laser shadow?

by Zener on Mon Jan 28, 2013 7:40 pm

That is basically what I was going to recommend, Taos. Here is the sensor that is in that, in case you don't want the lens:

http://www.mouser.com/search/ProductDet ... rm=TSL1401

It looks like you give it a clock, then at some point give it a start pulse "SI" Start Index? Then it clocks out 128 analog values I think, that you read and decide what is going on.
Zener
 
Posts: 2660
Joined: Sat Feb 21, 2009 2:38 am

Re: Sensor to read the size of a laser shadow?

by IanJohnson on Wed Jan 30, 2013 4:56 pm

That looks like what I need. This is my first electronics/Arduino project so there is plenty to learn. I'm thinking the strategy is to read values from each pixel. If it is bright/saturated, go to the next. If it is darker, start counting, and stop counting when another bright pixel is encountered. I'll need some calibration step where it can present a # of dark pixels and have the user enter a known measurement that they relate to. Then it would take that relationship between pixels and mm to output a measurement.

I'm thinking of adding a second laser/sensor combo at 90 degrees to compensate for any movement of the filament in relation to the lasers. If the filament moves up or down in relation to the laser, the diameter would appear to change. A change in diameter would cause the first and last dark pixels would move in opposite directions (scaling). If the filament moves, the first and last dark pixels would move in the same direction (translating).

If the bottom sensor shows the shadow scaling but the sideways sensor shows its shadow translating, then the bottom sensor reading can disregarded. Likewise the bottom sensor can detect sideways translation and disregard the sideways measurement.
IanJohnson
 
Posts: 16
Joined: Mon Jan 28, 2013 2:16 pm

Re: Sensor to read the size of a laser shadow?

by Zener on Wed Jan 30, 2013 6:33 pm

You might look at some of the commercial sensors made for that purpose and see how they do it. I am guessing Keyence might have something. I have seen them before but I don't remember what brands they were. You want to search on "laser micrometer"
Zener
 
Posts: 2660
Joined: Sat Feb 21, 2009 2:38 am

Re: Sensor to read the size of a laser shadow?

by flipperr on Fri May 24, 2013 11:24 pm

I put together a prototype sensor for a similar purpose, using the Taos sensor and LED illumination. The plan is to use it to adjust the rate of extrusion on a 3D printer to compensate for variation in filament width. I found that it was possible to get good results with guiding the filament over the sensor. Still early stages, though...

http://www.thingiverse.com/thing:89044
flipperr
 
Posts: 1
Joined: Fri May 24, 2013 11:18 pm

Re: Sensor to read the size of a laser shadow?

by tldr on Sat May 25, 2013 9:07 am

this is probably daft, but could you interpolate the size of the filament just from the amount of light hitting a sensor behind it?
"If I had known it was harmless, I would have killed it myself." - Phillip K. Dick, A Scanner Darkly
User avatar
tldr
 
Posts: 466
Joined: Thu Aug 30, 2012 1:34 am

Re: Sensor to read the size of a laser shadow?

by adafruit_support_bill on Sat May 25, 2013 11:10 am

could you interpolate the size of the filament just from the amount of light hitting a sensor behind it?

Possibly with a controlled light source. You would probably have to calibrate it for each color though...
User avatar
adafruit_support_bill
 
Posts: 31071
Joined: Sat Feb 07, 2009 10:11 am