LOW RESOLUTION LINEAR ENCODER
Posted by
David L Anderson
on 1999-09-19 07:51:21 UTC
JON
I have experimented with this method and got some results. Using a TI
Linear image sensor
and and A/D converter I can interpolate in Grey scale the edge of the
0.1" wide strip I printed
on a laser printer onto mylar. The sensor array has 0.002" resolution
and with an interpolation of
16 i should be able to get down to .00025" resolution easily. The
problem is accuaracy of the film,
temperature coefficints, and mounting the film in a clean stable
environment.
I have not needed any optics yet beyond what is integrated into the $6
TI sensor (8pin clear dip).
An LED is used behind the film for illumination. The software is a bit
tricky and I as yet do not
have all the "band tracking" working. Mots of my observations are with
an oscillscope and
reading the A/d output to a terminal.
As for speed, I use a dual processor approach. Two Atmel 80c51 cpus
operating in parallel. One
scans the sensor and datareduces the "scan line" into data elements
surrounding the 3 edges of
two bands in the sensors field of view. The second "finds" the position
and calibrates it. It also sends data to a PC serial port for i/o .
With 24Mhz cpu's I can get 200ipm ( theoretically) I have
not proven this only done the calculations and sofware simulations that
say the program can process
the data fast enough not to loose "bands" at that rate. I'm sure this
could be optimized by better
algorithms, and FPGA , or other approach. I'm stuck on mechanics
though. To get a demo unit
working I need some sound way of supporting the linear strip inside a
small enclosure. Any ideas
just holler,
dave
JON WROTE:
I DID have a crazy idea of how to do this with a low resolution optical
scale, which is affordable. Let's say I had an optical scale with 100
THIN Lines/inch.
This is what my antique Bridgeport optical readout had.
Illuminate the scale, and project a focused, enlarged image on a linear
CCD array, from a scanner. Have a CPU read the image from the scanner
very fast, and keep track of where the lines show up. The lines would
be
covering several pixels, so you could interpolate to find the center.
You could produce a VERY high linear resolution, and if the scale was
accurately made, get a very high accuracy, too. But, I don't know
how fast you could make this thing respond.
Jon
I have experimented with this method and got some results. Using a TI
Linear image sensor
and and A/D converter I can interpolate in Grey scale the edge of the
0.1" wide strip I printed
on a laser printer onto mylar. The sensor array has 0.002" resolution
and with an interpolation of
16 i should be able to get down to .00025" resolution easily. The
problem is accuaracy of the film,
temperature coefficints, and mounting the film in a clean stable
environment.
I have not needed any optics yet beyond what is integrated into the $6
TI sensor (8pin clear dip).
An LED is used behind the film for illumination. The software is a bit
tricky and I as yet do not
have all the "band tracking" working. Mots of my observations are with
an oscillscope and
reading the A/d output to a terminal.
As for speed, I use a dual processor approach. Two Atmel 80c51 cpus
operating in parallel. One
scans the sensor and datareduces the "scan line" into data elements
surrounding the 3 edges of
two bands in the sensors field of view. The second "finds" the position
and calibrates it. It also sends data to a PC serial port for i/o .
With 24Mhz cpu's I can get 200ipm ( theoretically) I have
not proven this only done the calculations and sofware simulations that
say the program can process
the data fast enough not to loose "bands" at that rate. I'm sure this
could be optimized by better
algorithms, and FPGA , or other approach. I'm stuck on mechanics
though. To get a demo unit
working I need some sound way of supporting the linear strip inside a
small enclosure. Any ideas
just holler,
dave
JON WROTE:
I DID have a crazy idea of how to do this with a low resolution optical
scale, which is affordable. Let's say I had an optical scale with 100
THIN Lines/inch.
This is what my antique Bridgeport optical readout had.
Illuminate the scale, and project a focused, enlarged image on a linear
CCD array, from a scanner. Have a CPU read the image from the scanner
very fast, and keep track of where the lines show up. The lines would
be
covering several pixels, so you could interpolate to find the center.
You could produce a VERY high linear resolution, and if the scale was
accurately made, get a very high accuracy, too. But, I don't know
how fast you could make this thing respond.
Jon