Hello every one.
I have an idea which needs acquiring a analog signal and the processor board will be Raspberry Pi. Any ideas how it can be done? Any accessories or does it some external circuitry?
Please Advise.
Hello every one.
I have an idea which needs acquiring a analog signal and the processor board will be Raspberry Pi. Any ideas how it can be done? Any accessories or does it some external circuitry?
Please Advise.
@John,
Unfortunately neither of these parts will meet Srin's spec:
MCP3008 only 10 bit, Gertboard only 10 bit - but Gertboard is easy to connect to Rpi.
@ Srin, I'm going home now, where I don't do Internet, but I'll see what I can think of and let you know, probably tomorrow. It's likely to be based on ST ARM micro like STM32F3 or 4 series which you can buy on a £10 dev board or just buy chips. You get 12bit ADC, 1Mhz (per ADC, some of the chips have three) sampling rates - can easily do SPI interface to Pi.
MK
your ask regarding sampling speed is quite low, the ADC on both the above boards can run significantly faster than your needs to even though the actual ADC is not at the right number of bits you can over sample to gain that resolution
lockup oversampling ADC to increase resolution on Google. If it does not provide what your looking for then let me know, this will allow the GETBOARD or MCP3008 to meet your needs
the MSP3008 will sample up to 200K samples per second, more than enough
Peter
Have you done an analysis on the accuracy of your sensors that you want to hook up and the quantization error of your DAC ADC? You can always over-sample to get more resolution, but the accuracy will still be that same as for a single sample.
but the accuracy will still be that same as for a single sample.
That is not true. Under certain circumstances the accuracy improves with the square root of the number of samples. Take 4 samples together and you have one extra bit of accuracy. Take 100 samples, and you get a 10 fold improvement in accuracy.
The "certain circumstances" are for example that there is a certain amount of noise in the ADC results. If the ADC is perfect and the signal at say 10.4, then taking 100 samples will always result in the ADC saying "10" and averaging that will give you the value "10", not hte 10.4 that we were expecting.
There is an interesting article on eversampling on Atmel's website - look for
"AVR121: Enhancing ADC resolution by oversampling".
To gain 2 bits of resolution you need guassian noise for dithering and 16x oversampling, so for Srin's 10kHz at 12 bits the 10 bit converter needs to run at 160kHz per channel or 640kHz for 4 - way outside it's spec before even taking account of the fact that oversampling doesn't usuually give you quite the resolution gain you hoped for (because of noise issues) and does nothing for non-linearity as pointed out by Michael Wylie.
If you need 12 bits it's usually better to use a 12 bit or better converter.
The ADS1174 is a nice complete 4 channel 16 bit converter which might do - the package would be no bother for me (64pin, 0.5mm pitch) - some glue logic might be needed to talk to an RPI effectively. The alternative would be a micro with 12 bit convertoers but this still leaves to problem of anti-alaising filters to be dealt with.
I'll go on thinking.
MK
Actually, lets be clear about one thing, Over sampling in the mode we are talking about actually requires noise in order to correctly function and does indeed improve the resolution.
Absolute accuracy and none linearity is always a feature of an ADC that can be removed through software calibration if needed, and often even a 16bit ADC is no more accurate than a 10 or 12 bit one, it just has more resolution (Depends on the model of course)
even a one bit ADC can deliver a 16 or more bit solution if there is sufficient noise and you over sample
if the solution is measuring real world sensory data then typically it does not need to run at high sample rates, how quickly does Temp, Humidity, Light Level, Air Pressure etc change, not very fast so almost and ADC can handle it with significant over sampling if needed
If your trying to measure something that has a frequency up in the 10Khz range then you can add a couple of bits by over sampling 16^, and yes the Atmel Article is an excellent one.
Key point, Over Sampling requires Noise and If i remember correctly the article even suggests if your signal is too clean, then deliberately introduce some