Saturday, December 22, 2012

Some more notes on ADC’s

I haven’t had much luck getting the SAR’s to work as I’d like. Honestly, it’d work better in Rotor’s or Garmin’s arrangement, that is, if you are essentially running two independent power meters and one just transmits its findings to the master. That way it would effectively double my sampling rate. However, as it stands, I can’t process the data on the Arduino fast enough to average out the signals to reduce the noise enough. I’ve thought about bumping to 16 Mhz. Several people have done this, and so long as you maintain good voltage it should be fine, however it is officially below the minimum requirement of the Atmega328 or Atmega32u4 chips requirements for 16Mhz.

Enter Sigma-Delta.
If you spend some time looking up SAR versus Sigma-Delta there is one thing that is clear. They have very different architectures, mainly differing in an integrator and a DAC. SAR is essentially a DAC with a comparator whereas Sigma-Delta is a 1-Bit DAC / Comparator with an integrator. My understanding is that SAR samples when you tell it, little bit of a delay later you get the data, where as Sigma-Delta is continuously sampling the data but it has a digital filter that cleans up the noise. That’ll have to be the trade-off I think. doing 10ksps or 20ksps or 100ksps doesn’t matter if you need 100ksps to be averaged down to 500 to clean up the signal. If a 320 or 640 sps Sigma-Delta provides a cleaner signal in a one chip solution at a marginally higher consumption I’ll just move to the CR2460 600 mah coin cell as suggested by a few or maybe recharable Li-ion. Personally, while I’m not sure of the environmental consequences, I like disposable coin cells for this things so long as they last. The Garmin Edge 500 I have is marginally annoying that I have to plug it in while my FR60 watch lasts a year on a coin cell. I know the big power hog is the GPS, which honestly, I don’t care about.
My approach had been oversample and decimate down to what I needed. The original magnet sensor power meters only needed 1 sample / rotation. Obviously that’s not how it worked, it sampled continuously, averaged them out when it got a rotation signal, updated the values, and then updated the ANT+ transceiver.
In order to get true L/R power that’s all that is needed, but if you want to go one step further, such as pedal stroke analysis, you’ll need more.
In the new year I am going to trial the ADS1247 dual input Sigma-Delta. Seems like Proto-Advantage has breakout boards for the TSSOP-20 AND they can order the chip from Digikey and solder it for just about as much as it would cost me to order and ship a single chip. With it being almost Christmas I figure I’ll wait until after Christmas day and then get back on it. I have two weeks off from work, so I’m hoping to get some stuff done with this. Possibly force V3 to work (at gunpoint perhaps?), get a video up and the schematics and code out with a giant disclaimer.
Happy holidays to all.

1 comment: