High-Frequency High-Accuracy Photodiode with Teensy 3.2?

Status
Not open for further replies.

GDouglas

Active member
Hello,

I need to measure scientific phenomena, and I'm home-building equipment that normally competes with expensive laboratory equipment, by using a Teensy instead. Basically, I need 100,000 accurate (low noise) reads from a photodiode, and I think I need to bypass Teensy's ADC.

Current Situation
I've been using one of the ADC pins with Teensy 3.2 at the moment. I purchased several Teensy 3.2 units a few weeks ago, and currently temporarily using BPW34's. I can read from them at up to 100KHz using optimized code, but the noise levels is unacceptable. I need to improve accuracy somehow.

Desired Situation: 100KHz photodiode noise-free as possible
I need a special-purpose ability to do 10KHz to 100KHz photodiode reads per second. High frequency at very high accuracy.

Trying to repurpose a Hamamatsu laser photodiode
I am attempting to repurpose a Hamamatsu laser photodiode for a purpose different than its intended -- higher-frequency photometry at low noise. Although I don't need 100Mhz-1GHz, it should theoretically be capable of fairly-low-noise 100KHz analog reads at very high analog precision. Alternatively, I have procured a variety of photodiodes available, including good old BPW34's (quite noisy) to expensive $10-to-$30 Hamamatsu laser photodiodes (the kind that can do analog cable over fiber optics; 1GHz analog bandwidth).

How?
How would I go about connecting a Hamamatsu laser photodiode (e.g. S-6468, datasheet, or S-597X series, datasheet) to a teensy? It has 3 leads and has its own preamp. I suspect I'd need an external ultra-high-quality ADC of some kind, and then transmit the readings via SPI to a digital Teensy pin. 100,000 reads at 16bits is only 1.6 megabits per second, well within SPI bandwidth capabilities. I've never done SPI before, so I'm a little lost. These photodiodes are designed for high-speed photometry, and should be able to provide low noise but I need ADC accuracy far beyond Teensy's. I could handle an ordinary op-amp with a plain old BPW34 photodiode, but the Hamamatsu laser photodiodes are almost overkill (for good reason) and I'm not sure what supplemental component selection will work well with them.... While originally designed for laser communications, they are also advertised for high-speed photometry, and would have the ability to be a ultra-low-noise 100KHz photodiode with the proper additional components.

Opinion -- what's the best way to get high-frequency accurate analog reads into the Teensy at 100KHz leagues? (i.e. Some unusually accurate external ADC that can send data via SPI?)
 
Last edited:
Usually low noise readings results from clean power supply with good filtering, separation of analog power and ground from the digital domain, correct cabling and signal routing combined with stable reference voltages for the ADC and the photodiodes. If this is well done even a modest ADC can give good results, and if its not well done then the most high spec ADC will produce noisy readings.
 
Thank you!

For field tests, I need to be able to connect off a random 5 volt USB port, so it appears I will need to build my own highly filtered power supply that piggybacks off USB -- e.g. random laptops, computers.

What's the best and/or easiest way to get ultra-low-noise power supply from a generic USB port? (for say, under $10 per unit for 10-devices, ideally -- though willing to go above). I've only used generic filtering techniques, but I think I'll have to go way above-and-beyond now.

I'm open to component idea/recommendations. I know I'm spending way more than the price of the Teensy on the follow-on components anyway, but the costs certainly add up when I'm building a few sensors for field use.

