Shop OBEX P1 Docs P2 Docs Learn Events
Can someone recommend a ADC10xxxx? — Parallax Forums

Can someone recommend a ADC10xxxx?

Matt WhiteMatt White Posts: 60
edited 2006-05-23 00:56 in General Discussion
·
I was hoping someone could recommend a serial IO ADC for a project I'm working on.· I like·to use a 10-bit ADC for the higher resolution -- I'm reading·analog voltage from 4 GPD12 Sharp distance sensors.· I'd like to do all the processing with a single IC if possible.· I've done this with 4 ADC0831's on my BOE and I'm using way too many IO pins.... the circuit itself had to be spilled over onto another breadboard.· I'm looking for something a bit more... compact.· If anyone has any suggestions I'd sure appreciate it.
·
Thanks!
Matt
·
·

Comments

  • Matt WhiteMatt White Posts: 60
    edited 2006-05-21 16:56
    Ok so I think I'm looking for a 10-bit version of this:
    http://www.parallax.com/detail.asp?product_id=604-00027
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-05-21 18:00
    Matt,

    ·· Due to limitations of the sensor I don't think anything higher than an 8-bit ADC will make any difference.· Now, that said there are 4-channel and 8-channel version of this ADC (ADC0834/ADC0838, respectively).· Now, if you want to use what you have you could share the common bus for the ADCs.· 4 ADC0831 chips should take no more than 6 I/O lines.· If it is you're not sharing (play nice!).· =)

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • pjvpjv Posts: 1,903
    edited 2006-05-21 19:41
    Hi Matt;

    So why not eliminate the external A/D altogether, and make 4 "virtual" A/D's out of software. You could even have different resolutions for each one if you wished. Typically the amount of software involved in making these is in the order of 8 to 12 lines of code;......... less than what you would need to interface to an external chip! And they're (almost) FREE. Each one takes two resistors and a small capacitor, a total of 10 cents!

    One caveat is that they are not terribly fast; with a 50 MHz SX, an 8 bit would run around 4,000 samples per second, and a 10 bit at 1,000 samples per second. Often this is not an impediment, and the externals A/D's are often not much faster when the serial communications is considered.

    Info on these "virtual" implementations can be found in the APP notes on the Parallax site.

    Unless your need for speed is extreme, these are truly the only way to go! Let us know if you need any help....... I've made dozens of them!

    Cheers,

    Peter (pjv)
  • BongoBongo Posts: 65
    edited 2006-05-22 22:54
    Hi Peter,

    A·little off topic,

    I have always assumed that this roll your own adc would not be temperature stable, for what appears to be obvious reasons.· Accordingly I have relocated this idea as one for the lab only, and real world uses would require a "real" adc.

    Have you done any testing for temp stability across say 0 to 41 degrees C?



    bongo
  • Matt WhiteMatt White Posts: 60
    edited 2006-05-22 23:03
    I'll try both methods and see which works the best for my project.· I have used·RCTIME to before to read from analog devices... it just·seems like cheating.·=)·· It hadn't occured to me to share the ADC0831's I/O lines so that frees things up quite a bit.

    Thanks!
  • pjvpjv Posts: 1,903
    edited 2006-05-23 00:56
    Hi Matt;

    I have not specifically done the temperature testing you mention, but I am using them over a wider range than that with adequate results..... certainly one count in 8 bits. Additionally (my speeds requirements here are only modest) I use 1of2, or 3of4, or 7of8 averaging filters as they are quite easy to implement.

    Please realize these are not the same as RCTIME; they are "real ADC's". The good thing about these particular virtual sigma-delta ADC's is that the are totally insensitive to changes (drift) in the capacitor values. Although I'm not positive, but I believe this is NOT the case with RCTIME. In those I believe the stability of R and C affect the accuracy of the results. In the virtual sigma-delta case, only the resistors matter, and since it a charge balancing method, both resistors' changes will cancel out if they are of the same make, and better yet of the same value from the same batch. This often the case.

    I can vouch for the validity of this approach; for non precision work, say up to 9, maybe 10 bits, it's the way to go. After that you need to get more careful. But then there is not much PRACTICAL real-life work that requires better precisions. Generally the source transducers are no better anyway. What's the point of a 14 or 16 bit A/D on a 10 bit transducer? Sure, you can see the difference, but what does it really mean, and does it really matter?

    And best of all, they're so simple to implement!............. Read the Parallax APP notes!

    Cheers,

    Peter (pjv)
Sign In or Register to comment.