Kalkulator KB-44
Kalkulator ADC
Co tak naprawdę mierzy analogRead i jaki kod otrzymasz dla swojego napięcia.
Wynik
W skrócie: Obliczenia ADC mikrokontrolera: rozdzielczość w miliwoltach, wartość kodu dla danego napięcia, dzielnik do pomiaru wyższych napięć i teoretyczny stosunek sygnału do szumu. Przykład: Wartość najmłodszego bitu: 4,883 mV.
Przykład obliczeń
| Rozdzielczość | 10 bit |
|---|---|
| Napięcie odniesienia | 5 V |
| Mierzone napięcie | 3,3 V |
| Wartość najmłodszego bitu | 4,883 mV |
|---|---|
| Kod ADC | 675 |
| Na wejściu ADC | 3,3 V |
| Można zmierzyć do | 5 V |
| Krok z uwzględnieniem dzielnika | 4,883 mV |
| Teoretyczny stosunek sygnału do szumu | 62 dB |
Jak to jest obliczane
N = U / LSB
SNR = 6,02 · n + 1,76 dB
Przetwornik ADC dzieli zakres od zera do napięcia odniesienia na 2ⁿ poziomów i zwraca numer poziomu. O dokładności często decyduje nie rozdzielczość, lecz stabilność napięcia odniesienia i szumy zasilania.
Na co zwrócić uwagę
- Napięcie na wejściu ADC nie może przekraczać napięcia odniesienia ani napięcia zasilania — w przeciwnym razie można uszkodzić pin.
- ADC w ESP32 jest wyraźnie nieliniowy, zwłaszcza na krańcach zakresu. Do dokładnych pomiarów potrzebna jest kalibracja.
Często zadawane pytania
Ile woltów przypada na jednostkę ADC w Arduino Uno?
10 bitów przy napięciu odniesienia 5 V: 5 / 1024 = 4,883 mV na jednostkę. Napięcie 3,3 V da kod 675.
Jak zmierzyć 12 V za pomocą ADC z napięciem odniesienia 3,3 V?
Przez dzielnik: 10 kΩ i 2,2 kΩ obniżają 12 V do 2,16 V, a zakres pomiarowy zwiększa się do 18,3 V. Jeden krok 12-bitowego ADC odpowiada wtedy około 4,5 mV na wejściu.
Dlaczego odczyty ADC ESP32 są niedokładne?
Jego charakterystyka jest nieliniowa, szczególnie na krańcach zakresu, a napięcie odniesienia różni się między układami. Potrzebna jest kalibracja, a do dokładnych pomiarów zewnętrzny ADC, na przykład ADS1115.
