- Świat analogowy z cyfrową elektroniką
- Co to jest ADC i jak go używać?
- Rozdzielczość (bity) i kanały w ADC
- Napięcie odniesienia dla ADC
- Przykład
- Typy ADC i działanie
- Kilka często pojawiających się pytań dotyczących ADC
Świat analogowy z cyfrową elektroniką
Kilka lat temu wszystkie urządzenia elektroniczne, których używamy dzisiaj, takie jak telefony, komputery, telewizory itp., Miały charakter analogowy. Potem powoli telefony stacjonarne zostały zastąpione nowoczesnymi telefonami komórkowymi, telewizory CRT i monitory zostały zastąpione wyświetlaczami LED, komputery z lampami próżniowymi ewoluowały, by być mocniejszymi z mikroprocesorami i mikrokontrolerami w nich i tak dalej.
W dzisiejszej erze cyfrowej wszyscy jesteśmy otoczeni zaawansowanymi cyfrowymi urządzeniami elektronicznymi, co może nas zwieść myśl, że wszystko wokół nas ma charakter cyfrowy, co nie jest prawdą. Świat zawsze miał naturę analogową, na przykład wszystko, co my, ludzie, odczuwamy i doświadczamy, takie jak prędkość, temperatura, prędkość powietrza, światło słoneczne, dźwięk itp., Ma charakter analogowy. Ale nasze urządzenia elektroniczne, które działają na mikrokontrolerach i mikroprocesorach, nie mogą odczytać / zinterpretować tych wartości analogowych bezpośrednio, ponieważ działają tylko na zerach i jedynkach. Potrzebujemy więc czegoś, co zamieni wszystkie te wartości analogowe na 0 i 1, aby nasze mikrokontrolery i mikroprocesory mogły je zrozumieć. To coś nazywa się w skrócie przetwornikami analogowo-cyfrowymi lub ADC. W tym artykule dowiemy sięwszystko o ADC i jak ich używać.
Co to jest ADC i jak go używać?
Jak wspomniano wcześniej, ADC oznacza konwersję analogowo-cyfrową i służy do konwersji wartości analogowych ze świata rzeczywistego na wartości cyfrowe, takie jak 1 i 0. Więc jakie są te wartości analogowe? To są te, które widzimy w naszym codziennym życiu, takie jak temperatura, prędkość, jasność itp. Ale czekaj !! Czy ADC może konwertować temperaturę i prędkość bezpośrednio na wartości cyfrowe, takie jak 0 i 1?
Nie, zdecydowanie nie. ADC może konwertować tylko analogowe wartości napięcia na wartości cyfrowe. Więc którykolwiek parametr, który chcemy zmierzyć, powinien być najpierw zamieniony na napięcie, tę konwersję można wykonać za pomocą czujników. Na przykład, aby przekonwertować wartości temperatury na napięcie, możemy użyć termistora, podobnie do konwersji jasności na napięcie, możemy użyć LDR. Po przekonwertowaniu na napięcie możemy go odczytać za pomocą przetworników ADC.
Aby wiedzieć, jak używać przetwornika ADC, należy najpierw zapoznać się z podstawowymi pojęciami, takimi jak rozdzielczość kanałów, zakres, napięcie odniesienia itp.
Rozdzielczość (bity) i kanały w ADC
Kiedy czytasz specyfikację dowolnego mikrokontrolera lub układu scalonego ADC, szczegóły ADC zostaną podane przy użyciu terminów kanały i rozdzielczość (bity). Na przykład ATmega328 Arduino UNO ma 8-kanałowy 10-bitowy przetwornik ADC. Nie każdy pin mikrokontrolera może odczytać napięcie analogowe, termin 8-kanałowy oznacza, że w tym mikrokontrolerze ATmega328 jest 8 pinów, które mogą odczytywać napięcie analogowe, a każdy pin może odczytywać napięcie z rozdzielczością 10-bitów. Będzie się to różnić dla różnych typów mikrokontrolerów.
Załóżmy, że nasz zakres ADC wynosi od 0 V do 5 V i mamy 10-bitowy ADC, co oznacza, że nasze napięcie wejściowe 0-5 V zostanie podzielone na 1024 poziomy dyskretnych wartości analogowych (2 10 = 1024). Oznacza to, że 1024 to rozdzielczość 10-bitowego ADC, podobnie dla 8-bitowego ADC będzie to 512 (2 8), a dla 16-bitowego ADC będzie 65 536 (2 16).
W tym przypadku, jeśli rzeczywiste napięcie wejściowe wynosi 0 V, wówczas ADC MCU odczyta je jako 0, a jeśli jest to 5 V, MCU odczyta 1024, a jeśli jest gdzieś pomiędzy 2,5 V, wówczas MCU odczyta 512. Możemy użyć poniższych wzorów do obliczenia wartości cyfrowej, która zostanie odczytana przez MCU w oparciu o rozdzielczość ADC i napięcie robocze.
(Rozdzielczość ADC / Napięcie robocze) = (Wartość cyfrowa ADC / Rzeczywista wartość napięcia)
Napięcie odniesienia dla ADC
Innym ważnym terminem, z którym należy się zapoznać, jest napięcie odniesienia. Podczas konwersji ADC wartość nieznanego napięcia jest określana przez porównanie go ze znanym napięciem, znane jest to jako napięcie odniesienia. Zwykle wszystkie MCU mają opcję ustawienia wewnętrznego napięcia odniesienia, co oznacza, że można ustawić to napięcie wewnętrznie na pewną dostępną wartość za pomocą oprogramowania (programu). Na płycie Arduino UNO napięcie odniesienia jest domyślnie ustawione na 5V wewnętrznie, w razie potrzeby użytkownik może ustawić to napięcie odniesienia zewnętrznie poprzez pin Vref również po dokonaniu wymaganych zmian w oprogramowaniu.
Zawsze należy pamiętać, że mierzona wartość napięcia analogowego powinna być zawsze mniejsza niż wartość napięcia odniesienia, a wartość napięcia odniesienia powinna być zawsze mniejsza niż wartość napięcia roboczego mikrokontrolera.
Przykład
Tutaj bierzemy przykład ADC, który ma 3-bitową rozdzielczość i napięcie odniesienia 2 V. Może więc mapować napięcie analogowe 0-2 V z 8 (2 3) różnymi poziomami, jak pokazano na poniższym obrazku:
Więc jeśli napięcie analogowe wynosi 0,25, to wartość cyfrowa będzie wynosić 1 dziesiętnie i 001 dwójkowo. Podobnie, jeśli napięcie analogowe wynosi 0,5, wówczas wartość cyfrowa będzie wynosić 2 dziesiętnie i 010 dwójkowo.
Niektóre mikrokontrolery mają wbudowany ADC, takie jak Arduino, MSP430, PIC16F877A, ale niektóre mikrokontrolery nie mają go tak, jak 8051, Raspberry Pi itp. I musimy użyć zewnętrznych układów scalonych konwertera analogowo-cyfrowego, takich jak ADC0804, ADC0808.
Poniżej znajdziesz różne przykłady ADC z różnymi mikrokontrolerami:
- Jak korzystać z ADC w Arduino Uno?
- Samouczek Raspberry Pi ADC
- Połączenie ADC0808 z mikrokontrolerem 8051
- Woltomierz cyfrowy 0-25 V za pomocą mikrokontrolera AVR
- Jak korzystać z ADC w STM32F103C8
- Jak korzystać z ADC w MSP430G2
Typy ADC i działanie
Istnieje wiele typów przetworników ADC, najczęściej używane to Flash ADC, Dual Slope ADC, Kolejne przybliżenie i Dual Slope ADC. Wyjaśnienie, w jaki sposób każdy z tych ADC działa i różnica między nimi, byłoby poza zakresem tego artykułu, ponieważ są one dość złożone. Ale żeby dać przybliżony pogląd, ADC ma wewnętrzny kondensator, który będzie ładowany przez napięcie analogowe, które ma być zmierzone. Następnie mierzymy wartość napięcia, rozładowując kondensator przez pewien czas.
Kilka często pojawiających się pytań dotyczących ADC
Jak zmierzyć więcej niż 5 V za pomocą mojego ADC?
Jak wspomniano wcześniej, moduł ADC nie może mierzyć wartości napięcia większej niż napięcie robocze mikrokontrolera. Oznacza to, że mikrokontroler 5 V może mierzyć tylko maksymalnie 5 V za pomocą pinu ADC. Jeśli chcesz zmierzyć coś więcej niż to, powiedz, chcesz zmierzyć 0-12 V, możesz zmapować 0-12 V na 0-5 V, używając dzielnika potencjału lub obwodu dzielnika napięcia. Ten obwód użyje pary rezystorów do mapowania wartości dla MCU, możesz dowiedzieć się więcej o obwodzie dzielnika napięcia za pomocą łącza. W naszym powyższym przykładzie powinniśmy użyć rezystora 1K i rezystora 720 omów połączonych szeregowo ze źródłem napięcia i zmierzyć napięcie między rezystorami, jak omówiono w powyższym łączu.
Jak przekonwertować wartości cyfrowe z ADC na rzeczywiste wartości napięcia?
W przypadku użycia konwertera ADC do pomiaru napięcia analogowego wynik uzyskany przez MCU będzie cyfrowy. Na przykład w 10-bitowym mikrokontrolerze 5 V, gdy rzeczywiste napięcie, które ma być zmierzone, wynosi 4 V, MCU odczyta je jako 820, możemy ponownie użyć omówionych powyżej wzorów do konwersji 820 na 4 V, abyśmy mogli go użyć w naszym obliczenia. Sprawdźmy to samo.
(Rozdzielczość ADC / Napięcie robocze) = (Wartość cyfrowa ADC / Rzeczywista wartość napięcia) Rzeczywista wartość napięcia = Wartość cyfrowa ADC * (Napięcie robocze / Rozdzielczość przetwornika ADC) = 820 * (5/1023) = 4,007 = ~ 4 V
Mam nadzieję, że masz dobry pomysł na ADC i jak ich używać w swoich aplikacjach. Jeśli miałeś jakiś problem ze zrozumieniem koncepcji, możesz zamieścić swoje komentarze poniżej lub napisać to na naszym forum.