forked from greiman/SdFat
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 3f7f5cd
Showing
392 changed files
with
81,873 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto | ||
|
||
# Custom for Visual Studio | ||
*.cs diff=csharp | ||
*.sln merge=union | ||
*.csproj merge=union | ||
*.vbproj merge=union | ||
*.fsproj merge=union | ||
*.dbproj merge=union | ||
|
||
# Standard to msysgit | ||
*.doc diff=astextplain | ||
*.DOC diff=astextplain | ||
*.docx diff=astextplain | ||
*.DOCX diff=astextplain | ||
*.dot diff=astextplain | ||
*.DOT diff=astextplain | ||
*.pdf diff=astextplain | ||
*.PDF diff=astextplain | ||
*.rtf diff=astextplain | ||
*.RTF diff=astextplain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,215 @@ | ||
################# | ||
## Eclipse | ||
################# | ||
|
||
*.pydevproject | ||
.project | ||
.metadata | ||
bin/ | ||
tmp/ | ||
*.tmp | ||
*.bak | ||
*.swp | ||
*~.nib | ||
local.properties | ||
.classpath | ||
.settings/ | ||
.loadpath | ||
|
||
# External tool builders | ||
.externalToolBuilders/ | ||
|
||
# Locally stored "Eclipse launch configurations" | ||
*.launch | ||
|
||
# CDT-specific | ||
.cproject | ||
|
||
# PDT-specific | ||
.buildpath | ||
|
||
|
||
################# | ||
## Visual Studio | ||
################# | ||
|
||
## Ignore Visual Studio temporary files, build results, and | ||
## files generated by popular Visual Studio add-ons. | ||
|
||
# User-specific files | ||
*.suo | ||
*.user | ||
*.sln.docstates | ||
|
||
# Build results | ||
|
||
[Dd]ebug/ | ||
[Rr]elease/ | ||
x64/ | ||
build/ | ||
[Bb]in/ | ||
[Oo]bj/ | ||
|
||
# MSTest test Results | ||
[Tt]est[Rr]esult*/ | ||
[Bb]uild[Ll]og.* | ||
|
||
*_i.c | ||
*_p.c | ||
*.ilk | ||
*.meta | ||
*.obj | ||
*.pch | ||
*.pdb | ||
*.pgc | ||
*.pgd | ||
*.rsp | ||
*.sbr | ||
*.tlb | ||
*.tli | ||
*.tlh | ||
*.tmp | ||
*.tmp_proj | ||
*.log | ||
*.vspscc | ||
*.vssscc | ||
.builds | ||
*.pidb | ||
*.log | ||
*.scc | ||
|
||
# Visual C++ cache files | ||
ipch/ | ||
*.aps | ||
*.ncb | ||
*.opensdf | ||
*.sdf | ||
*.cachefile | ||
|
||
# Visual Studio profiler | ||
*.psess | ||
*.vsp | ||
*.vspx | ||
|
||
# Guidance Automation Toolkit | ||
*.gpState | ||
|
||
# ReSharper is a .NET coding add-in | ||
_ReSharper*/ | ||
*.[Rr]e[Ss]harper | ||
|
||
# TeamCity is a build add-in | ||
_TeamCity* | ||
|
||
# DotCover is a Code Coverage Tool | ||
*.dotCover | ||
|
||
# NCrunch | ||
*.ncrunch* | ||
.*crunch*.local.xml | ||
|
||
# Installshield output folder | ||
[Ee]xpress/ | ||
|
||
# DocProject is a documentation generator add-in | ||
DocProject/buildhelp/ | ||
DocProject/Help/*.HxT | ||
DocProject/Help/*.HxC | ||
DocProject/Help/*.hhc | ||
DocProject/Help/*.hhk | ||
DocProject/Help/*.hhp | ||
DocProject/Help/Html2 | ||
DocProject/Help/html | ||
|
||
# Click-Once directory | ||
publish/ | ||
|
||
# Publish Web Output | ||
*.Publish.xml | ||
*.pubxml | ||
|
||
# NuGet Packages Directory | ||
## TODO: If you have NuGet Package Restore enabled, uncomment the next line | ||
#packages/ | ||
|
||
# Windows Azure Build Output | ||
csx | ||
*.build.csdef | ||
|
||
# Windows Store app package directory | ||
AppPackages/ | ||
|
||
# Others | ||
sql/ | ||
*.Cache | ||
ClientBin/ | ||
[Ss]tyle[Cc]op.* | ||
~$* | ||
*~ | ||
*.dbmdl | ||
*.[Pp]ublish.xml | ||
*.pfx | ||
*.publishsettings | ||
|
||
# RIA/Silverlight projects | ||
Generated_Code/ | ||
|
||
# Backup & report files from converting an old project file to a newer | ||
# Visual Studio version. Backup files are not needed, because we have git ;-) | ||
_UpgradeReport_Files/ | ||
Backup*/ | ||
UpgradeLog*.XML | ||
UpgradeLog*.htm | ||
|
||
# SQL Server files | ||
App_Data/*.mdf | ||
App_Data/*.ldf | ||
|
||
############# | ||
## Windows detritus | ||
############# | ||
|
||
# Windows image file caches | ||
Thumbs.db | ||
ehthumbs.db | ||
|
||
# Folder config file | ||
Desktop.ini | ||
|
||
# Recycle Bin used on file shares | ||
$RECYCLE.BIN/ | ||
|
||
# Mac crap | ||
.DS_Store | ||
|
||
|
||
############# | ||
## Python | ||
############# | ||
|
||
*.py[co] | ||
|
||
# Packages | ||
*.egg | ||
*.egg-info | ||
dist/ | ||
build/ | ||
eggs/ | ||
parts/ | ||
var/ | ||
sdist/ | ||
develop-eggs/ | ||
.installed.cfg | ||
|
||
# Installer logs | ||
pip-log.txt | ||
|
||
# Unit test / coverage reports | ||
.coverage | ||
.tox | ||
|
||
#Translations | ||
*.mo | ||
|
||
#Mr Developer | ||
.mr.developer.cfg |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
Static Tests of the Arduino Internal ADC. | ||
|
||
Several people have asked about the DC accuracy of the Arduino ADC when used in my data logging applications at slow sample rates. | ||
|
||
Here are my results of some "hobby level" measurements of the Arduino ADC. | ||
|
||
One question is how important is the ADC clock rate. I did measurents for an ADC clock rate of 125 kHz to 2MHz. | ||
|
||
Another question is how much does Noise Reduction Mode help. I did a series of measurements using this mode. | ||
|
||
Noise Reduction Mode only reduced the mean absolute error slightly. | ||
|
||
I do calibration to remove Offset Error and Gain Error. Calibration is very important for good accuracy. | ||
|
||
These tests depend on the Arduino voltage regulator providing a stable voltage during the tests. The Arduino ADC reference voltage is Vcc for these tests. This may not be realistic for practical applications | ||
|
||
Integral Non-linearity (INL) is the main remaining source of error. | ||
|
||
Here are my results for static (DC) tests of the internal ADC for three UNOs. | ||
|
||
The Arduinos are powered by a high quality nine volt power supply. | ||
|
||
These tests measure a DC level so do not include problems due to time jitter, S/H time, and other dynamic errors. | ||
There are several studies of the dynamic behavior of the Arduino ADC that determine ENOB (Effective Number Of Bits). | ||
|
||
I used a shield with a 12-bit MCP4921 DAC to generate voltage levels. This ADC has an output buffer so it provides a very low impedance source. | ||
|
||
I measured the voltage of the DAC with a calibrated 18-bit MCP3422 ADC on the shield. | ||
|
||
I used DAC levels from 20 to 4075 to avoid zero offset errors at low voltages and DAC buffer problems at high voltages. | ||
|
||
Each series of measurements has 4056 data points. | ||
|
||
This is a voltage range of about 0.023 to 4.972 volts. | ||
|
||
I calibrated the Arduino ADC for each series of measurements with a linear fit of the form. | ||
|
||
v = a + b*adcValue | ||
|
||
Errors are the difference between the value measured with the 18-bit ADC and the calibrated value measured with the AVR ADC. | ||
|
||
I also show the results for no calibration, the NoCal column, using the datasheet formula. | ||
|
||
Vin = Vref*adcValue/1024 | ||
|
||
|
||
The rows in the tables tables are. | ||
|
||
Min - minimum error in millivolts | ||
|
||
Max - maximum error in millivolts | ||
|
||
MAE - mean absolute error in millivolts | ||
|
||
|
||
The columns in the tables are: | ||
|
||
Ideal - results for a perfect 10-bit ADC for comparison. | ||
|
||
NoCal - datasheet formula (5/1024)*adcValue with Noise Reduction Mode. | ||
|
||
NR128 - Noise Reduction mode with Prescaler of 128 (ADC clock of 125 kHz). | ||
|
||
PS128 - analogRead with Prescaler of 128 (ADC clock of 125 kHz). | ||
|
||
PS64 - analogRead with Prescaler of 64 (ADC clock of 250 kHz). | ||
|
||
PS32 - analogRead with Prescaler of 32 (ADC clock of 500 kHz). | ||
|
||
PS16 - analogRead with Prescaler of 16 (ADC clock of 1 MHz). | ||
|
||
PS8 - analogRead with Prescaler of 8 (ADC clock of 2 MHz). | ||
|
||
|
||
Results for three UNO Arduinos | ||
|
||
First Arduino - Error Millivolts | ||
|
||
Ideal NoCal NR128 PS128 PS64 PS32 PS16 PS8 | ||
Min -2.44 -2.43 -3.72 -4.01 -3.88 -4.53 -6.57 -27.18 | ||
Max 2.44 11.69 3.74 4.24 4.15 5.17 8.69 23.21 | ||
MAE 1.22 5.02 1.33 1.38 1.37 1.44 1.96 4.11 | ||
|
||
Second Arduino - Error Millivolts | ||
|
||
Ideal NoCal NR128 PS128 PS64 PS32 PS16 PS8 | ||
Min -2.44 -9.24 -4.87 -4.86 -5.05 -5.34 -6.52 -24.04 | ||
Max 2.44 11.62 3.95 4.64 4.69 5.71 8.41 21.29 | ||
MAE 1.22 5.33 1.41 1.43 1.44 1.53 2.02 4.05 | ||
|
||
Third Arduino - Error Millivolts | ||
|
||
Ideal NoCal NR128 PS128 PS64 PS32 PS16 PS8 | ||
Min -2.44 -7.88 -4.12 -4.40 -4.32 -4.41 -6.97 -26.93 | ||
Max 2.44 12.53 3.80 4.04 4.18 5.27 8.84 24.59 | ||
MAE 1.22 4.85 1.29 1.33 1.34 1.42 1.91 4.10 | ||
|
||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
Maximum Sample Rate Table | ||
|
||
ADC clock kHz | ||
125 250 500 1000 | ||
pins | ||
1 7692 14286 25000 40000 | ||
2 3810 6667 11111 16667 | ||
3 2572 4790 8421 13559 | ||
4 1942 3636 6452 10526 | ||
5 1559 2930 5229 8602 | ||
6 1303 2454 4396 7273 | ||
7 1119 2111 3791 6299 | ||
8 980 1852 3333 5556 | ||
9 872 1649 2974 4969 | ||
10 786 1487 2685 4494 | ||
11 715 1354 2446 4103 | ||
12 656 1242 2247 3774 | ||
13 606 1148 2078 3493 | ||
14 563 1067 1932 3252 | ||
15 525 996 1806 3042 | ||
16 493 935 1695 2857 |
Oops, something went wrong.