Full frame digital camera from scratch - Part 2
In this video, I continue the development of my full-frame digital camera. In the previous video [link] I introduced the basic concept of the camera and I showed that I could already take photos with the TCD1304 linear CCD-based camera. However, I mentioned in that video that I am going to be continuing the work with the device and improving it and making it into a better, fully portable camera.
I show you the most recent updates and upgrades in this video and article.
Improvements and future work
The main structure of the camera remained. I kept the FB09 plastic enclosure as the house of the camera.
However, I did two big changes.
First, I replaced the mechanism that does the scanning. Previously, I used an MGNxxx-based miniature linear rail and bearing to support the CCD and allow it to be moved along a straight line using a NEMA8 stepper motor with a built-in lead screw. I noticed that the bearing does not move super smoothly and it was also a bit strange arrangement with the bearing, the motor and the CCD holder, so I designed a new mechanism.
The new mechanism looks really similar to the mechanism I built recently for focus stacking [link]. The lead screw runs in the middle, and there is a 4 mm steel rod on each side of the lead screw to support the block that holds the CCD. There are no bearings or anything, the 3D-printed CCD holder is in direct contact with the steel rails. The holes on the CCD holder are reamed with a 4 mm drill bit, so there is a snug, but loose contact between the rails and the CCD holder.
I also added two limit switches at the two ends of the mechanism. The limit switch closer to the motor is used for the starting position of the scanning. The CCD returns to this limit switch after a full frame is scanned. Also, when the camera is started, the device automatically performs a homing-and-parking and the CCD holder is returned to this switch.
The other limit switch is at the end of the lead screw. This limit switch acts as a “stop switch”. When this switch is hit at the end of the scanning, the scanning is stopped and the CCD holder is returned to its original position ad the limit switch closer to the stepper motor.
Another big change is the lens mount. Since I changed the mechanism that moves the CCD, the position (height) of the CCD was also changed, therefore the distance between the CCD and the end of the lens (flange focal distance) was not 45.46 mm anymore. Since it is hard to get the distance perfectly with 3D printed parts and handmade structures, and because the camera is still under development, I came up with a solution. I designed a threaded lens mount which allows me to change the flange focal distance. With this tube extension, I could get better-focused images than previously because I can adjust not only the focus but the flange focal distance too.
Finally, I made some changes to the PC software and I am really happy about the outcome. Previously, I had to scan the whole frame first before seeing any visual information (picture). The scanned image was first saved to a text file as a matrix of intensities where each item of the matrix was a pixel, then I had to plot this matrix as an image (“bitmap”). I used graphing software (qtiplot) for this purpose.
Now, this changed. I added a new part to my already existing code that takes each scanned column and it prints it as a column into a picture box. As the scanning progresses, the picture is built on the display simultaneously (see gif below).
Join my YouTube membership!
At the end of the scanning, there will be an image of the scanned subject just as you would expect after using a normal scanner. Then, I can save this image as a high-resolution image by converting the acquired matrix into a bitmap (BMP) file. Unfortunately, with the built-in ADC of the microcontroller, I can only capture at 12-bit resolution, so the real “bit depth” of the image is 12-bit, but the BMP is saved as a 16-bit BMP file.
The next step is to add a display and a memory card to the setup so I can use the camera without having it attached to the computer. I already started to work with the memory card part, but I haven’t started to work with the display part. Once I manage to make both work with the current circuit, I will design a huge PCB to replace the back plate of the box. This back plate will be used both as a circuit board as well as a structural part.
Stay tuned!