
Witam. Przedstawiam dziś drugą, ulepszoną i bardziej funkcjonalną wersję przenośnego oscyloskopu cyfrowego.
Głównym założeniem było zwiększenie zakresu częstotliwości w porównaniu do pierwszej wersji oraz jak zwykle: jak najtańszy koszt. Ponadto chciałem użyć w miarę duży ale tani kolorowy wyświetlacz.
Urządzenie z założenia miało być mobilne, dlatego z konieczności miniaturyzacji szukałem sposobów, na jak najmniejszą płytkę czyli jak najmniej elementów.
HARDWARE
-Atmega 32-16AU taktowana zewnętrznym kwarcem 16 MHz.
-LCD 176x132, TFT, 65536 kolorów, Sterownik LS020
-Przetwornik A/C – wewnętrzny ATMegi taktowany 1 MHz, częstotliwość próbkowania mierzona: ok. 70 kHz
Aktualizacja oprogramowania: 14 kw 2011 - Przetwornik taktowany 2MHz, częstotliwość próbkowania ok 140 KHz
-sterowanie: joystick z telefonu Siemens CX65
-Akumulator- LI-POL 3,6V, 500mAh
-zasilanie – całościowo 3,3V po stabilizatorze liniowym
SOFTWARE
Cały program napisany w języku C, kompilowany WINAVR. Zajmuje ok. 3000 linii, 31 kB pamięci flash. Pamięć RAM uC też wykorzystana jest do max, kod był wielokrotnie zmieniany i optymalizowany tak aby pamięć wyrabiała.
Sterownik wyświetlacza początkowo był przeróbką sterownika kolegi Saper_2, jeszcze z wyświetlaczem L2F i M128, następnie przeszedłem na sterownik Kranza i sprzętowe SPI. Po zmianie na LS020 i M32, nie znając ASM zmuszony byłem napisać własne funkcje obsługi SPI i wysyłania, reszta funkcji i tak była mojego autorstwa więc właściwie można by powiedzieć, że cały sterownik napisałem po swojemu od nowa.
PARAMETRY
Oscyloskop przeznaczony jest do pomiaru napięć prądu zmiennego w zakresie napięć do 25V i w zakresie częstotliwości do ok. 10KHz Po aktualizacji oprogramowania do ok 15-20 KHz(choć można i więcej z tym że obraz będzie gorszej jakości). Pole robocze wyświetlacza ma rozmiar 118x155 pixeli, podzielone jest na działki w pionie i w poziomie. U góry na pasku wyświetlany jest czas na działkę X oraz napięcie na działkę Y. Po prawej z boku znajduje się 4 pozycyjne Menu:
1. Uruchomienie pomiaru
2. Ustawienia
3. Woltomierz
4. Wskaźnik akumulatora
Uruchomienie pomiaru powoduje włączenie ciągłego pomiaru który można zatrzymać ruchem joysticka. Przebieg na wyświetlaczu jest automatycznie skalowany, obliczana jest amplituda i jest wyświetlana na górnym pasku, obliczana jest działka X oraz Y i również wyświetlana. Przebieg jest synchronizowany (na filmie przebieg jest niestabilny ze względu na niestabilność generatora na LM555 i ładowarce telefonicznej). W ustawieniach istnieje możliwość zmiany podstawy czasu poprzez ustawienie co którą próbkę przetwornik zbiera oraz odwrotnie, co który pixel wyświetlana jest dana próbka. Regulować można również poziom wzmocnienia, przesunięcie w osi pionowej. Jest też możliwość wyboru, czy wyświetlane mają być same wartości dyskretne, czy też przebieg ma być interpolowany (odcinkowo). Dodatkowo jest możliwość zmiany przekładni dzielnika napięcia na wejściu co przydane może się okazać podczas potrzeby zmierzenia większych napięć. Można wtedy w sondzie dołożyć dodatkowy dzielnik napięcia i zmienić przekładnię w ustawieniach.
Urządzenie wyposażone jest również w woltomierz mierzący z dokładnością ok. 0,03V.
Ostatnim elementem menu jest Miernik akumulatora. Pokazuje on aktualny stan akumulatora zasilającego w postaci standardowej bateryjki oraz dodatkowo wyświetla napięcie w Voltach.
Budowa
Na początku budowę zacząłem a M128 i wyświetlaczem ze sterownikiem L2F50 ale po małym wypadku zmuszony byłem na kupno nowego wyświetlacza. Przy okazji zrezygnowałem z M128 na rzecz M32. Szukając gdzie tylko się da możliwości zaoszczędzenia elementów podłączanych do portów mikrokontrolera (co upraszcza płytkę) zrezygnowałem z sterowania podświetlaniem LCD przetwornicą sterowaną PWM. Drugim powodem był zbyt duży pobór prądu tej przetwornicy (przy testach ok. 70mA) podczas gdy połączenie diod równolegle przy napięciu zasilania 3,3V dało pobór niewiele ponad 30mA. Nie potrzebowałem regulować podświetleniem ani też nie miałem zbyt dużych wymagań co do jasności podświetlenia, tak więc zostało na zasilaniu bezpośrednim na równolegle połączone diody.
Płytka została zaprojektowana w Eagle, wykonana termotransferem. Soldermaska nakładana pędzlem dlatego też może nie wygląda to zbyt ładnie. Trafiłem na jakiś wadliwy laminat od którego strasznie ścieżki odpadały więc musiałem wszystko lutować ręcznie. Płytka jest dwustronna, przelotek jest bodajże 17 z czego 4 są jako przejścia dolnej warstwy a reszta to linie danych i zasilania do LCD i joysticka.
Zostało podłączone gniazdo również od siemensa CX65 dzięki czemu mam wszystkie potrzebne wyjścia i wejścia w jednym gnieździe. (zasilanie, sygnał analogowy i linie do programatora co umożliwia łatwą aktualizację oprogramowania)
Obudowa to przeróbka obudowy również Z CX65, przycięta, zespawana lutownicą i wygładzona szpachlą samochodową a następnie pomalowana szarym lakierem.














Przebiegi na zdjęciach są z generatora uczelnianego dlatego są stabilne. Ja w domu generatora niestety nie posiadam więc na filmiku poniżej są przebiegi z LM555 przez mały filtr.
Filmik po aktualizacji: Zwiększenie szybkości odświeżania ekranu i zakresu częstotliwości:
Koszty
-ATMega 13 zł
-stabilizator 3 zł
-uszkodzony siemens CX65 niecałe 20 zł z wysyłką
-kwarc 1zł
-włącznik 1 zł
-rezystory, kondensatory kupowane jakiś czas temu w dużych ilościach więc myślę że wliczają przesyłki dla dużych ilości w proporcji wyjdzie ok 1 zł
-szpachla, lakier miałem od łatania samochodu po zimie

-akumulator coś ok 8-9 zł z wysyłką z ebaya
Całość to niespełna 50 zł
Zapraszam do komentowania.
Cool? Ranking DIY