Budowa oscyloskopu hobbystycznego

30

Mam projekt, nad którym zastanawiałem się od jakiegoś czasu i doszedłem do wniosku, że w pewnym momencie jego rozwoju będę potrzebować oscyloskopu. Okej, nie ma problemu.

Zamiast kupować oscyloskop, zdecydowałem, że chciałbym - przynajmniej - zaprojektować własny i mam nadzieję, że zbuduję wynik. Aby uprościć sprawę, myślę o użyciu Raspberry Pi do wykonywania wszystkich obliczeń i wizualizacji (nie mam ochoty implementować FFT na AVR, dziękuję bardzo).

Im więcej czytam o oscyloskopach, tym bardziej jestem zdezorientowany. Dlaczego oscyloskop nie jest tylko ADC? Gdybym miał zahaczyć coś jak to (z odpowiednią ochroną ponad napięcia i wstępnej amplifikacji) do obiegu na jednym końcu, a odpowiednio zaprogramowanego procesora z drugiej strony, nie byłoby to oscyloskop?

[W przeszłości pracowałem tylko z prostymi obwodami cyfrowymi - jestem głównie teoretycznym informatykiem! - i dlatego próbuję teraz owinąć głowę wokół analogowej elektroniki. Dlatego przepraszam, jeśli odpowiedź na to pytanie jest niezwykle oczywista ...]

Eteryczny
źródło
6
Warto zacząć od przestudiowania kilku istniejących oscyloskopów typu open source: niektóre linki tutaj również to zobaczą . W przypadku RPi zamknięta konstrukcja SoC wymaga podpisania NDA i przekonania producenta SoC, aby dał ci informacje, których możesz potrzebować, aby zrobić to, co chcesz. Coś w rodzaju Tiva-C Launchpad, lub jeszcze lepiej, Beagle Bone Black może być łatwiejszym punktem wyjścia z tego powodu. BBB ma ponad wystarczającą moc IO i moc obliczeniową, a także dobrą dokumentację.
Anindo Ghosh
5
Nawet niedrogi oscyloskop 100 MHz może mieć częstotliwość próbkowania 1GSps. 8-bitowy ADC 20MSps nie będzie dobry na wiele MHz (Harry i Claude twierdzą, że 10 MHz jest absolutnym limitem). Musisz mieć możliwość pobrania informacji z ADC i do procesora, gdzie mogą zostać wyświetlone. Front-end o jakości komercyjnej również nie jest trywialny. Nie chcę cię zniechęcać, ale coś, co zbudujesz, nie będzie miało wydajności Rigola za 350 USD. Z pewnością będzie to dobry projekt do nauki.
Spehro Pefhany
10
Jak myślisz, dlaczego oscyloskop wymaga implementacji FFT?
Phil Frost
5
Dla modelu badawczego najważniejszą rzeczą do zrealizowania oprócz ADC jest obwód wyzwalający. Chcesz stabilnego wyświetlacza, a nie takiego, który ciągle się porusza. Musisz dowiedzieć się, jak zacząć rysować falę za każdym razem dokładnie w tym samym momencie. Można to zrobić, może być fajna i potencjalnie wiele się z tego nauczysz. Prawdopodobnie najważniejszą lekcją będzie to, że lunety cyfrowe o rozsądnej jakości są obecnie dość tanie.
jippie
9
Mam nadzieję, że podczas budowania macie dostęp do oscyloskopu. :-p
Lyndon White

Odpowiedzi:

23

W samym sercu oscyloskop (cyfrowy) to tylko ADC wraz z pewną pamięcią do przechowywania próbek. Próbki są następnie odczytywane z pamięci i wyświetlane.

Praktyczne problemy z implementacją komplikują komercyjne oscyloskopy. Sygnał wejściowy musi być odpowiednio skalowany dla zakresu przetwornika ADC, co oznacza, że ​​musisz mieć tłumiki i / lub wzmacniacze, które mają bardzo dokładne wartości wzmocnienia, które są bardzo płaskie w szerokim zakresie częstotliwości (DC do 10s lub 100s Minimum MHz) w celu pomiaru przebiegów przy minimalnych zniekształceniach.

Ponadto, w zależności od zastosowania, częstotliwość próbkowania ADC musi być dostosowana (bardzo dokładnie) w szerokim zakresie dynamicznym - typowe byłoby 1 ns / próbkę do 1 s / próbkę (9 rzędów wielkości).

Następnie pojawia się pytanie, kiedy należy rozpocząć - lub, co ważniejsze, zatrzymać - próbkowanie; jest to nazywane wyzwalaniem. Różne aplikacje mają różne potrzeby wyzwalania, a komercyjne zakresy mają szeroki wybór, aby je dostosować.

Dave Tweed
źródło
Dobrze widzieć, że nie byłem zbyt daleko od celu, dziękuję! Myślę, że to wyjaśnia większość mojego zamieszania. Aby mieć absolutnie minimalną funkcjonalność (powiedzmy, wyświetlać falę kwadratową bez zmiany fazy niepotrzebnie na wyświetlaczu), jaki podzbiór mechanizmów wyzwalających do wdrożenia? Czy to głupie pytanie?
Eteryczny
2
Zamiast dostosowywać częstotliwość próbkowania ADC, rozważ cyfrowy filtr dziesiętny w FPGA lub oprogramowaniu do wyświetlania. Surowe konstrukcje, które jedynie zmniejszają częstotliwość próbkowania, cierpią z powodu mylącego aliasingu, który operator musi wykluczyć poprzez znajomość sygnału lub eksperymentalną zmianę podstawy czasu w celu sprawdzenia, czy sygnał jest nadpróbkowany, czy niedopróbkowany.
Chris Stratton
Wyzwalanie surowe można wykonać za pomocą komparatora analogowego lub cyfrowego, być może o histerezie. Ponadto w zakresie cyfrowym próbkowanie jest zwykle wykonywane w sposób ciągły w buforze kołowym podczas oczekiwania na wyzwolenie, a następnie zatrzymywany przez pewien czas po spełnieniu warunku wyzwolenia. Dostosowując ilość próbkowania po wyzwalaczu, możesz pozostawić bufor zawierający to, co wydarzyło się przed wyzwalaczem, a także po nim.
Chris Stratton
1
W zakresie cyfrowym wyzwalanie może odbywać się całkowicie w domenie cyfrowej, chociaż pewne dość skomplikowane oprogramowanie układowe poprawnie nakłada wyniki powtarzalnych wyzwalaczy na sygnał okresowy. Wyzwalacze jednorazowe są stosunkowo trywialne.
Dave Tweed
13

Ważne jest, aby odróżnić projekt hobby od sprzętu, który jest gotowy do użycia, i dokonać właściwego wyboru. To nie musi być właściwy wybór dla innych.

Jeśli chcesz, aby sprzęt był używany do innego projektu W TYM roku, kupiłbym jeden. Może być nowy lub używany w zależności od wymagań i budżetu.

Jeśli chcesz zbudować oscyloskop jako hobby lub projekt edukacyjny, to idź naprzód! Życzę dobrej zabawy i edukacji. Dowiesz się dużo. Prawdopodobnie spotkasz niegrzecznych mówców; powiedz im, że mogą zaoszczędzić dużo czasu i pieniędzy podczas następnych wakacji, np. nie jeżdżąc do Europy i nie kupując w zamian książki z obrazkami. Brakuje im sensu!

(Podstawowy) oscyloskop cyfrowy rzeczywiście składa się z interfejsu (w tym ADC i być może obwodu wyzwalającego), wbudowanego komputera, wyświetlacza i oprogramowania.

Zasugeruję, że prawdopodobnie pojawią się następujące problemy:

  • Czas. Ten projekt zajmie ci trochę czasu, w zależności od pożądanej wydajności, doświadczenia itp.
  • Koszt. Będzie kosztować więcej niż kupowanie takiego samego sprzętu.
  • Wydajność. Jakiego rodzaju wydajności szukasz? W tym zakresy wejściowe, rozdzielczość czasowa, ile napięcia musi wytrzymać przód.
  • Testowanie. Jak to debugujesz? Jak sprawdzisz, czy działa poprawnie?
  • Bezpieczeństwo. Co się stanie, jeśli sondujesz napięcie 120 VAC lub osiągniesz wyższe napięcie?
Technofil
źródło
Wiesz, że Europejczycy będą rozbawieni twoimi radami dotyczącymi wakacji, prawda? :-)
RedGrittyBrick
10

Myślę, że można uzyskać kilka pomysłów z cyfrowego oscyloskopu AVR 10 MHz 50MS / s .
Zawiera pełne schematy i kod źródłowy.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Używa małego CPLD, który odczytuje wyniki ADC i wypełnia pamięć RAM, a następnie używa mcu AVR do odczytu danych RAM i wysyłania ich do komputera


Przydatne mogą być również:

  • Te schematy Bitscope
  • dsonano tym pełne schematy i kod źródłowy
  • Kilka projektów związanych z OSD wykorzystujących FPGA lub MCU wymienionych tutaj

Na stronie projektu openDSO znajduje się schemat blokowy, który powinien być przydatny do wizualizacji sekcji używanych w DSO.

wprowadź opis zdjęcia tutaj

alexan_e
źródło
6

JYE Tech ma zestaw oscyloskopów za 49 USD :

wprowadź opis zdjęcia tutaj

z następującymi funkcjami:

5M samples/second
8 bit resolution
256 sample memory depth
1MHz analog bandwidth
100mV/Div-5V/Div sensitivity
1MΩ impedance
50Vpeak-to-peak max input voltage
DC/AC coupling
Save and display up to 6 captures to memory
Transfer screen capture to PC as a bitmap file (serial adapter not included)
Backlit LCD display
FFT function available

Sparkfun również je nosi, ale za 10 USD więcej.

Wszystkie elementy do montażu powierzchniowego są już lutowane.

Używa ATmega 64. Zapewniają schemat i listę części na swojej stronie internetowej, jeśli chcesz z nich skorzystać, przewodnik po tworzeniu własnych, ale wątpię, czy możesz to zrobić za jakieś blisko 49 USD. Dostępny jest również kod źródłowy oprogramowania układowego.

Za jedyne 30 USD więcej (79,50 USD) mają zmontowaną jednostkę z pasmem analogowym 5 MHz.

tcrosley
źródło
1
To, co jest warte, to mniej więcej wydajność oscyloskopu Heathkit z lat 50. XX wieku. Tylko sprzężony z prądem przemiennym (na bazie lampy próżniowej). theoldcatvequipmentmuseum.org/180/182/…
Spehro Pefhany
1
Jak na ironię, Heath wprowadził swój pierwszy elektroniczny zestaw oscyloskopów (O1) w 1947 r., Który również sprzedał za 50 USD. Ale w dzisiejszych dolarach byłoby to nieco ponad 500 USD.
tcrosley
Jest to bardzo denerwujące w użyciu, ponieważ nie ma żadnych wskazówek na temat tego, jak niedawno zostało uruchomione. Jeśli wskaźnik zacznie migać lub coś pojawi się po pół sekundy, aby pokazać, że wyświetlacz jest nieaktualny, będzie znacznie bardziej użyteczny, chociaż w granicach takiego prymitywnego samplera.
Chris Stratton
Ponieważ zapewniają kod źródłowy oprogramowania układowego, prawdopodobnie można bez problemu dodać do wyświetlacza wskaźnik wyzwalający.
keshlam
Dostarczone przez nich źródło ma jednak bardziej ograniczone oprogramowanie układowe niż na urządzeniu.
Chris Stratton,