Netduino home hardware projects downloads community

Jump to content


Photo

analog to digital conversion


  • Please log in to reply
12 replies to this topic

#1 allen

allen

    Member

  • Members
  • PipPip
  • 21 posts

Posted 09 March 2012 - 01:40 AM

I've got a signal coming in with voltages in the millivolts. Currently the analog port on my netduino plus only has a 1024 resolution and I need a lot more than that. What are my options?

#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7165 posts
  • LocationNew York, NY

Posted 09 March 2012 - 02:20 AM

Hi allen, The low-end of the ADC for Netduino's SAM7X MCU is around 2.7V, and the analog resolution is "within a few millivots" per unit... For this application, you'll want to use an external ADC chip designed for such small readings (and accuracy at those readings), and then drive it via SPI or I2C. Chris

#3 Robert L.

Robert L.

    Advanced Member

  • Members
  • PipPipPip
  • 100 posts

Posted 09 March 2012 - 02:40 AM

Hi allen,

The low-end of the ADC for Netduino's SAM7X MCU is around 2.7V, and the analog resolution is "within a few millivots" per unit...

For this application, you'll want to use an external ADC chip designed for such small readings (and accuracy at those readings), and then drive it via SPI or I2C.

Chris


A better idea would be to add an external operational amplifier to increase the voltage to a range the N+ can accurately convert.

#4 Magpie

Magpie

    Advanced Member

  • Members
  • PipPipPip
  • 279 posts
  • LocationAustralia (south island)

Posted 09 March 2012 - 03:25 AM

Currently the analog port on my netduino plus only has a 1024 resolution and I need a lot more than that.


Or probably a combination of both.
  • Get a 12 or 16 bit ADC that talks SPI or I2C, preferably one that somebody has already written Netduino code for.
  • Work out what its analogue input requirements are
  • Use some linear circuitry ( op amp) to bring the raw signal into this range, in such a way that you use the full extent of the range.

STEFF Shield High Powered Led Driver shield.

#5 allen

allen

    Member

  • Members
  • PipPip
  • 21 posts

Posted 09 March 2012 - 04:15 AM

so to get 16bit or higher resolution are there any ADC's out there that you would recommend that might have netduino code written for them? I assume I'd have to use an ADC and connect it to some of the digital pins on the netduino+? The amplifier sounds fine, I just need really fine grained resolution on the conversion. At least 64k (16bit) possibilities instead of the netduino analog 1024.

#6 Mario Vernari

Mario Vernari

    Advanced Member

  • Members
  • PipPipPip
  • 1722 posts
  • LocationVenezia, Italia

Posted 09 March 2012 - 04:16 AM

I'm with Magpie at 100%. The ADC embedded in the Netduino is a low/medium quality, plus the various supplies of the board are pretty noisy, especially on the Plus with Ethernet. Another option would be making a deep average of the sampled data, although this will yield a very slow response time. Allen, could you clarify what's the source to be measured?
Biggest fault of Netduino? It runs by electricity.

#7 allen

allen

    Member

  • Members
  • PipPip
  • 21 posts

Posted 10 March 2012 - 06:16 AM

sure, the source is coming from 4 weight sensors. The voltage level corresponds to a given weight. I really need fine grained readings on these so a deep average of the 1024 / analog sensors is a nonstarter. I am fine with buying an ADC and reading that if someone can point me at the right ADC to buy. I really need something that can measure voltage to the millivolts and give me a lot of values.

#8 Mario Vernari

Mario Vernari

    Advanced Member

  • Members
  • PipPipPip
  • 1722 posts
  • LocationVenezia, Italia

Posted 10 March 2012 - 07:54 AM

There are many solutions, but they require a pretty deep knowledge and care on analog design. You are dealing with millivolts, or even hundreds of microvolts: not a joke. Wiring, supply and components should be chosen and assembled with care, possibly over a shielded board. Just for making an example, Analog Devices offers several ADCs that may fit your needing. However, you can check by yourself that the application circuits are all but trivial. Otherwise, the result would be the same as the Netduino. I'd ask you how many samples would you need: are they just 4 sensors, or are you planning to have more of these systems? Since there are many users bumping on similar problems, I may consider to design a shield for high-end measurements. It seems there's a deep hole on this field. I'll create a thread for hear from the users on that. Cheers
Biggest fault of Netduino? It runs by electricity.

#9 allen

allen

    Member

  • Members
  • PipPip
  • 21 posts

Posted 01 April 2012 - 10:49 PM

Hi Mario, thanks for the info. Each unit has 4 sensors total. I'm fine with paying up for a good ADC and or any type of shield you could create that would allow for this type of thing. I just need to know where to get it as we desperately need the sensitivity to be much higher than what is available. I would even use a canned solution that sent information over the digital pins if that were a better way to go. However I get there, I just need this to be able to measure millivolts. :) thanks!

#10 Magpie

Magpie

    Advanced Member

  • Members
  • PipPipPip
  • 279 posts
  • LocationAustralia (south island)

Posted 03 April 2012 - 12:12 AM

The minimum specifications that you need to decide are: Max input voltage that needs to be measured. Min input voltage that needs to be measured. ( this can be negative) Max allowable error. in volts (error can be due to many things such as noise, resolution, non linearity and more) Number of measurements per second. Number of channels to measure. From these you can calculate your number of bits ADC, but add a couple of bits so that the adc resolution isn't actually the limitation on your error. Also from these someone should be able to suggest your analogue input circuitry and ADC devices. So if you can list answers to these someone may be able to help you further.
STEFF Shield High Powered Led Driver shield.

#11 allen

allen

    Member

  • Members
  • PipPip
  • 21 posts

Posted 06 April 2012 - 05:15 AM

Max voltage would be 5v min would be 0. The sensors are measuring weights that can be from 0 to about 30 tons. Need to be accurate within a pound. 2000 pounds in a ton (I believe) so 30*2000 gets me to needing 60k granularity (16bit probably would work). I'm measuring 4 channels and we need to read them at least once a second.

#12 Mario Vernari

Mario Vernari

    Advanced Member

  • Members
  • PipPipPip
  • 1722 posts
  • LocationVenezia, Italia

Posted 06 April 2012 - 06:43 AM

Max voltage would be 5v min would be 0. The sensors are measuring weights that can be from 0 to about 30 tons. Need to be accurate within a pound. 2000 pounds in a ton (I believe) so 30*2000 gets me to needing 60k granularity (16bit probably would work). I'm measuring 4 channels and we need to read them at least once a second.


Is it a single case, so 4 sensors at all, or do you need several system like this?
I mean, would be considerable *at least* one/two hundreds of such a sensor interface?
The problem is the cost, which can fall whereas the number of modules are high.
Biggest fault of Netduino? It runs by electricity.

#13 allen

allen

    Member

  • Members
  • PipPip
  • 21 posts

Posted 17 April 2012 - 07:04 PM

Is it a single case, so 4 sensors at all, or do you need several system like this?
I mean, would be considerable *at least* one/two hundreds of such a sensor interface?
The problem is the cost, which can fall whereas the number of modules are high.


Only 4 sensors per unit and only 1 unit per truck. So we only have to read 4 sensors on 1 unit every 1 second for an entire system.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2010-2014 Secret Labs LLC  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.