07/07/2014 at 09:00 •
I got my PCBs a few weeks ago but realized I didn't have the parts to solder onto the board! Rather than being boring and copy-pasting and alt-tabbing a bunch, I wrote a small tool to convert and load a KiCad-generated file to use for searching octopart.com for parts to buy. Check it out here:
06/09/2014 at 07:09 •
In college I started learning to use spectrophotometers (and even other kinds of spectrometers) for my science degree in Biotechnology. When I looked at their prices, I knew I wouldn't be able to buy even a used unit on eBay for a long long time (because I was in college and was tight on money). So I started learning how they worked, reading up on them, internet wiki article after article on history and optics. Read "Spectrum of Belief: Joseph von Fraunhofer and the Craft of Precision Optics" to try and get an intuitive idea of optics, rather than a purely numbers (engineering) approach. I think I've finally figured out enough of all the relevant areas. Analog Electronics design and circuit layout, mixed signal design (analog connected to digital, and keeping the noise low), optics, and sourcing all the parts. All along I focused on making it easy to assemble and calibrate, making it easy to hack, and above all, being high-resolution at par with the lab equipment required to do my science work.
I decided that the simplest 'spectrophotometer mount', the layout of all the optical components in a spectrophotometer design, was a concave aberration-corrected flat-field grating. It combines the czerny-turner design's mirrors with the grating, and has some optical engineering done to change the shape so the spectrum is fairly linear on a flat sensor like a CCD or CMOS. A czerny-turner mount has a slit, which controls the initial shape and also the size of the light beam, the beam is then collected and collimated or focused-at-infinity onto the grating, the beam hits the grating and diffracts off (it absorbs then is re-emitted at specific angles, depending on the photon's color) into a rainbow of colors, the beam is then collected and focused to an image. Two concave mirrors and a flat grating would finally focus an image onto a sphere, but since CCD and CMOS camera sensors are planar (a flat-field), the mirror designs need to be modified so the focus is onto a plane. With increased CAD and computational ability, optical design has been able to take the mirrors and the grating and merge them into one optical element. Thus simplifying the instrument to a slit, a concave aberration-corrected flat-field grating, and an image sensor.
Of course there are spectrophotometer instruments that use rotating stages and single-pixel PMT (photo-multiplier tube) or photodiode sensors, but this simplification comes at a cost of synchronous spectrum recording (getting all the wavelengths at the same time) and adds mechanical complexity and thus increased calibration requirements.
The current PCB is a 4-layer design, I did this because after all the analog low-noise related reading I did, most people recommended a common unbroken ground plane for analog and digital signal, with delineation of analog and digital areas. Basically by keeping digital lines away from and from not crossing analog lines, after importing the schematic from eeschema into PCBnew, I spent a while re-arranging the components until I though space was utilized properly and traces that were fast (USB data lines) and involved in sensitive operations (CCD and ADC signal and control lines) were relatively unobstructed in paths. I butted the ADC input right up against the CCD output, and didn't cross over the ground plane between there, which is where I placed the power regulator for the analog stage (all the stuff dealing with analog, though the ADC is also connected to the digital power line too, with some filtering first).
I should have the PCB next week to debug and prove the initial design, get the ADC driver written, and test whether the analog output buffer transistor that the Toshiba datasheet recommends is required. I think it might not be, as I didn't see any loading effect when using my oscilloscope before and after the transistor. I think the Toshiba datasheet might have this for applications where the sensor is in a bar-code reader or something with a few feet of cable between the digitizing/application circuitry.
After proving the design, I think I can improve it. I think I can get it to be a 2-layer and I want to equalize the trace lengths for the CCD and ADC control lines. This will reduce readout noise, and with a 16-bit ADC, design matters. I don't want to move away from the Propeller for the CPU, the multi-core architecture makes gluing the various peripherals together very easy. The next best thing for this would probably be a $3 range CPLD or FPGA... but I'd need to learn how to program them first, the Propeller is up and running with a downloaded .zip file and making sure the FTDI Virtual COM port driver is installed. I would consider moving to an LPC4370, as it has 3 cores and a really fast 80MSPS ADC, so oversampling would increase the effective number of bits (ENOB)... but the processor is quite a beast to get setup and it will take me some time to get that all figured out. It would also increase the pin-count a lot, and the parts are BGA so would require advanced soldering... so less kit-friendly... less adaptable maybe.
Stay tuned for more!