If anyone has experience with a specific high-precision ADC configuration for high-speed-than-usual photometry. My expectations are set to 100KHz (which is easily handled by current Teensy's; although accuracy is problematic). It would be a bonus if I could have an eventual/gradual path to 500KHz or 1MHz photodiode-readings capability (in the future), perhaps achievable with the 180MHz Teensy with an external ADC. But for now, I need 100KHz at maximum possible accuracy achievable cheaply.
 
Last edited:
I'm researching.

Would an LT3042 be suitable? datasheet. It's about $4-$5 each (in mini quantities) and has less than 1 microvolt variance.

I'm running off USB 5 volts, and could probably do an ultra-low-noise 3.3V reference from an LT3042, I'd hope.

Or should I get something better? I'd rather go overkill, just in case.

(I still have to find an external ADC, as I'd rather isolate the Teensy internal noise from the photodiode. I presume LT3042 would be extremely clean for a Teensy, but might not be good enough for me to use the internal ADC at 100KHz due to internal Teensy noise...)
 
Last edited:
Are you connecting the BPW34 directly to an analog pin? Unless you go with the S-6468 (which is a 5v device, btw), you would need a buffer op-amp with a very high input impedance (j-fet such as a TL072 or better).
Use a clean supply for the op-amp - the onboard 3.3v supply may do with proper decoupling

Sometimes, adding a load on the output of the op-amp helps, such as a 470ohm r to ground

Marc
 
You haven't said how much noise you are seeing, how you connected the photodiode (whether you used an amplifier in the first place), what your noise expectations are or what your signal strength is.

If don't you have a very good analog design, the Teensy ADC may not be the issue at all.
 
I would use a differential input ADC, a low pass filter and as much oversampling as possible.
 
If don't you have a very good analog design, the Teensy ADC may not be the issue at all.
I'll definitely focus on cleaning up power first before I decide not to use the ADC.

Are you connecting the BPW34 directly to an analog pin?
Originally I was, but a good old 741 op amp and filter capacitors/resistors isn't cutting it either to the specifications needed.
And I don't feel the 3.3V is enough for this.
My next step is to truly clean up the power supply as much as I can (maybe going with LT3042 or something else).

Purpose:
High speed photometery. Like the astronomy ones, but I need it for very different (more terrestrial) experiments.

Spec:
I'm needing to do highly accurate noiseless 100KHz light reads a second on ambient lighting on a linear range of roughly 0lux through ~200lux with less than 1 in 1000 parts error for each 1/100,000sec read -- where shot noise is isolated to become the main error factor. Yes, very specialized purpose. I'm mimicking a subset of a range from a expensive piece of lab equipment (high speed photometry), even at somewhat reduced accuracy (preferably not), as cheaply as possible. I need to see non-varying reads (as noiseless as possible, perfect flat line) for known-steady light sources, though. Ideally, I'd like to begin with ~100KHz with no variance in 12bit reads (absolute minimum possible noise found in 1 in 4096 granularity -- the 12bit ADC -- for the budget afforded). I need to measure dim lux very accurately at very high frequencies at fractional levels. There's no floor to how much accuracy I'd like to achieve -- I'd ideally prefer less than 1 in 10,000 varation (less than 0.01% erratic noise) for light reads, though shot noise prevents that at the lower lux range. I don't know if that is achievable on this budget. We shall see... It needs to also work with lower light intensities too sources where low-lux noise (photon noise) is actually an error factor during the dimmer range of the reads. Loosely speaking It's commonly in lighting conditions that require half-second smartphone exposures to produce acceptable images. At this point, shot noise (photon noise) becomes an error factor and I'm having to use a lens in front of my photodiode to focus more light onto the sensor to reduce the shot noise error. But right now, my power appears to be a far bigger factor at the moment. And it needs to be able to map accurately to lux, too (even if I have to use a lookup table to do so).

I know how to use certain kinds of high speed photometers in a lab setting, and I can create PC apps, but building my own hardware from scratch is still new to me, and challenging to get the accuracy levels needed. But the savings is huge as even $100 is less than one-hundredth price. For example, I'm totally happy to buy a $20 photodiode and a $20 ADC and a $20 light-focussing lens (or repurposed SLR lens), etc.

Will keep you tuned. I've never cleaned up the power supply before with fuller isolation mechanisms, definitely a newbie boo-boo for me.

Frankly, I am shocked how noisy USB power is. But I need to work off standard USB ports because the Teensy also realtime co-operates with a PC application. So I take what the laptop/computer/PC gives me, and I have to clean up the power as much as possible. Which is why I sorta want to isolate the ADC from the Teensy ADC, with ultra clean power (LT3042 or similar) powering an external ADC and photodiode, to attempt to reduce my primary error margin down to shot noise. I'm still open to ideas of external ADC suggestions, too. I have a nagging feeling I probably need to also up the ADC game, too. I'd be shocked if the Teensy ADC is as good as a >$10K high speed photometer but I am also open to being pleasantly surprised. So that more of my error margin is purely shot noise (simple photon noise). I will attempt the internal ADC, but I'm hobbled by the absolute unremovable requirement of a realtime USB connection to a computer, and I am forced to to accept the computer's noise.

My intended experimentation sequence is to clean up the power, and:
- Attempt BPW34+TL072 (easy, as TL072 appears to be like a 741 but better), powered off LT3042
- Attempt Hamamatsu S-5973 (3.3V), powered off LT3042
- If accuracy still not good enough, attempt to isolate ADC from Teensy (use external ADC), so that ADC+photodiode is on its own minimal ultraclean-power circuit (still need to research external ADC)

(Hopefully I don't need an external ADC, but ideas still welcome)
 
Last edited:
Let's say you want to measure 1-200 lux and have .1% resolution, even at 1 lux. That normally requires 17.6 bit, 100 Ksps ADC, which you aren't going to achieve. Adjusting aperture on a lens will help significantly. For example, if the light seen by the photodiode is always about the same level, then 12 bits is enough.
 
Last edited:
Let's say you want to measure 1-200 lux and have .1% resolution, even at 1 lux. That normally requires 17.6 bit, 100 Ksps ADC, which you aren't going to achieve. Adjusting aperture on a lens will help significantly. For example, if the light seen by the photodiode is always about the same level, then 12 bits is enough.
The range is adjustable, yes, so I don't need .1% accuracy over the entire range. However, .1% with proper aperture is only 1 in 1000 which only requires a 10-bit ADC. But that's assuming perfectly adjusted config (lens, aperture or ND filters).

What I'm saying is sometimes I need to focus on 0-10lux at .1% (1000 fractional levels between 0 and 10), but sometimes I want to reconfigure it to 0-200lux at .1% (1000 fractional levels between 0 and 200). Ideally I'd like to achieve 0.01% (~13-bit precision). Ideally, I need to be able to accurately target a lux range for different situations, without too much complexity... The devil is in the details, alas!
 
I'll definitely focus on cleaning up power first before I decide not to use the ADC.
Are you connecting the BPW34 directly to an analog pin?
Originally I was, but a good old 741 op amp and filter capacitors/resistors isn't cutting it either to the specifications needed.
It's not surprising you have bad results. That thing has specs that are horrible beyond belief and isn't suitable at all. You need a high-performance op amp with very careful design.

Spec:
I'm needing to do highly accurate noiseless 100KHz light reads a second on ambient lighting on a linear range of roughly 0lux through ~200lux with less than 1 in 1000 parts error for each 1/100,000sec read

That's going to be around the maximum you can get out of the Teensy ADC @ 100kHz.

200lux is seriously dark and those other photodiodes with pre-amp that you mentioned won't be very suitable. They don't have enough area. From I saw, their larger sensors with pre-amp are way too slow.

Frankly, I am shocked how noisy USB power is.

It's not necessarily that bad. Turning off USB data makes a significant difference with analog noise (set USB type to 'no USB'). You could use a USB - serial or USB SPI converter (could be a Teensy LC).

But I need to work off standard USB ports because the Teensy also realtime co-operates with a PC application. So I take what the laptop/computer/PC gives me, and I have to clean up the power as much as possible. Which is why I sorta want to isolate the ADC from the Teensy ADC, with ultra clean power (LT3042 or similar) powering an external ADC and photodiode, to attempt to reduce my primary error margin down to shot noise. I'm still open to ideas of external ADC suggestions, too. I have a nagging feeling I probably need to also up the ADC game, too.
Before you worry about the ADC, you need to seriously improve amplification. BTW, Analog has a very nice Photodiode design wizard, that could help you get started.

The BPW34 doesn't look bad at all actually (it has a very large sensor area), it seems you can get 15bit ENOB out of it (set up for 200lux or 1.6W/m2, 100kHz), with 2-stage amplification (if the modeling will work out in the real world).

In terms of ADC, there is a lot you can do wrong designing your own board. Analog has some quite reasonably priced eval boards, that look quite interesting (and are the only cheap boards with fast ADCs that I have seen):
https://wiki.analog.com/resources/eval/user-guides/circuits-from-the-lab/pulsar-adc-pmods
https://www.digikey.com/product-det.../EVAL-AD7982-PMDZ/EVAL-AD7982-PMDZ-ND/4875932

(The pictures / documentation may be confusing. The boards are double-sided with components on each side.)

They already have an op-amp that would not be great by itself, but it would work very well with a AD8656 before the input: BPW34 -> AD8656 -> ADA4841-1 -> AD7982.
 
Yeah, I'm learning obviously. Low noise power supply and better opamp, that message was received loud and clear. Thank you!

Veteran programmer here, but playing with Ardunios/Teensys (and having fun) for the first time to try to copycat a normally-expensive piece of kit (at least the desired subset of its features).

I'm placing a lens to help with collecting more light onto the photodiode surface -- this helps greatly. The smaller/cheaper/easier lens the better, but I'll use a large discarded SLR-type lens assembly if I have to... For brighter lux situations, I don't really need the lens at all, but it may become needed for the low-lux-range situations.

That's going to be around the maximum you can get out of the Teensy ADC @ 100kHz.

I'm already achieving 100KHz photodiode reads per second with my optimized code (I've been programming for 20 years) even on an older Teensy 3.0 which has since been replaced by the faster 3.2 unit. If I need be, I can be a reasonable genius with threads, assembly, inlined code, and optimization tricks, but it is hardware design that I'm absolutely terrible with (at the moment).

At 100KHz it's rather noisy at that read speed. The read frequency is adjustable, 10Khz, 25Khz, 50KHz, 100Khz...

It's not necessarily that bad. Turning off USB data makes a significant difference with analog noise (set USB type to 'no USB'). You could use a USB - serial or USB SPI converter (could be a Teensy LC).
Hmmm, two separate microcontrollers, that's an interesting concept I need to think about. One to handle communications (directly connected to USB for communications & power) daisychaining off via SPI to a Teensy 3.2 running on perhaps its own isolated power supply (e.g. LT3042 or similar) collecting photodiode data via a better opamp (e.g. TL072 or similar) directly to ADC.

15bit ENOB out of it (set up for 200lux or 1.6W/m2, 100kHz)
If I can make that work, that would eliminate the need for an adjustable aperture or ND filters (for brighter-light operations).

15bit ENOB 0-200lux translates to still more than 10bits ENOB for 0-10lux range, which still is enough for the 0.1% stepping (1 to 1000 that I need). I'd get multiple selectable lux ranges with acceptable error margins, while simplifying the construction of a few devices I need to build... Sometimes I just want 10-bit accuracy for 0-200lux -- that's easy (at least with a big enough lens, of course)! It's achieving even just 10-bit accuracy at 0-10lux -- that's harder. And making the same equipment be easily switchable to do both ranges during different measurement runs -- that's even harder. But that's kind of what I really need to do.

Obviously, this is only if I can make it work, e.g. I might actually only get 12bits equivalence and need to re-range the lux range whenever I need to -- via lens/apertures/ND filters. (extra $$ and labour)
But I'd like to avoid that, and select lux ranges 100% electronically, if I could at all...

Photodiode design wizard
Fantastic, where was that link when I needed that last week [!]

In terms of ADC, there is a lot you can do wrong designing your own board. Analog has some quite reasonably priced eval boards, that look quite interesting (and are the only cheap boards with fast ADCs that I have seen):
https://wiki.analog.com/resources/ev...lsar-adc-pmods
https://www.digikey.com/product-deta...MDZ-ND/4875932
That would make my job a hell lot easier if I decided to go external ADC. I'll try the Teensy internal ADC first, with superior power filtering & amplification first.
 
Last edited:
I'm already achieving 100KHz photodiode reads per second with my optimized code.
The full context was:
I'm needing to do highly accurate noiseless 100KHz light reads a second on ambient lighting on a linear range of roughly 0lux through ~200lux with less than 1 in 1000 parts error for each 1/100,000sec read
That's going to be around the maximum you can get out of the Teensy ADC @ 100kHz.
Getting a few hundred kHz conversion speed is not the issue, getting the accuracy is, since you are limited with the conversion speed setting and averaging.

At 100KHz it's rather noisy at that read speed.
The 1/1000 is what you can expect with a good analog design and low noise power.
 
Last edited:
Op-amp/components
Based on the photodiode designer, I've now settled on dual ADC8675 op-amps for good 100KHz operation (target; with enough flexibility to test higher frequencies with Teensy 3.6 later). Thin film 0.5% resistors and C0G filter capacitors as suggested by the photodiode designer.

Clean power
Still trying to decide on this -- power filtering/voltage reference as I've discovered the LT3042 is a bit harder to prototype with due to the bottom-surface ground (no equipment to solder beyond simple surface mounts).
 
Last edited:
For your clean power. Have you tried a switching regulator followed by extra filtering and a linear regulator to isolate the noise from the switcher. Boost the USB power up to say 15-18v then regulate with a 12v linear. Additional filtering may be obtained by a 'capacitor multiplier' circuit. First few hits from Google give good info on this technique.
 
I had good results (about 15 bits with an external 16 bit converter) using that design wizard. Probably not immediately obvious is that amplifying to a high (12-20V) voltage and then reducing it down with a resistor voltage divider just before the ADC helps transimpedance amp SNR (by about 2 bits). Because of the high PSRR of the op amp, power supply noise isn't as important as you might think (although I did use a switching power supply followed by a linear).
 
Last edited:
Any design wizards specifically for designing circuit board power supplies? I'm having difficulty selecting components based on looking at datasheets, and I'm looking for guidance on component selection at this stage --

Ideally something that is also easily prototypeable at first for testing. I'm going to test without, then add the stage and watch what happens to noise levels (to be able to gauge amount of SNR improvement) as I further improve power cleanliness.

I hadn't thought of using a higher voltage to improve SNR. (I'm afraid of frying the Teensy!) Also, how does resistive voltage dividers affect the linearity of readings? I don't want to introduce too much nonlinear behaviour, given my need to be able to reliably map light readings to light intensities.
 
I also hang out in sci.electronic.design, usenet or by google groups. There are some expert folks there like Win Hill who wrote an excellent reference 'Art of Engineering III' available on Amazon gives good recommendations on circuit design for us self educated types. Another fellow there PCD Hobbs is into light measurements and he references the cap multiplier for reducing noise on power supplies. I also think he mentioned the switcher folled by the linear regulator trick to remove switching noise in power supplies. He also has a reference book related to building opto-electronic systems.

I am in the habit of using higher voltage for opamps as I know they perform better at higher voltages. To prevent frying the Teensy I add a series resistor (about 500-ohms) folowed by clamping diodes to prevent the output from swinging outside the range of the Teensy. In my use the op-amp inputs are usually preceded with a resistive divider and I use the op-amp to buffer the signal and provide a lower impedance drive to the Teensy analog inputs. The lower impedance is less susceptable to noise than a higher impedance and it also minimizes the effects of creating another voltage divider with the Teensy ADC input impedances.

In my past life I worked in semiconductor memory development before being 'sent out to pasture'. I now work at an LED lighting company developing test fixtures for their products.
 
Lots of capacitance helps PS noise. And keep switching power supply switching speeds far above your frequency of interest (so that ripple is easily filtered out). This is worth reading.
http://www.ti.com/lit/an/snoa543a/snoa543a.pdf

Re a voltage divider: small value resistors (which are also better for noise) with a high input impedance ADC will be quite linear. Or you can correct in software.

The AD8675 works with +15V and with the right divider values (13:1?), will always be safe for the teensy or other ADC input - no clamping diodes needed.
 
Last edited:
'Art of Engineering III'
"The Art of Electronics", Third Edition?
Thanks for the info. I'll have to order that one, it sounds like the perfect book for what I'm diving into.

The AD8675 works with +15V and with the right divider values (13:1?), will always be safe for the teensy or other ADC input - no clamping diodes needed.
The 8675 is a dual-rail opamp, specified from +/5V to +/-15V, so I need to take that into due consideration. I could use min 0 to 10V, but I already know I'll be working with voltages extremely close to 0, so I would get best results with dual-rail. So for me, power is going to be the most complex part of this electronics circuit.

To help me out here, I'll need to keep the Teensy connected to USB, and still safely simultaneously do higher-potential dual-rail power to the op-amp. So I'll not bother using filtered power to the Teensy (for now...), only for the opamp.

I think I'm going to need to experiment/learn with them standalone before I begin building the whole circuit. One that is easily breadboardable/perfboardable too? Also, I'm now equipped to solder 0603's and 8SOIC's but a component similar to LT3042, I'm not currently equipped to be able to solder them (without additional equipment). Initially I'll probably aim at +/- 5V (if simpler) or move up to +/- 12V (for better ENOB).

-- Where can I read up on the best example schematics for ultra-low-noise dual-rail power supplies with reasonably high PSRR factors?
-- Are there some compact prebuilt prototyping modules (for low-power-drain applications) I can also use too?

I realize the breadboard will be a noise limiting factor, but I need to play first before I am comfortable building the whole circuit involving the Teensy.
 
Last edited:
Might be worth it to try using this one. Compare the results to two 9V batteries.
That's a great idea, I could even begin to play with my 8675's today that way (they've arrived, but I have no good dual-rail power supply yet)

It's been a long time since I've played with building power supplies from scratch -- back in the transformer days (!!). Huge progress since then.

Might be worth it to try using this one. Compare the results to two 9V batteries.
Fascinating, now I discover that eBay has tons of dual-rail power supplies for cheap -- even including ones with a pair of pricey LT3042s.
I just search for the linear regulator I want to play with, and eBay comes up with dozens of sellers with the defacto equivalent of an "evaluation board" for it, but for cheap. I learn something new.

So I might not need to initially build the power supply portion of my circuit from scratch right away, after all -- for a small run -- or at least use it as a template before making a full single-board prototype from scratch. They may have imperfections (optimized for audio, longer conductor traces, overkill sized capacitors, etc) but it would help teach me on noise profiles (noise in dim measurements, etc) and what works/doesn't work without having to build the power supplies from scratch...yet.

I'm going to probably order a variety of cheap ones ($3) to stock my workshop for experimentation. And some higher-quality lower-noise linears. And maybe one LT3042 board for comparison too.

Any specific recommendations on good ultra-low-noise linear regulators I should include in my slate of experimentation?

P.S. In LT3042 power supply on eBay, the capacitors for the LT3042 are unusually big but I assume that's simply because it needs to handle alternating-current input voltage, which I don't. A pair of LT3042s are preinstalled on the bottom side of the board, but capacitors are DIY solder-on. If I could just omit installing these capacitors (or use much smaller sizes, like a couple of tantalums) and directly connect via direct pins from my board (...no connectors...) from the USB power instead -- I wonder if this LT3042 "evaluation board" would successfully function as a single-rail +5V to dual-rail +/-12V power supply converter with sufficiently ultra-low noise specs acceptable for my needs. Minimum voltage is 1.8V. I'd buy only one unit, and then compare it against cheaper power supplies to see if the cost premium of the LT3042 mattered significantly for my use cases. 80db PSRR at 100KHz and sub-microvolt variance could end be worth it.
 
Last edited:
You don't necessarily need the negative rail for the op amp. You could bias the photodiode.

I did try LiIon battery power for Teensy, both connected to Vin and 3.3V (bypassing the regulator). I also tried adding some power supply caps. It didn't help with ADC performance, no difference compared to a decent USB power supply (USB data turned off).
 
Say that the op amp or ADC used has -56db of PSRR. As I see it, that means you can have -40db of power supply ripple and still be fine with a 16 bit ADC. I expect that you can achieve this without a linear regulator and certainly without an ultra-low noise linear regulator.
 
You don't necessarily need the negative rail for the op amp. You could bias the photodiode.
I actually found info about this already, so I may actually do that as long as I can have a very accurate zero level (<0.1% light level measurement error for constant-light. e.g. 1 second averaged). I need to understand how to get an accurate zero calibration, with the dual-rail and single-rail approaches. Regardless, I need a 10 volt potential difference for the AD8675 -- +/-5V can work with single-rail 10V.

Also, given the AD8675 is +/-15V limit, in theory I could do single-rail 30V for it, get a lot more signal above noise from the BPW34, but now I'm seriously risking frying something by accident.

Of these power supply options:
- Dual +/-5V
- Dual +/-12V (safety margin)
- Dual +/15V (best ENOB, no safety margin)
- Single +10V
- Single +15V (max spec
- Single +24V (safety margin)
- Single +30V (best ENOB, no safety margin)

...The boards I'm now ordering are all capable of most or all the above (both by reed potentiometer, as well as replaceable components). Regardless of the resistor divider, I'll use a clamping zener diode where needed (i.e. the ADC input) to prevent dangerous "newbie-mistake" voltages getting into the Teensy -- hopefully this is sufficient isolation.

Decision Point: Assuming I could experiment with all the above, which voltages are worth trying with a BPW34 -- in other words, which ones are easy and which ones are too risky/has too many cons?

Say that the op amp or ADC used has -56db of PSRR. As I see it, that means you can have -40db of power supply ripple and still be fine with a 16 bit ADC. I expect that you can achieve this without a linear regulator and certainly without an ultra-low noise linear regulator.
It's good to know where my priorities lie -- I am inclined to agree -- I am looking forward to experimenting once the remaining components arrive. Direct USB power (from a variety of sources), simple linear regulator, ultra-low-noise regulator, and see what happens to S/N of dim measurements. Having these ultra-low-noise power supply 'evaluation boards' from eBay will still be useful for my future projects, once I determine what kind of power supply cleanliness is 'good enough' for a future 10-unit run.

Meanwhile, I tested a Hamamatsu photodiode which has excellent PSRR built into it and works stable unfiltered 5V USB (which I will be pitting against the BPW34) without the op amp. It results in inverted measurements (high ADC readings for dark, low ADC readings for bright). And it reads nearly exactly the same values no matter whether I sample at 100Hz, 1000Hz or 25KHz
(albiet at slightly increased noise at higher frequencies) making it easy to calibrate ADC numbers to lux readings (unlike for BPW34 which seems to have more resonant behavior). But very poor light sensitivity. All in all, mixed results (some great, some not great) but it survives to a future op-amp trial: It looks like I'll need to get further gain from it for it to be useful to me. Without op-amp yet for further gain on either, the BPW34 is still the winner at low light levels. Also, USB data signalling still shows up in the measurements even with the Hamamatsu -- I can even see data deviations on the ADC corresponding perfectly to Serial.send_now() -- which I can't attribute to the Hamamatsu itself.

I may, perhaps, end up needing a programmable-gain amplifier, but initially I'll go with the AD8675's since they've arrived already (sans power supply components).

Decision Point: Solving USB data noise
Due to the need to connect to random computers (laptops and desktops of varying capabilities) in realtime, simultaneous USB data and photodiode is an absolute mandatory requirement for my project. I've done enough experiments to determine that a bigger "noise" priority is to somehow separate ADC processing (e.g. 2nd Teensy) from the USB stream. So I may be stuck using a separate ADC than USB signalling, so my choices now appear to be:
-- Two Teensy microcontrollers (one for USB, one for ADC)
-- Teensy + external ADC (communicating via SPI).
 
Last edited:
Status
Not open for further replies.
Back
Top