Serwisy partnerskie:
Close icon
Serwisy partnerskie

Tester przetworników ADC i DAC mikrokontrolera ATmega 328P

Article Image
Elmax
Przetworniki analogowo-cyfrowe (ADC) i cyfrowo-analogowe (DAC) są obecnie integralną częścią urządzeń przemysłowych, a także wielu urządzeń elektronicznych w naszych domach. Potrzeba przetwarzania sygnału analogowego na cyfrowy i z powrotem do postaci analogowej wynika głównie z tego, że coraz więcej zadań podlega obróbce cyfrowej, chociaż po stronie wejścia i wyjścia mamy do czynienia z sygnałem analogowym. Opracowano wiele technik takiej konwersji sygnałów. Komplikacja wynika głównie z tego jak szybki i jak dokładny ma być przetwornik DAC i/lub ADC. Precyzja po stronie cyfrowej wyraża się ilością bitów, a zastosowana technika przetwarzania sygnału analogowego decyduje o szybkości tego procesu. Najbardziej znane i rozpowszechnione techniki wykorzystują drabinki rezystorów, „ważenie binarne” lub rozwiązania kaskadowe z wieloma wzmacniaczami operacyjnymi.

W handlu dostępne są testery, czasem w postaci zestawów do samodzielnego złożenia, pozwalające sprawdzić i przetestować działanie przetworników DAC i ADC. Większość z nich w wyniku starzenia elementów, po kilku latach stają się bez- lub małoużyteczne.

Zaproponowany w poniższym projekcie układ będzie działał poprawnie przez wiele dłuższy czas. 

W naszym projekcie wykorzystano platformę Arduino. Stwarza to szerokie możliwości i łatwość programowania w zakresie software-u dla tego projektu. Pozwala się także przyjrzeć technice przetwarzania ADC i DAC w mikrokontrolerze ATmega 328P. Główną zaletą programowania w języku dla Arduino jest łatwość edytowania i korygowania błędów w szkicu-programie. Szerokie stosowanie platformy Arduino zaowocowało bogatymi narzędziami programistycznymi IDE, a upowszechnienie tej wiedzy stwarza łatwość tworzenia własnych „szkiców”. 

Opis hardware-u układu i jego działanie

Zasadniczym elementem w tym układzie jest mikrokontroler ATmega 328P. Po magistrali I²C współpracuje on z wyświetlaczem alfanumerycznym LCD 4×20 znaków. W obsłudze wyświetlacza pośredniczy moduł MOD1 odbierający dane szeregowe z mikrokontrolera i umożliwiający aktualizowanie zawartości wyświetlacza w czasie rzeczywistym. Ponadto 8 dyskretnych diod LED pozwala na wyświetlenie 8-bitowego słowa, które w zależności od trybu pracy może być wyjściem lub wejściem. Pozostałe elementy to stabilizator 5-cio woltowy typu LM7805, dzielnik napięcia dla ustawienia analogowej wartości dla przetwornika ADC, 9 zwykłych diod 1N4148 oraz niewielka ilość elementów pasywnych takich jak rezystory i kondensatory. 

W systemie użyto mikrokontrolera ATmega 328P z płytki Arduino Uno, który zawiera 6 przetworników ADC o rozdzielczości 10-cio bitowej oraz 6 8-bitowych przetworników DAC.

Od Red. EdW: Mikrokontroler ATmega 328P używany w płytce Arduino Uno nie posiada sześciu przetworników ADC, a co najwyżej 6 kanałów przetwornika ADC, które są przełączane (sam przetwornik ADC jest współdzielony). Ponadto ATmega 328P nie posiada przetworników DAC (cyfrowo-analogowych). Mikrokontroler ten umożliwia co najwyżej generowanie sygnałów zbliżonych do analogowych za pomocą modulacji PWM (szerokości impulsów), ale nie jest to przetwornik DAC.

Wyjściowy sygnał analogowy z DAC ma postać PWM, i jest to sygnał z modulacją szerokości impulsów.

Zastosowanie mikrokontrolera użytego na płytce Arduino pozwala na wykorzystanie oprogramowania Arduino IDE, które stało się najbardziej popularną, a przy tym dostępną nieodpłatnie, platformą do tworzenia software-u. Więcej informacji na temat Arduino i mikrokontrolera ATmega 328P można znaleźć na stronie www.arduino.cc. Dla nas istotne są przetworniki cyfrowo-analogowe dostępne w strukturze mikrokontrolera oraz wyjścia cyfrowe dostępne na platformie Arduino.

W obwodach zasilania wykorzystano transformator na napięcie przemienne sieci 230 V z symetrycznym uzwojeniem wtórnym 2×9 V. Napięcie pozyskiwane z użyciem transformatora prostowane jest na diodach D11 i D12, a następnie wartość szczytowa odzyskiwana jest na kondensatorach C1 i C2. Odfiltrowane napięcie stałe o wartości ok. 9 V stabilizowane jest za pomocą regulatora 7805. Z uwagi na zastosowanie diody D9 napięcie wyjściowe podbite jest o ok. 0,6 V do wartości 5,6 V. Ten zabieg zastosowano w celu umożliwienia dokładnego doregulowania Uref do wartości 5 V. Jako napięcie zasilania, wartość uzyskana z wyjścia stabilizatora 7805 jest ponownie obniżana o 0,6…0,7 V za pomocą diody D10. Tym samym zasilanie mikrokontrolera i modułu I²C pozostaje na poziomie nominalnej wartości +5 V.

Ewentualne szumy i tętnienia na linii zasilania filtrowane są kondensatorami C3, C4 i C5. 

W obwodzie dzielnika napięcia dla ADC także oczekujemy 5 V. W celu precyzyjnego ustawienia tej wartości zastosowano dodatkowy potencjometr VR2. W celu zabezpieczenia wejścia ADC zastosowano diodę Zenera ZD1.

Nasz układ może pracować w dwóch trybach. Kiedy przełącznik S10 jest w pozycji ON, tester działa w trybie DAC (przetwarzanie cyfrowo-analogowe). Przełączenie S10 w pozycję OFF uruchamia tryb ADC testera. Diody LED1 do LED8 zastosowano w celu sygnalizowania danych, jakie generuje mikrokontroler w trybie ADC. Kiedy mikrokontroler generuje dane na wyjściach PD0…PD7, przyciski S1…S8 powinny być w pozycji wyłączonej. Załączenie któregoś z nich może skutkować zaświeceniem niewłaściwej diody LED. Natomiast diody D1…D8 pracują w charakterze zabezpieczenia, aby napięcie któregoś z wyjść portu PD nie przedostało się na wspólną linię zasilania w trybie DAC. Wyświetlacz alfanumeryczny 20×4 LCD oraz moduł I²C, który go obsługuje, zastosowano w celu wyświetlania dodatkowych danych generowanych przez software zarządzający testerem. Współpraca mikrokontrolera ATmega z modułem I²C odbywa się po magistrali szeregowej zgodnie z jej protokołem. Linia danych na MOD1 to A5, a linia zegara to A4. W ATmega 328P do pracy w trybie I²C skonfigurowano linie 4 i 5 portu PC. 

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Wideo
Firma:
AUTOR
AUTOR
Źródło
Elektronika dla Wszystkich styczeń 2025
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Theremin
1/10 Lew Termen i Leon Theremin to ta sama osoba. Które nazwisko pojawiło się później?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"