Well the scanner did yield actual images that often look like the true original document, but it very temperamental and because of its mechanical nature doesn't produce the exact same image used almost identical setups. We are happy though because it actually worked! Our rudimentary prototype of a scanner really behaves as we expected. Their are a few specific areas to comment on about the scanner.
The device is really slow compared to any scanner on the market today, watching this vide of the scanner moving back and forth: Scanner will confirm this. Here is another video of the scanner at work. We never actually timed how long it takes to scan a full image at the resolution of 128 by 100 but its probably on the order of 5 minutes. All this time needed to scan seems to be having a harmful effect on the stepper motors because they have been randomly acting up on the later days of testing, but if they are a allowed to cool this problem diminishes for the most part. We are still debating if some strange EMF voltage is occurring on the output of the ULN2003 that is causing the motors to act funny, if it is this voltage problem only effects the motors and not the MCU which means it would be an easier fix. Another interesting issue is that there are certain delay times needed between each step of the stepper motor, when trying to speed the motors up which either yield a smooth low vibration movement, and other delay times that will be very jerking and vibrate like crazy. We basically had to experiment till we found delay time values that satisfied the requirement for speed and had low vibration. As we developed more we became concerned about how hard the axels and in turn the sensor was jerked when the the x motor changed direction. To compensate for this fact we built in a software delay on the motors that increased as the motors neared the turning around point on scanning modes 1 and 2.
Accuracy is something our scanner takes into account very light-heartedly. We found out after all of the hardwork we put into the mechanical design that there were still a lot of little areas of the mechanical working that we did not fully design for. For instance the movement of the x and y is very precise but the torque produced by the stepper motors coupled with small variations of frication on the metal runners would cause the axles to skew over time which caused image distortion or in certain cases failure of the scanner till it was reset. This scanner requires constant care by the user to ensure years of wonderful life :). The next major issue that still exist in the final version is that the sensor itself tilts slightly up and down as it moves across in the x direction which probably causes errors in the final image but to the compounding of so many factors that affected image quality we couldn't say how much of an effect this really caused.
Maximum resolution was the second question asked after "how long does it take?", and we found some very interesting results. First we should not that the sensor itself has a optimal resolution of 0.2" which is about 5mm, and we figured we could do better with our precise motor control and sampling every point three times. And we actually achieve this. Now in the case of black text on a white background we established a series of lines to see what line the scanner would see every time.. ie consistently recognize its existence. After a few different test runs the scanner always picked up a 10 pt line which is about 4 mm thick. Not what we would call superb considering the motors move at about a 2mm step each time, so the sensor is sort of averaging the point before, current and after.
Now came the interesting part, we wasted a lot of toner printing up a full page image of the jack Daniels bottle label. In this image the predominant color is black and some of the line widths on the image are 2mm. After scanning at full stepping we obtained the image below:
What did this imply? Well the image resolution is much better for a picture that is white on black, being able to detect line widths of 2mm, a 2 fold increase over the traditional black on white scanning. After thinking about this for a while it made perfect sense. The sensor is a photo reflective transistor, so when it sees a small black dot that is surrounded by white, the surrounding white will reflect enough photons to basically disregard the existence of the black dot. Now in the case of an all black image, even a small white reflective region has enough potential to reflect photons such that the sensor will notice the existence of a small white image. So what this all means is that areas with large black concentrations on white will be noticed whereas small black islands will often be washed out. Below is a picture that confirms this theory.
The Corona crown is all but missing because of the small line width, but the thick line widths of the lettering allow the letters to be read. So basically the resolution of the scanner is dependent on the dominating color in the image. We think this fact alone totally makes the project worthwhile.. a scanner with variable resolution because of physical factors that effect the sensor. (The alcohol motif was accidental, we were scanning late at night and really needed some nice contrasting images to scan) Next to it is an image of the actual design placed in the scanner.
When we ran the motor at half step the image quality was not increase much since we were pushing the limits of the sensor even farther but the resulting images were still very well produced. See below
Our design was pretty safe, we covered all the sharp corners of the metal and the motors are too weak to ever possibly injure someone. We still are concerned when the motors would act up because we did not the possibility of a large voltage discharge to occur in the motor circuit or for the discharge to occur to a human. We used non toxic glues and all of the metals in the project were steel of some kind.. no lead metals. We'd rather not have little kids run around it since of the metal in the device and because the circuit boards are exposed. We feel pretty safe showing off the project to other people without the fear of it going horribly wrong, and if it goes horribly wrong it's because the x axel skewed to much and is no longer moving.. hardly a danger to anyone.
I don't think our project interfered with any other groups, we never got any complaints, actually most people seemed to be mesmerized by the rhythmic moving of the scanner.. it is quite soothing for some odd reason. We shouldn't be generating any rf noise and if we are it is from the switching of the motors which could probably be shielded better (The motors could also use a heat sink, because they run very hot) I think other sources of noise from the cpu switching are so low in power that if they should have effected anything it would have been the rest of our project and we didn't notice any wild behavior from the scanner.
Usability and functionality in real life
I think this device is more of a novelty and an attempt to make high precision motor control, the image quality is way worse than any other device on the market, but it meets the goals we set out for. With a better sensor and some reworking on the sensors housing that connects it to the x and y axle making it firmer the scanner could be turned into a rudimentary children's toy. Otherwise the device is simply an exercise of using random cheap parts and combining them together to create a functional device.
This device could definitely be used by other individuals but they would need a little training on what to do when the axles skew and where to place the calibration paper. We personally think it is fun to run and really look forward to seeing what image it will create next.