I find it almost hard to believe 17 months have passed since I ordered that little Public Lab spectrometer kit, the evolutionary processes associated with all this, is coming to a head finally! I think I have revised this design 4 times, several phases have seen their fair share of failure and disappointments but I have not given up and the payoff is shimmering over the horizon.
This is revision D4 (yeah, I know,) both for the main board (8-bit CCD detector) and the turret control interface panel. My over sight on the two, a unique aspect of DesignSpark to keep in mind when working with it, is to pay close attention if you are using the “manual component placement” feature, what can happen is, a track can disappear from its rightful place and end up where it does not belong or not at all!
I did this twice when ordering the PCB’s until the other day I inspected the board itself in the light and noticed that a ground run was totally missing from the L7805 voltage regulator at pin# 2. I looked back at the original PCB in DesignSpark and the track was missing there also, man was I pissed. Well needless to say I rectified that situation with revision D4 by removing the entire analog section on the board (8- bit CCD detector,) still implementing the power input but now it will be routed from the Arduino 2560’s 5vdc power supply itself, you’ll see what I mean later.
The turret control interface panel is completely redesigned along with the 4-button control board for the LCD panel. The Arduino 2560 is mounted now on the right side of the spectrometer unit. This will give flexibility when the turret control interface panel is mounted underneath the unit (everything is self-contained within the tightest space possible).
This will give the spectrometer full mobility with only a few external (and necessary,) accessories, such as one 12vdc 3A power supply, laser collimation tube W/fiberoptic mount, and broadband collimation tube (for absorption spectra). The laser collimation tube assembly and broadband assembly are my design and are in part built from pieces acquired from plossel telescope equipment, as are the lens optics, an accost savings on my part since I already had them, but they can be bought at reasonable prices from various surplus vendors online.
Now let’s get into some of the revisions, first up is the 8-bit CCD detector (TCD1304DG)
|Feature||3V single power supply voltage / Electronic shutter (ICG) function|
|Application Scope||Barcode readers|
|Classification||Lens reduction type|
|Number of pixels||3648|
|Pixel size (µm)||8×200|
|Internal circuit||CCD timing generation|
The sensor is driven directly by the microcontroller, in this case the Atmega 1284P and the analog output is buffered by a transistor and an op-amp. The signal is digitized by an ADC0820 analog to digital converter.
The ADC0820 has + and – reference inputs, and this design takes advantage of them. A pot is used to set the maximum range of the ADC, and another pot sets the minimum range. In this way you can tune out the unused portion of the range and get all 256 values from the ADC.
The Mclk signal sampling rate is 470kHz on this version.
The code gets all the pixels read in @ 32mS. It reads 3694 pixels, but the first 30 and the last 16 are dark reference or dummy pixels and are discarded.
The Arduino 2560 is the heart of the turret control assembly, and the LCD panel display. I wanted to drive both assemblies using one MCU (Atmega 1284P) but the CCD circuit uses too much of the internal ADC’s resources and memory and just couldn’t handle driving the stepper motor circuit also. The Arduino 2560 is still an underrated little powerhouse though, in my opinion, it has exceptional amount of interrupt inputs and digital and analog ones as well, which worked out well for this project.
A quick note about the LCD display, LCD Display Yellow 2004 (20×4) IIC, I2C. a pretty slick set up from YourDuino.com only 4 wires, PWR, GND, SDA and SCL. This frees up a lot of inputs on my boards.
A feature which makes my spectrometer unique is the fact that it utilizes a triple turret grating assembly, it can accommodate three different holographic diffraction gratings of varying line resolutions, thus giving me or any operator the ability to choose wavelengths on the “fly,” the resolution factor will still have to be tested but this is a critical factor in Raman spectroscopy, we are dealing with very weak signals and every aspect of this design must be exact and precise.
Another important feature is the 3d printable aspect, a technology which has thankfully evolved to a point where a project like this is possible, a caveat though, at least with the precision that is required to maintain a clear Raman signal. In my design I utilize POM (Polyoxymethylene). It’s an engineering thermoplastic used in precision parts requiring high stiffness, low friction, and excellent dimensional stability. As with many other synthetic polymers, it is produced by different chemical firms with slightly different formulas and sold variously by such names as Delrin, Celcon, Ramtal, Duracon, Kepital and Hostaform.
Still, even with this type of higher end material don’t be fooled into thinking that your parts will be any match for a finally machined metallic component with a tolerance of 0.0001! So, I compensate for this irregularity by superior optics and some machined parts from ThorLabs (there is just no work around on these one folks,) The advantage though with using 3d printable components are that you can design them exactly to your custom needs, no longer having to spend hours online searching for that “right” part that you envision.
I use FreeCad v0.16 it’s easy to learn and I know it inside and out now.
Next, I want to illustrate some key design changes I made to this project, and explain some of the reasoning behind it, number one is;
By this I mean exactly what the name implies, a smaller more compact design, the LCD control panel is located on the front face to the right and has a 4-push button interface, all commands to the turret control are entered through the LCD control panel and processed by the Arduino 2560 mounted on the right-hand side.
The laser collimation tube with the fiber optic cable mount, is designed to be rotated in and out of the cuvette holder’s front face so no need for fastening an elaborate set up to illuminate a sample.
The internal optics of the collimation tube have been calibrated beforehand and sealed in place.
Same situation with the broadband collimation tube assembly, it is fitted with a number 03/0.30mm/1.25” variable adjusting polarizing filter which accommodates a Solux 50W/4700K Halogen lamp for conducting absorption spectral analysis.
At 241 x 165 x 107 mm, this makes it highly portable and light weight. (Total Wt. still to be determined). A separate aluminum case slightly smaller, carries the accessories.
Think about this for a moment, you’re a startup company and you need serious lab equipment but you have a tight budget and Raman spectrometer would generally be way out of the question considering its so cost prohibitive.
Here is an example of the average cost for the lower end Raman spectrometers including their respective laser wavelengths; StellarNet
These are just your basic Raman systems in use today and these are the “low” end ones.
- Total cost of the DAV5 Raman 3d printable spectrometer
Of course, this is if you build it yourself, including the accessories. Still a better prospect for a startup or a developing country in desperate need of such technologies.
Ok, I promised earlier that I would talk about how I’m going route the interface board with the CCD detector and forgo placing a power jack on the detector board itself. We will first check out the illustration below in figure.1 which is the PCB for the interface board.
Figure.1 Motor control interface board for the diffraction grating turret controller.
On top you’ll see a 33/33 pin header with PL2 (terminal point for the LCD display and PL1 GND and PWR, GND is routed to three terminals on the 33-pin header for the 3-main indicator LED’s. and three 466-ohm resistors, also there is the 50K trimmer POT connected to A0 to monitor and change the MCU’s internal ADC value which in turn directly affects timing of the stepper motor.
Here in Figure.2 if you look to the left there are two arrows pointing to a six-terminal header, this is usually reserved for a servo motor but in this configuration, I am using the GND and 5vdc pins to power the turret control interface panel, while the red and green wires towards the bottom run 5vdc to the CCD detector board.
This way I only must plug in one 12vdc power supply into the Arduino 2560 and I can power on everything needed. There are more than enough amps at both terminals to get the job done comfortably, don’t believe me?
Ha, I already know that it works! The stepper motor only pulls more amps when it runs longer and it doesn’t, it only runs when activated. So, 0.25mA is sufficient at that end. Now as far as the CCD detector, it runs at approximately 0.093mA – 0.100mA and the Arduino 2560 can handle it.
Now in Figure.3 below we see how the Arduino 2560 is mounted on the right-hand side of the enclosure
In Figure.4 you will see how the interface panel will be mounted underneath the bottom of the enclosure
The front view here shows where the LCD control panel will be placed (to the right) and then routed to the interface panel underneath the unit.
Top view of the focal lens (left) and the diffraction grating mount turret (holographic).
As you may be wondering why there is only one diffraction grating mounted on the turret, cost, each holographic diffraction grating that I use cost $73.50 (ThorLabs) it has a blaze angle of 39.7 degrees and has 1800 ln/mm resolution. Right now, I only require one, in the future I can always upgrade and increase the gratings.
From an earlier article I wrote, My Research and The Science Of a Stroke I wanted to expound on a few points that I should have about why Raman spectroscopy is important and what it can tell us. I know we talked about inelastically (lacking flexibility,) this can be confusing, and still is to a point, so I’m going to provide this figure to illustrate it a bit further
When photons are scattered from an atom or molecule, most photons are elastically scattered (Rayleigh scattering), such that the scattered photons have the same energy (frequency and wavelength) as the incident photons. A small fraction of the scattered photons (approximately 1 in 10 million) are scattered by an excitation, with the scattered photons having a frequency different from, and usually lower than, that of the incident photons.
In a gas, Raman scattering can occur with a change in energy of a molecule due to a transition to another (usually higher) energy level. Chemists are primarily concerned with this “transitional” Raman effect.
The inelastic scattering of light was predicted by Adolf Smekal in 1923 (and in German-language literature it may be referred to as the Smekal-Raman effect). In 1922, Indian physicist C. V. Raman published his work on the “Molecular Diffraction of Light,” the first of a series of investigations with his collaborators that ultimately led to his discovery (on 28 February 1928) of the radiation effect that bears his name.
The Raman effect was first reported by C. V. Raman and K. S. Krishnan, and independently by Grigory Landsberg and Leonid Mandelstam, on 21 February 1928 (that is why in the former Soviet Union the priority of Raman was always disputed; thus, in Russian scientific literature this effect is usually referred to as “combination scattering” or “combinatory scattering”). Raman received the Nobel Prize in 1930 for his work on the scattering of light.
What can Raman spectroscopy tell us?
These are the capabilities of this technology, and with the advent of 3d printing and 21st century design software, projects such as mine and others like it, will continue to provide fresh innovations for the market place, and a vehicle for the citizen scientist to deliver technological modernization to under developed regions in desperate need of it.