The goal of this project is to build image scanner that uses a phototransistor array to detect light intensity instead of CCD overlaid with a photoactive layer of silicon. The system uses internal ATmega644 Analog to Digital converter to capture light signal from sensor. The data then transmits to MATLAB for image processing through serial connection. To allow scan a large area, array of phototransistors are attached to an X-Y plotter. The scanner control is performed by MATLAB scripts.
The scanner is started by calling a function in MATLAB interface and then the command is transmitted to ATMega644 by serial connection. Three stepper motors, two horizontal motors and one vertical motor, are used to drive the X-Y plotter. ATMega644 will control the movements of all three motors, which are powered by ULN2003 Darlington arrays.
The photo transistor array is consisted of eight PS5022 phototransistors. The scan steps through row-wise, from left to right until the end of the range of movement, shift the rail down, and then sweep leftwards, repeating until the entire area has been swept. For each scan step, A/D converter will capture all Voltage values generated by the phototransistor array and then ATMega644 will send the data back to MATLAB. All data will be stored in a matrix in MATLAB during the scan.
Project Firmware, Schematic and Documentation