Forum Rule: Always post complete source code & details to reproduce any issue!
Page 1 of 2 1 2 LastLast
Results 1 to 25 of 36

Thread: Teensy 16bit ADC

  1. #1

    Teensy 16bit ADC

    Is there a teensy board that incorporates a 16Bit ADC?

    Thanks

  2. #2
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    626
    Amazon and Ebay have many that can be made to work as a separate board wired to a teensy. But has anyone actually measured 16 bits of SNR from such a module?

  3. #3
    What is the highest res for a teensy? Anyone know? I am trying to read a pressure sensor and looking for higher than 12 bit resolution and wondering if I can get it without adding an external ADC.

  4. #4
    Senior Member
    Join Date
    Jul 2020
    Posts
    382
    Quote Originally Posted by Fluxanode View Post
    Is there a teensy board that incorporates a 16Bit ADC?

    Thanks
    What kind of ADC are you meaning? And what bandwidth? For audio there's the Audio Shield, but that's no
    use for data acquisition for instance as audio ADCs aren't calibrated, may not even let DC through, and can
    only be run at particular sample rates whether you want that or not.

    Outside of audio there are many ADCs with various max sample rates and performance levels, the most
    recent one I've used (though not with a Teensy) is the ADS8885, an 18 bit SAR ADC upto 400kSPS with
    100dB SNR.

  5. #5
    Low bandwidth reading a DC signal typically 4-20ma converted via a shunt and a opamp circuit to whatever input is required by the ADC. I was hoping there was a higher ADC input option on a teensy, more than 12 bits, maybe 16 or an over sampling option?

  6. #6
    Senior Member
    Join Date
    Jul 2020
    Posts
    382
    Quote Originally Posted by Fluxanode View Post
    Low bandwidth reading a DC signal typically 4-20ma converted via a shunt and a opamp circuit to whatever input is required by the ADC. I was hoping there was a higher ADC input option on a teensy, more than 12 bits, maybe 16 or an over sampling option?
    Trying for 16 bits on a noisy processor chip would never work anyway, you need quiet analog surroundings for
    spur-free 16 bit precision, that's 50ÁV resolution for a 3.3V chip... And talking of precision do you need accuracy as
    well, because that's going to need a quality stable voltage reference and probably require differential mode measurements,
    and a high precision opamp, perhaps a CAZ or similar.

  7. #7
    Mark, thanks for your insight on this subject. I have been developing with 16 bit ADCs with other microcontrollers and mitigated noise using various methods with much success. But back to the orginal question, are there any teensy variants with 16 bit (or greater than 12) inputs? (BTW, I don't have to use all 16 bits, one method I use is by shifting off the noisy bits)

  8. #8
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    626
    No teensys have have 16 bit ADC.

  9. #9
    You can easely average out a couple of thousand onbaord teensy ADC readings to get the resolution and noise kevel you require.

  10. #10
    Senior Member
    Join Date
    Jul 2020
    Posts
    382
    Quote Originally Posted by Fluxanode View Post
    Mark, thanks for your insight on this subject. I have been developing with 16 bit ADCs with other microcontrollers and mitigated noise using various methods with much success. But back to the orginal question, are there any teensy variants with 16 bit (or greater than 12) inputs? (BTW, I don't have to use all 16 bits, one method I use is by shifting off the noisy bits)
    As I said that sort of accuracy wouldn't be attainable on the same chip as a digital processor due to the high levels of
    switching interference generated by digital circuitry. It wouldn't make much sense to put anything more than 12 bits
    on a processor, and you typically won't see 12 effective bits anyway in that environment.

    If you have noisy bits you should average, not discard. Averaging is a major technique for reducing (random) noise, and
    can increase the effective number of bits in some circumstances. Averaging can only reduce random noise though,
    interference is a real signal!

  11. #11
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    626
    > can increase the effective number of bits in some circumstances.

    Exactly - I once tried it with a teensy and averaging only helped somewhat - it stopped providing improvement after a point far short of 16 bits. Possibly a lock-in amplifier technique would have helped to reduce low frequency interference/noise. I also found that in some cases, median outperforms mean.

  12. #12
    inteference will average out, unless it is correlated to the signal. of interest.

  13. #13
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    626
    Unless you happen to synchronize perfectly, 1Hz noise doesn't average out if you average over anything close to 1 second.

  14. #14
    Senior Member
    Join Date
    Feb 2018
    Location
    Corvallis, OR
    Posts
    200
    It gets even worse when you try to write the data to an SD Card. Parts of the write cycle can involve short current spikes of 100mA or more. That puts a lot of stress on the Teensy's 3.3V regulator. The SD card itself has an internal processor generating a lot of high-frequency noise. I've worked on systems where the SD writes generated enough RF noise that you had to spend a lot of time and effort shielding the ADC inputs.

    The problem is even tougher in that the SD current spikes can occur well after the Teensy thinks it has finished writing to the SD card. Thus, the "Stop collecting while we write to SD" approach fails.

  15. #15
    Quote Originally Posted by jonr View Post
    Unless you happen to synchronize perfectly, 1Hz noise doesn't average out if you average over anything close to 1 second.
    Then it is correlated to the signal. of interest.

  16. #16
    well ok then. Ya'll have convinced me. I'll go with an external ADC. Thanks for the responses!

  17. #17
    I looked at the spec's for the teensy LC with a 16bit ADC. What determines the "usable" bits? https://www.pjrc.com/teensy/teensyLC.html#specs
    Can 13 bit res achieved on the the 3.2?
    Last edited by Fluxanode; 08-05-2020 at 06:35 PM.

  18. #18
    if you average 256 times, you gain 4 bits. 16 bits dynamic range from a 12bit ADC really is no problem at all at low sample rates.

  19. #19
    Quote Originally Posted by tschrama View Post
    if you average 256 times, you gain 4 bits. 16 bits dynamic range from a 12bit ADC really is no problem at all at low sample rates.
    Can you give me an example of how this is done?

  20. #20
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    626
    > if you average 256 times, you gain 4 bits

    Only if the noise is high freq, white noise - and it often isn't either one. Go ahead, try it.

  21. #21
    you sum all 256 measurement values, and divide by 256.
    conviniently, dividing by 256 is the same as bitshifting by 8 which is mucj faster then actual division.

  22. #22
    Quote Originally Posted by jonr View Post
    > if you average 256 times, you gain 4 bits

    Only if the noise is high freq, white noise - and it often isn't either one. Go ahead, try it.
    Where did you get that from? Not only are you contradicting your self (HF noise is by definition not white). But it is nonsense too.

    I do it every day.

  23. #23
    tschrama, thanks!

  24. #24
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    626
    > Can you give me an example of how this is done?

    Second that - let's see a program and output yielding 16 bit results from a teensy with 256x oversampling.

  25. #25
    This has nothing to do with teensy. It is very basic signal. processing material. I am not going to do your homework and I am certainly not to put any efforts in teaching you.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •