Witam.
Chciałbym przedstawić mój nowy
projekt generator i oscyloskop. Z racji tego, że nie posiadam ani
oscyloskopu ani generatora, postawiłem zrobić te dwa urządzenia,
początkowo miałem to zrobić na Atmedze 32, ale z racji, że
ostatnio zacząłem przygodę z ARM, a w wykorzystanym ARM jest
przetwornik cyfrowo analogowy, dzięki któremu mogłem w prosty
sposób zrobić generator, wybór właśnie padł na ARM. Konstrukcja
przede wszystkim opiera się na zestawie uruchomieniowym ZL9ARM z
wykorzystaniem mikrokontrolera LPC2138.
Generator
Teraz kilka słów na temat generatora.
Generator potrafi generować przebiegi sinusoidalne, prostokątne i
trójkątne, z możliwością regulacji współczynnika wypełnienia
w zakresie 1-99%. Zakres generowanych częstotliwości wynosi od 1 Hz
do 100 kHz. Na wyjściu generatora mamy przebieg o amplitudzie 3.3V.
Do zrobienia generatora użyłem oczywiście wewnętrznego
przetwornika cyfrowo analogowego.
Oscyloskop
Oscyloskop powstał przy użyciu
wewnętrznego przetwornika analogowo cyfrowego, posiada takie
właściwości jak:
-podstawę czasu od 50us/dz do 500ms/dz
-podziałka napięcia od 1V/dz do
50V/dz
-detekcja sygnału DC/AC
-obliczanie częstotliwości i
współczynnika wypełnienia
-wyświetlanie napięcia
Wszystkie obliczenia dotyczące sygnału
wejściowego są tylko na podstawie wartości z przetwornika ADC,
dlatego pomiar częstotliwości jak i współczynnika nie zawsze jest
dokładny. Oscyloskop na podstawie wyników z przetwornika ADC robi
detekcję sygnału i w przypadku sygnału AC obliczana jest
częstotliwość i współczynnik wypełnienia, oraz wyliczana
maksymalna wartość napięcia. Natomiast w przypadku przebiegu DC
wyliczana średnia wartość napięcia. Tor wejściowy oscyloskopu to
zwykły dzielnik napięcia, od którego zależy przede wszystkim
zakres napięć wejściowych, należy również pamiętać, że im
większy zakres tym gorsza dokładność pomiaru napięcia. Przy
obecnych wartościach rezystorów zakres napięć wejściowych wynosi
do około ±30V.
Wyświetlacz
Do wyświetlania użyłem wyświetlacza
LCD ze sterownikiem KS0108.
Sterowanie
Sterowanie zarówno oscyloskopu jak i
generatora odbywa się przy użyciu 5 klawiszy, które są w zestawie
uruchomieniowym, natomiast wprowadzanie danych dla generatora odbywa
się przez RS232 z wykorzystaniem terminala.
Oprogramowanie
Całość została napisana w języku
C.
Film
Na filmie pokazane są 3 różne
przebiegi, jak i pomiar napięcia z transformatora. Na moim kanale
youtube można zobaczyć wcześniejsze próby na Atmedze 32. Na
filmie można zauważyć, że oprócz generatora i oscyloskopu są
jeszcze inne funkcje jak wyświetlanie czasu, daty, temperatury, ale
to taki dodatek do całości, który nie odnosi się do głównej
funkcjonalności.
Podsumowanie
Reasumując do projektu użyłem
zestawu uruchomieniowego, wyświetlacz LCD ze sterownikiem KS0108,
paru rezystorów służących jako dzielnik napięcia do toru
wejściowego oscyloskopu. Do pozostałej funkcjonalności którą
można zobaczyć na głównym ekranie użyłem jako RTC: PCF8583,
termometr DS18B20 i pamięć EEPROM ATMEL24C256 służącą do
przechowania konfiguracji.
Oczywiście jest to dość prosta konstrukcja, ale do moich prostych zastosowań jest wystarczająca :)
Uwagi, propozycje i opinie są mile
widziane.
This comment has been removed by the author.
ReplyDeleteHi Michal,
ReplyDeleteI really like your LPC2138 ARM-7 based LCD scope and Function Generator project and really appreciate if you share the project's schematic and code. I have worked on LPC2114 for some time. My email is: javed8051@gmail.com
Have a nice day!