![]() Or, enter your real email if you want to receive an email with the download link, and if you don't mind if I send you an occasional email with something I'm working on (perhaps a few times a year or so). For the email address field, you may enter you like.You may also click here, then choose the appropriate download. Click the above link, optionally donate (just set the price you want to pay to $0 if you like), & download the library.UPDATE 17 Feb 20 15: Version 2.1 beta available now! I've received several emails from people (and some comments below) telling me their success stories in using this library. I still need to do more testing, and I have plans to further refine the library, but the point is, if you only need a few extra bits of precision, this library can replace the need for buying a higher-resolution external ADC. Update: 25 July 2015 : The library works. Also, as part of my testing, I'll modify my library to introduce random noise (via software) to the analog readings, to see how that affects oversampling (It's possible that introducing just the right magnitude of random noise will increase precision of the oversampling process). This way, I can see how the noise affects the results. As part of my test, I will vary the reference pin source from a noisy voltage regulator to a clean, dedicated reference IC chip. I will be using these myself to test my library eventually, in conjunction with an LTC1650CN 16-bit DAC to produce a signal to test. Meanwhile, if you are concerned about whether or not my library truly produces higher-precision ADC reads, you might just consider buying a 12 or 16-bit ADC from Adafruit. It will also be nice to just not have to wait so long for high-bit ADC reads that require tons of 10-bit samples to get one high-bit sample. ![]() This way, I can see if reading the ADC faster affects the results produced by oversampling. 82 of " Going Further with Sketches " for teaching me about this). One of the refinements I will make, for instance, will be to speed up the Arduino ADC from ~8kHz max sample rate to ~54kHz max sample rate, by changing the ADCSRA register to have an ADC prescaler of 16 instead of 128 (thanks to Simon Monk, pg. ![]() I want to know for myself, with certainty, how well it really is or isn't working, and what its limitations are. Update: 11 July 20 14: I still plan on doing much more testing with my library, when I get the chance, and working on it to refine and validate it a lot more. : Update: With a ton of help from Ray Benitez, of Hackscribble, I am still evaluating the practicality & legitimacy of oversampling, via experimental data collection & analysis, in order to see if it really is increasing the precision to the degree I am claiming/hoping. Atmel has written a really good article about it called " AVR121 Enhancing ADC resolution by oversampling."īefore I continue, I'd like to give a special thanks to user "fat16lib," on the Adafruit Forums, who first made this technique known unto me by his post right here, thereby inspiring me to write this, my first ever, library. Wait, what did you say!? I thought that Arduinos only had a 10-bit ADC! How can you get, for example, 16-bit resolution out of a 10-bit ADC? Well, the answer is oversampling. Using the Arduino Uno’s built-in 10-bit to 16+-bit ADC (Analog to Digital Converter)?
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |