Spisu treści:

Oscyloskop Arduino: dlaczego to działa: 4 kroki
Oscyloskop Arduino: dlaczego to działa: 4 kroki

Wideo: Oscyloskop Arduino: dlaczego to działa: 4 kroki

Wideo: Oscyloskop Arduino: dlaczego to działa: 4 kroki
Wideo: Jak diagnozować i naprawiać sprzęt elektroniczny - poradnik na przykładzie dwóch Raspberry Pi 2024, Grudzień
Anonim
Image
Image

Kilka lat temu zajmowałem się elektroniką i studiowałem podstawowe zasady. Odkryłem, że luneta jest narzędziem, które pomaga prawie we wszystkim. Teraz, kiedy to zrozumiałem, zacząłem uczyć się podstawowych zasad działania oscyloskopu, po kilku miesiącach pomyślałem sobie, że oscyloskop można zaimplementować na mikrokontrolerze, jeśli postawię się w punkcie uczenia się perspektywiczny. Po co mikrokontroler, skoro miał wszystko, co potrzebne do jego zbudowania, jak ADC do odbioru sygnału (ale bez interfejsu sterującego), miał porty GPIO, które można było wykorzystać do wielu celów, również ma procesor, choć cichy! (Myślałem o arduino).

Zacząłem od badania oscyloskopów arduino, które były dobre i bardzo dobre, ale wolałbym prostszego kodu, który byłby łatwy do modyfikacji i zrozumienia. Gdy szukałem, na forach arduino natrafiłem na bazę aktualnego kodu z 'vaupell'. Zacząłem go modyfikować, komentować i czyścić, aby był bardziej czytelny. Oryginalny kod pochodzi od Noriaki Mitsunaga.

Zobaczmy więc, jak skonfigurować sprzęt i oprogramowanie oraz jak z niego korzystać.

Muszę jeszcze zacząć pisać wyjaśnienie kodu na wiki GitHub. jeśli masz trochę wolnego czasu, rozejrzyj się.

! - Ten projekt nie opisuje szczegółowo, jak zrobić oscyloskop, ale pokazuje, jak używać prostego mikrokontrolera do emulowania zachowania oscyloskopu w świecie rzeczywistym, aby zrozumieć, jak działa oscyloskop.

Krok 1: poznanie swojego sprzętu

Znając swój sprzęt
Znając swój sprzęt

Celem tego projektu jest zapewnienie wglądu w działanie zakresu. Z tego powodu wybrałem najprostszą i popularną platformę sprzętową arduino. Kod można uruchomić na arduino uno lub arduino mega, gdzie ten drugi jest preferowany, ponieważ ma więcej wolnych i dostępnych pinów, gdy jest na nim zainstalowany wyświetlacz.

Więc w tym projekcie będę używał arduino mega (2560).

Kolejnym elementem jest wyświetlacz. Ta konfiguracja wykorzystuje ekran dotykowy arduino TFT 2,5 cala (identyfikator sterownika to 0x9341). Daje to możliwość wyświetlania na ekranie wielu kanałów, które można od siebie odróżnić.

To wszystko. Jednak !, ten zakres jest bardzo ograniczony w swoich możliwościach, więc nie pchaj go do krawędzi. Niektóre konkretne rzeczy, o które należy się troszczyć, to;

Arduino ADC nie radzi sobie bardzo dobrze z napięciami powyżej 5 woltów i nie radzi sobie również z napięciami poniżej 0 woltów. Dlaczego, bo tak jest zaprojektowany.

pozyskiwanie danych z wielu kanałów jednocześnie zmniejsza efektywną częstotliwość próbkowania pojedynczego kanału, ponieważ próbki są pobierane naprzemiennie z wielu kanałów.

częstotliwość próbkowania jest bardzo niska (dla akwizycji pojedynczego kanału może dojść do 10kSps, ale przy dwóch kanałach spada do 5kSps/kanał). Można to złagodzić, ustawiając częstotliwość odniesienia ADC (ustawiając preskalar) na niższą wartość. Ma to jednak swoje własne problemy ze złym rozwiązaniem.

Nie zapomnij też o komputerze, aby wgrać kod do arduino.

Krok 2: Konfiguracja

Ustawiać
Ustawiać
Ustawiać
Ustawiać

Konfiguracja jest bardzo prosta;

Przymocuj osłonę wyświetlacza do Arduino Mega, aby styki zasilania na obu płytach były wyrównane.

podłącz płytkę do komputera za pomocą kabla USB.

Otwórz arduino IDE i dodaj bibliotekę wyświetlacza TFT SPFD5408 (0x9341), jeśli jeszcze jej nie ma.

Teraz prześlij plik kodu z github do Arduino.

GitHub - Arduino-oscyloskop

Masz to!. Możesz majstrować przy kodzie, ustawiając kanały 8 (ch0) i 15 (ch1) na ON lub OFF w sekcji konfiguracji kanału kodu. Możesz zmienić zmienną szybkości na wartość z tablicy szybkości, aby ustawić czas/podział zakresu. Możesz ustawić typ wyzwalacza na automatyczny lub pojedynczy w sekcji wyzwalacza kodu.

Poniższy krok pokazuje, że 3-osiowy akcelerometr ADXL335 jest zasilany i odczytywany przez oscyloskop Arduino, jak widać na pierwszym filmie.

Krok 3: Przykład – ADXL335 odczyt z akcelerometru

Przykład - ADXL335 Odczyt z akcelerometru
Przykład - ADXL335 Odczyt z akcelerometru
Przykład - ADXL335 Odczyt z akcelerometru
Przykład - ADXL335 Odczyt z akcelerometru
Przykład - ADXL335 Odczyt z akcelerometru
Przykład - ADXL335 Odczyt z akcelerometru

Zasil moduł akcelerometru z 5 V DC i GND płyty arduino po prawej stronie na górze i na dole. Teraz podłącz pin x-out modułu adxl335 do pinu A8 płyty arduino, jak widać na zdjęciach. jeśli oś X akcelerometru jest skierowana w dół, linia danych na ekranie oscyloskopu zostanie przesunięta od zera, ponieważ moduł adxl będzie odczytywał przyspieszenie grawitacyjne. spróbuj potrząsnąć nim w kierunku x, jak zaznaczono na tablicy adxl, kolce pojawią się na ekranie.

Aby dowiedzieć się więcej o zakresie i jego funkcjonowaniu, zobacz GitHub Wiki

Krok 4: Wkład?

Jeśli chciałbyś przyczynić się do tworzenia dokumentacji wiki, serdecznie zapraszamy. Oscyloskop to fantastyczny sprzęt i myślę, że to dobre narzędzie STEM!.

Obecnie pracuję nad małym front-endem z atrapą PGA i kontrolą przesunięcia i dodałbym kontrolę dla time/div i może odczytywanie sygnałów AC niskiego napięcia.

Zalecana: