XM-scope 3 - miniaturowy 2-kanałowy oscyloskop cyfrowy dla każdego.
Witam.
Przedstawiam dziś kolejną, trzecią już wersję oscyloskopu cyfrowego na procesorze z rodziny AVR. Tym razem urządzenie jest bardziej rozbudowane, dodane jest wiele ciekawych i przydatnych funkcji oraz przede wszystkim dodających urządzeniu więcej zastosowań praktycznych.
Głównym założeniem projektu było wykonanie 2-kanałowego oscyloskopu o jak najmniejszych wymiarach, o małym stopniu skomplikowania sprzętowego, tak aby każdy mógł go wykonać w domowych warunkach. Istotną rolę odgrywał także koszt wykonania i dostępność części.
O urządzeniu:
Sercem urządzenia jest mikrokontroler ATXMega128A3-AU. Oscyloskop wykorzystuje 2 wbudowane przetworniki A/C mikrokontrolera. Wyświetlacz LCD to TFT 132x176 pixeli ze sterownikiem LS020 lub L2F50 z popularnych Siemensów S65/SX65/CX65 itd. Co do doboru LCD miałem dylemat, czy wybrać większy, ale za to trudniejszy w obsłudze, a zarazem wolniejszy w działaniu czy też łatwo dostępny i wykorzystujący przyjazny interfejs SPI wyświetlacz z Siemensa. Przeważyła prostota, szybkość oraz bardzo dobry kontrast wyświetlacza LS020.
Sterowanie urządzeniem odbywa się za pomocą 5 klawiszy nawigacyjnych.
Opis parametrów:
-max częstotliwość próbkowania w czasie rzeczywistym: 2 Ms/s na kanał
-max częstotliwość próbkowania w czasie ekwiwalentnym: 24 Ms/s
-rozdzielczość amplitudowa: 12 bitów (11 bitów + bit znaku)
-zakres napięć wejściowych (AC: +/- 35V, DC: 0-35V)
-pasmo analogowe <1MHz
-zakres mierzonych częstotliwości przebiegów w czasie rzeczywistym: 50Hz – 250kHz na kanał
-zakres mierzonych częstotliwości przebiegów w czasie ekwiwalentnym: <1MHz na kanał dla sygnałów sinusoidalnych(lub zbliżonych), okresowych
-podstawa czasu w czasie rzeczywistym:
5us/d, 10us/d, 20us/d, 40us/d, 80us/d, 160us/d, 320us/d, 640us/d, 1.3ms/d, 2.5ms/d, 5ms/d
-podstawa czasu w czasie ekwiwalentnym:
1.6us/d, 800ns/d, 400ns/d
-wartość napięcia na działkę:
200mV/d, 0.5V/d, 1V/d, 2V/d, 5V/d, 10V/d, 20V/d (niezależna regulacja dla każdego z kanałów)
Opis funkcji:
-możliwość niezależnej regulacji tłumienia sondy (1x, 10x, 100x) dla każdego z kanałów co zmienia odpowiednio wartości napięcia na działkę
-płynna regulacja pozycji pionowej każdego z przebiegów na ekranie
-płynna regulacja poziomu wyzwalania
-synchronizacja automatyczna(programowa) względem wybranego kanału lub wyłączenie synchronizacji
-wyzwalanie klawiszem
-wyzwalanie zewnętrznym sygnałem (zboczem narastającym)
-wyzwalanie zewnętrznym sygnałem (zboczem opadającym)
-pomiar amplitudy dla każdego z kanałów
-pomiar częstotliwości dla każdego z kanałów
-pomiar wartości maksymalnej przebiegu dla każdego z kanałów
-pomiar wartości minimalnej przebiegu dla każdego z kanałów
-pomiar kursorami:
Kursory czasu
Kursory napięcia
-zatrzymywanie przebiegu
tryb odchylenia X-Y
-analizator widma wykorzystujący algorytm FFT(regulacja częstotliwości końcowej, pomiar kursorem częstotliwości)
-cyfrowy filtr interpolacyjny (3x, 6x lub 12x zwiększający częstotliwość próbkowania)
-odwracanie niezależne każdego z przebiegów
-zapis do 50 pomiarów na karcie mikro SD (możliwość nadawania nazwy pomiarom)
-odczyt pomiarów z karty mikro SD (możliwość wykonywania większości pomiarów na przebiegu odczytanym tak jak w czasie rzeczywistym)
-woltomierz AC/DC 2 kanałowy (wartość chwilowa lub wartość średnia napięcia)
Urządzenie zostało zaprojektowane i wykonane od początku przeze mnie, całość wykonana w domowych warunkach. Jest to mój pierwszy projekt na Xmega, a więc wykonując go dopiero uczyłem się tej rodziny uC.
na razie jest to wersja BETA, ewentualne błędy programowe wyjdą, jak się będzie użytkowało i na bieżąco będę poprawiał.
Napisanie oprogramowania zajęło mi ok. półtora miesiąca. Siedziałem nad tym codziennie wieczorami, a właściwie to nocami, bo za dnia nie było czasu.
Samo wykonanie to już zaledwie 2 wolne popołudnia.
Płytkę zaprojektowałem i wykonałem sam (pewnie większość zamówiłaby płytkę w firmie i byłoby dużo ładniej, ale wg mnie to byłoby też dużo drożej), dla odmiany pocynowałem ścieżki zamiast malować soldermaską. Zabieg ten znacznie ułatwi serwisowanie urządzenia.
Oscyloskop pobiera ok 70-80 mA prądu, akumulator 1000mAh, powinien więc wystarczyć na ponad 10 godzin pracy.
Koszt
-ATXmega - 32zł
-LCD (kupiony w zestawie 7 telefonów, a w tym dwa CX65 w cenie 32 zł z przesyłką za zestaw, więc wychodzi 16 zł za jeden LCD)
-gniazda BNC-6zł
-obudowa KM-100 - 3,50 zł
-slot mSD-4zł
-przyciski, rezystory, kondensatory, kwarc, stabilizator itd-ok 10 zł
-części kupowane w jednym sklepie więc przesyłka ok. 10 zł łącznie
-reszta części z odzysku
Łącznie - ok. 70-80 zł.
Parę zdjęć:
Filmik
Przepraszam za jakość oraz za pomyłki w klawiszach na filmie, ale niestety sprzęt nagrywający, jakim dysponuję potrzebuje lekkiej pomocy w postaci lupy przyłożonej do obiektywu, aby jako taka ostrość była z bliska, dlatego też miałem ograniczone pole manewru i pole widzenia. Nie wszystkie funkcje przedstawiłem na filmie, ale mniej więcej się można zorientować.
Jeśli chcesz wykonać sobie oscyloskop, zapraszam na moją stronę po potrzebne materiały
Edit: Nie mogę podać linka wiec zapraszam na pw.
Fajne? Ranking DIY