The Lock-in amp design is based around the ADA-2200 part. Other parts of the design provide signal conditioning of one form or another. The sensor is a photodiode, chosen (perhaps naively) for its low cost, availability, and broad light range (visible light spectrum). Since I'm experimenting and learning as I go, this seemed like a reasonable approach. The output of the photodiode feeds an AD8615 opamp configured as a current to voltage converter (transimpedance amplifier). Guarding is provided around the input to minimize noise. Note that the guard trace is tied to the common mode voltage, not to ground. The AD8615 opamp was chosen because of its very low offset voltage and low input bias current. In the configuration I'm using it has a gain of one million, but other gain values are possible with a change of the feedback resistor. Since the output of the opamp is single ended (0 to 3.3V), a TLV431B provides a 1.65V common mode voltage to center the signal. There is a footprint for a low pass filter in the path, but that hasn't been needed. The signal from the opamp is fed directly to the InP pin of the ADA2200.
The ADA2200 requires a clock signal of 10KHz. This is provided by the Teensy3.0. The ADA2200 outputs an Rclk which is used to modulate the light source. For experimenting, I routed that signal to a 74LCV1G66 FET switch. In the current implementation, this signal routes to the PWM input of the LED driver. The ADA2200 also provides a Sync0 signal to drive an A/D converter to sample the ADA2200 output (the recovered signal). The Sync0 routes to an interrupt on the Teensy3.0 so it can do the sampling. The output of the ADA2200 is on VoutP and VoutN. These outputs can be sampled as either the raw signal, or after 10Hz LP filters. I am experimenting to see which signal is the most useful.
My Lock-in Amp design includes an LED and drive circuitry for it. I intended this to be useful as an experiemental light source to stimulate the photodiode, snd it works for this. But I layed out the circuit board so that the LED could be removed. This takes a saw, but it can be removed. Indeed, the pictures of the spectrophotometer show it removed. Connectors P1 and P2 are not actually intended to be connectors (although they can be), but indicate where the Lock-In Amp and the LED circuitry can be separated. Use a hack saw to cut between these two connectors.
The Lock-In Amp is designed to stand on edge so the photodiode can look directly at a light source, so the interconnects are in a row along one edge of the board. Right-angle gold square pin headers are used to mount the Lock-In Amp on a breadboard and eventually on a circuit board.
The Teensy3.0 is used to program the ADA2200 via the SPI bus, to provide the 10KHz ClkIn signal, and to digitize the output as clocked by the SyncO signal. The software to do this has been created using the Arduino environment, so it's easy to understand and modify. The Teensy3.0, Teensy3.1, or Teensy3.2 can all be used. I used the Teensy3.0 simply because I had one and it did the job. I will make the software available on github. (TODO)
The circuit board was designed using KiCAD and fabricated by OSHPark. (TODO: add OSHPark link to order board.) The parts list, with DigiKey part numbers, is posted above. I created a solder stencil using my Silhouette Portrait and 2.5 mil Mylalr. With the stencil, I put on solder paste, placed SMT parts, and used the Reflow Chateau oven to solder it. The through hole parts and the photodiode were added later. I couldn't convince myself that the photodiode would stand up to the reflow process, so I hand-soldered it.
- Make the photodiode amplifier have a selectable range of gains. Plan is easy, god lives in the details - especially guarding the input.
- The ADA2200 provides a common mode referrence signal to use to center the input (output of the opamp). I haven't tried using that.
- There is a lot to know about the ADA2200! I have only scratched the surface and can see there are many more experiments to be done to get the most out of the part.
Data sheets, MS-2624 from AD, Max tia app note. Photodiode. (TODO)
Signal Definitions and connector pinout:
|1||ClkIn ||10KHz input clock from Teensy3.0|
|3||Sync0||ADC Sample clock to Teensy3.0|
|4||/CS||Slave Select for SPI|
|6||MOSI||SPI Master Out Slave In|
|7||RCLK_MISO||Reference Clock out and SPI Master In Slave Out (SW selectable)|
|9||OutNV||Inverting Output after 10Hz low pass filter|
|12||OutPV||Non-Inverting Output after 10Hz low pass filter|