Elektroda.pl
Elektroda.pl
X
Tektronix
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

trol.six 29 Lip 2019 19:54 1698 8
  • OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M
    Jest to raczej sprzęt dla fanów atmegi ;) Z punktu widzenia ekonomii nie ma wielkiego sensu.
    Stosując elementy smd oraz inny mikrokontroler można zrobić sprzęt i lepszy i tańszy. A części użyłem jakie miałem na stanie.

    Właściwości:
    - 1,2,4 kanały analogowe min (max 100,50,20 ksps) pasmo ok 40 kHz rezystancja ok 2Mom
    - 1 kanał z wejściem różnicowym, rezystancja różnicowa 2Mom, w odniesieniu do masy 1Mom
    - zakres sygnałów analogowych +-100mV
    - tryb powtarzalny pomiaru dla sygnałów okresowych (minimum 2-4kHz)
    (ekwiwalent 250ksps-16Msps) pasmo ok 300kHz
    - 1,2,4 kanały cyfrowe 100-10ksps (od 20ksps-2Msps zawsze 4 kanały)
    - 1 kanał cyfrowy 62k5 - 8Msps
    - prosty generator na timerze ok 1kHz - 8 Mhz
    - kalibracja
    - synchronizacja jest tylko dla trybu powtarzalnego
    - tryb 8 i 10 bit ADC
    - bufor 512 bajtów
    - sygnalizacja za pomocą LED, aktywnych kanałów itp
    - wejście synchronizacji zewnętrznej
    - wyjście uart jednokierunkowe: 9600,19200,38400,57600,115200,230400,0M5,1M,2M
    - transmisja danych tekstowa w formacie hex
    - wyjście izolowane na transoptorze (9600)
    - wyjście SPI
    - zasilanie 9-15 V (max 16V)
    - oprogramowanie odbiorcze do linuxa

    Ze względu na cięcia kosztów, sprzęt nie posiada tłumika wejściowego
    przerzucając koszty na sondę (obwody zewnętrzne).


    Opis przycisków:
    1. tryb ( ANALOG , A EKWIW, DIGITAL, D SPI , SETTING)
    2. zmniejsz
    3. zwiększ
    4. ilość kanałów
    5. typ synchronizacji
    6. ilość bitów przetwornika
    7. generator zmniejsz częstotliwość
    8. generator zwiększ częstotliwość
    9. generator zmiana dzielnika i wyłączenie


    Z początku generator był w jednym trybów, ale przeniosłem go na osobne przyciski.
    Ustawienia generatora nie działają w trybie ustawień (settings)
    W sumie po zrobieniu zdjęcia zauważyłem że jest błąd w opisie generatora, zamienione jest up z down.
    Te opisy na obudowie nie są pełne, ponieważ jeszcze nie wiem co będzie w wyjściami SPI
    Możliwe też jest umieszczenie dwóch dodatkowych przycisków.

    Tryb ustawień
    2. zmniejsz szybkość UART
    3. zwiększ szybkość UART
    4. kalibracja 0 (lub 0 i 80mV)
    5. kalibracja 80mV
    6. zapisz ustawienia kalibracji
    7. zapisz stan urządzenia (kanały, UART, generator)

    W plikach które wrzucam jest bardziej szczegółowy opis dla zainteresowanych.
    Tutaj nie chce robić zbyt długiego elaboratu.

    PCB jest zrobione z jednostronnej i doklejonej folii miedzianej która służy za mase.
    Pomalowane lakierem do szkła w celu ochrony. Prowadzenia drugiej warstwy jak widać drucikami.

    Na przyciski aby się PCB nie rozleciało podczas wciskania dogrzałem podtrzymania.

    ---------

    Sprzęt jest w wersji 0.1.0. I z powodu że nie jest to jakiś wypas chwilowo wystarcza,
    choć przydałoby się zrobić wyzwalanie bo nie każdy badany przebieg jest okresowy.
    Ale liczę na wasze uwagi i krytykę co wam się nie podoba, co można zrobić lepiej i postaram
    się te uwagi jakoś uwzględnić.

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    ---------

    Film, przepraszam ale jakość nie wyszła najlepsza.
    Może to kwestia ustawień kamery.



    ---------

    Kilka zrzutów z pomiarów.

    Wyjście z komputera - prawdziwa historia:

    Kiedyś ktoś był zdumiony że mam schody na wyjściu, no to prosze (podane przez dzielnik):

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    A po przepuszczeniu przez butterwortha:

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    A teraz bez dzielnika, sygnał ok 80mV i mnóstwo szumów.

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    Sygnał z kompa jest zaszumiony. Jednak ujawnia się tutaj jedna z wad pomiarów powtarzalnych.
    Po prostu szum powoduje błędy czasowe i rozmycie przebiegu w pozycji poziomej.
    Sutuacja byłaby lepsza gdyby zastosować w linii synchronizacji filtr dolnoprzepustowy.
    Ale musiałby by przełączany ponieważ nie można ograniczać pasma innym pomiarom.

    A tak wygląda w trybie zwykłym 100kHz
    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    Inny przykład, gdy przebieg jest czysty ale nie idealnie okresowy:
    Dla 2khz (okresowy) i 2.125

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    Ma to wadę i zaletę bo widać że przebieg nie jest idealnie okresowy, ale
    może być problem odróżnić czy jest to spowodowane szumami czy brakiem idealnego okresu.

    Co do pasma, przebiegi prostokątne z generatora 1MHz i 250kHz:

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    Inne:
    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    ---------

    Na chwilę obecną sprzet nie posiada wyświetlacza. Więc robi za przystawkę do komputera.
    Aby przyspieszyć i ułatwić sobie zadanie, jako że nie jestem jakiś wybitny,
    aplikacja odbierająca dane na komputerze do wyświetlania danych korzysta z programu gnuplot.
    Gnuplot może być uruchamiany z terminalem jako x11 lub wxt.
    Wxt ma troche możliwości jak zapisywanie do pliku png, dzięki temu prezentuje te zrzuty.

    Program zapisuje każdą paczke danych dla wykresu do pliku "data_000000000".

    Uruchomienie programu w terminalu:

    Kod: tex
    Zaloguj się, aby zobaczyć kod


    np:

    Kod: tex
    Zaloguj się, aby zobaczyć kod


    Jak ktoś ma ścieżki w zmiennej środowiskowej do gnuplota oraz programu oscg,
    to można oczywiście bez ścieżek.

    Kod: tex
    Zaloguj się, aby zobaczyć kod


    kończymy program przez 'q' i zatwierdzenie enterem.

    Jeśli ktoś ma wolny dysk proponuje skorzystać z ram dysku tmpfs

    Ja mam taką linijke w pliku fstab:

    Kod: tex
    Zaloguj się, aby zobaczyć kod


    opcje w terminalu (zatwierdzamy enterem):

    q - wyjście
    1 - włącz/wyłącz ograniczenie zmiany przebiegu na 1 sek
    s - zatrzymaj przebieg
    r - wznów przebieg

    Przydatne opcje dla gnuplota:
    - prawym przyciskiem klikamy i zaznaczamy powiększenie
    - u - powrót do poprzedniej skali

    Gdyby ktoś chciał moge przygotować skrypt, zrzut z pomiarów.
    Będzie można sobie zobaczyć na własnym sprzęcie, bez oscyloskopu.

    Plany:

    1. synchronizacja wejść. Szczerze powiedziawszy nie wiem
    jeszcze jak ją zrealizować, ponieważ sygnały mogą być różniste.
    Nie wiem czy też uda się zaimplementować bufor kołowy, może braknąć mocy obliczeniowej.
    Jeśli chodzi o cyfrowe to w oparciu o przerwanie czy flage da się, tylko będzie z opóźnieniem.

    2. przepisanie programu na PC. W planach możliwość zapisywania na bieżąco wszystkich pomiarów.
    Też jeszcze nie mam koncepcji, bo ilość danych może być duża. Moze jakieś ograniczenie?

    3. Przetwornik w atmedze działa z zegarem 2MHz czyli dwa razy więcej niż mówi specyfikacja.
    Poniewaz wpływa to troche na jakoś sygnału, w planach mam również dodanie trybu
    z niższą częstotliwością. Oraz może jakaś prosta filtracja.

    4. Watchdog w oprogramowaniu atmegi też by się przydał, nie ma go jeszcze
    ponieważ nie wiem jaką formę przybierze synchronizacja.

    5. Jakiś wyświetlacz.

    6. Do urządzenia można zamontować jeszcze dwa przyciski gdyby zaszła taka potrzeba.

    7. Bufor jak pisałem jest 512, ale może opcja zmiany bufora, atmega328 ma 2k ramu,
    więc w razie potrzeby byłoby x2 więcej danych. Jednak miejcie na uwadze,
    czas przesyłania danych z szybkością 19200 to 1 sek dla bufora 512.

    8. Oprogramowanie na komputerze i zbieranie ciągłe pomiarów. Na chwile obecną jest opcja, ale żyje własnym życiem.
    Minimum 50 pomiarów na sek powinno dać rade w trybach nawet 4 kanałowych.


    Elektronika:

    - Wejścia analogowe 1-4 na TL074.
    - Wejście różnicowe na buforach BF245A oraz wzmacniacz LF356.
    - Przesównik napięć na TL072.
    - Bufor cyfrowy na bramkach schmitta HCT14.
    - Zasilanie MC34063.
    - Synchronizacja dla trybu powtarzalnego zrobiona na komparatorze LM311
    - Wyjście izolowane transoptor 4n35, wlecze się, w zasadzie więcej jak 9600 to może nie działać
    Jeden ze sposobów w jaki można podłączyć, na przewodzie 2 żyłowym:

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M


    Problemy techniczne.

    Główne problemy, to szumy :) Po uruchomieniu miałem taki sygnał, szumy 10% :)

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    Z początku myślałem że nie da się zejść do sensownego poziomu, i będzie
    trzeba zmniejszać czułość wejściową. No ale przecież 10mV szumu to skądś się bierze.

    1. Przetwornica na MC34063, zmniejszyłem pojemność do 300pF, dzięki czemu
    częstotliwość z jaką działa jest większa i wynosi ok 100kHz.

    2. W projekcie jest prosty stabilizator na linii -5V. D27 R97 Q9 C30. Nie zamontowałem go, a w zamian zastosowałem pojemność 1000uF,
    generalnie 330uF jest koniecznością. Wynika z faktu że linia ta jest odczepem i działa podobnie jak flyback i wymaga lepszej filtracji.

    Jeśli ktoś jest wrażliwy na punkcie MC34063, może sobie zastosować stabilizatory liniowe.

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    3. Sygnały są w odniesieniu do napięcia podawanego przez U4 TL072.
    Z poczatku do testu zamontowałem LM358 który jednak szumiał i niezbyt dobrze trzymał
    napięcia dla większych częstotliwości.

    4. Z początku rezystancje wejściowe były 10Mom, ale to zbierało wszystko i jeszcze troche.
    Więc dałem 2Mom na TL074 i 1Mom do masy na bufor różnicowy.

    5. Górne PCB zaszumia sygnały w dolnej ze wzmacniaczami, więc dodatkowy ekranik.

    6. Czasami zaszumiał sam sygnał z generatora, dodałem na linii koralik ferrytowy smd.

    7. Wejścia powinny być typu BNC, zastosowałem zwykłe 2 PIN, ten 1 cm też zbiera szumy z otoczenia.
    Stąd mały ekranik na obudowie. No i oczywiście sondy muszą być ekranowane.

    8. W zwykłym trybie analogowym przetwornik ADC jak pisałem taktowany jest z wyższą
    częstotliwością, co też przekłada się na gorsze wyniki w tym zakresie.
    W trybie powtarzalnym jest taktowany 500kHz.

    Obecnie dla 4 kanałów:

    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M


    Zmiany względem schematu:
    -
    Dodałem kondensatory ograniczające pasmo na wzmacniaczach.
    Podczas testu wychodziło mi że braknie pasma dla TL074 w urzadzeniu okazało się odwrotnie.
    Stąd nie montowałem kondensatorów C4 C5 C6 C7, a dolutowałem 100pF w sprzężeniu.
    Poprawiłem to na schemacie.
    -
    C13 C14 C15 C16 nie montowałem, nie zauważyłem efektu.
    -
    R13 R14 R23 R29 - nie montowałem, one są z myślą gdyby atmega zasilana byłaby z 3V3
    -
    LED D11 D12 D14 D20 D21 - nie montowane, zarezerwowane na przyciski itp
    -
    dioda D1 z sygnałem UWSET jest zamontowana gdzie indziej ponieważ tutaj jej nie może być,
    zamiast na U8 jest na U11 (4094) pin11
    -
    Dodana jest dioda z rezystorem na zasilanie +5V wstępnie obciążająca przetwornice.
    Aby napięcie ujemne było sensowne przetwornica najlepiej jakby pracowała w trybie ciągłym.
    -
    zamiast stabilizatora na linii -5V jest kondensator 1000uF i zenera 6V8 dla zabezpieczenia
    -
    R1 nie montowane, ponieważ SWR3 z przycisków jest podpięty do PD2.
    poprawione na schemacie, ale nie na PCB, ale po prostu ich nie montujemy.
    C33 nie montowany ale może będzie potrzebny w przyszłości gdyby były zakłócenia
    -
    Pin PD4 nie używany. nie podłączamy tam nic.
    -

    Błędy i nie przemyślenia:

    Płytka ma dwa wyjścia SPI z sygnałami CE. I jest tylko taki niuans
    że nie ma na nich sygnału MISO i urządzenie nie może odczytywać. :)
    A robiłem SPI z myślą o np karcie SD. MISO zajęty był przez sygnał z przycisków.
    A drugi SPI z myślą o wyświetlaczu. No i to wymaga przemyślenia bo brakuje pinów z atmegi.

    Można sygnały CE wziąść z zatrzasku szeregowego. Pierwotnie miały służyć innym celom.
    Na chwile obecną sygnał jest przepięty, i zmiany są na schemacie ale nie na PCB które zamieszczam.

    Z tym że nie wiem czy takową obsługe karty SD i tak zrobie, bo w asm raczej i tak nie będe pisał.

    Na razie zamontowane tylko złącze dla 1 SPI, ale nie wiem co zrobie z tym w przyszłości.

    Być moze przydałyby sie diody zabezpieczające na wejście różnicowe

    Czasem pojawiają się takie błędy, nie wiem skąd:
    OSANMEG oscyloskop 4ch 1ch różnicowy przystawka analizator generator 100k 2M 16M

    Spasowanie PCB w relacji do gniazd wyszło przeciętnie.
    Na filmie prezentuje sposób wciskania w obudowe.



    ---------

    Wersja 0.1.0 jest na licencji MIT.
    Program pisałem w asemblerze. Udostępniam wsad na atmega328.

    Fuse bity dla atmega328: bodlevel 2V7 nodiv8 full crystal
    LOW: 0xd7
    HIG: 0xd9
    EXT: 0xfd

    Jakby ktoś chciał pomyśle nad atmega168 bo zmian wiele nie będzie. Może się uda, bo różnice nie są duże.

    Na razie nie udostępniam źródeł na atmege.

    W pliku zip lub qz (do wyboru), katalogi: doc pcb schem soft_atmega328 soft_linux

    gnuplota trzeba sobie ściągnąć, program odbiorczy w soft_linux, kompilujemy poleceniem make.

    ---------

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • Tektronix
  • #2
    o_Tadeusz
    Poziom 15  
    trol.six napisał:
    1,2,4 kanały analogowe min (max 100,50,20 ksps)
    [/quote]
    Jak to osiągnąłeś na na przetworniku 10ks z mega328? Taktujesz ADC częstotliwością CPU? Rozdzielczość nie spada poniżej 8bit?
    Ta drabinka rezystorów na wyjściu generatora to chyba nieporozumienie? Generator może pracować równocześnie z oscyloskopem?
  • Tektronix
  • #3
    szymon122
    Poziom 38  
    Ja jestem w trakcie projektowania przystawki z wejściami cyfrowymi do oscyloskopu dso150. Planuję zastosować optoizolacje wejść za pomocą PC817. Miałeś może podobne pomysły? Masz jakieś rady? Są jakieś tanie transoptory z częstotliwością graniczną większą niż 200kHz, ponieważ tyle obsługują kanały? 6N137 są szybkie, ale max 7V na wejściu a ja potrzebuje minimum 30V.

    trol.six napisał:
    1,2,4 kanały cyfrowe 100-10ksps (od 20ksps-2Msps zawsze 4 kanały)

    Starałem się bardzo, ale nic nie zrozumiałem :D Jaka prędkość maksymalna jest dla 1, 2 i 4 kanałów?

    Jeśli masz możliwość to zmień wejścia na BNC, powinno być lepiej.
  • #4
    trol.six
    Poziom 31  
    o_Tadeusz napisał:
    Jak to osiągnąłeś na na przetworniku 10ks z mega328?

    trol.six napisał:
    3. Przetwornik w atmedze działa z zegarem 2MHz czyli dwa razy więcej niż mówi specyfikacja.
    Poniewaz wpływa to troche na jakoś sygnału, w planach mam również dodanie trybu
    z niższą częstotliwością. Oraz może jakaś prosta filtracja.

    Jest oczywiście troche gorszy niż w ramach specyfikacji.

    Drabinka rezystorów służy synchronizacji. Generator jak pisałem jest banalny na timerze, przebieg prostokątny. Są do obsługi 3 przyciski, może działać niezależnie od trybów pomiarowych.

    szymon122 napisał:
    Jaka prędkość maksymalna jest dla 1, 2 i 4 kanałów?

    2M, z tym że, ponieważ atmega ma już mało mocy na przerabianie danych z portów, od 20ksps są zawsze 4. Coś tam jeszcze może pomyśle. Ale na razie tak jest.
    Co do optoizolacji, można zrobić na wiele sposobów, tutaj jest najprostsza.
    Jeden element nie koniecznie spełni nasze oczekiwania. Stąd czasem buduje się układy.
  • #6
    trol.six
    Poziom 31  
    trol.six napisał:
    - wyjście izolowane na transoptorze (9600)

    Nom, może powinienem jeszcze dodać z UART.

    Tak, wejścia 1-4 ch maja wspólną mase, oprócz różnicowego, który ma wyprowadzoną mase na złącze, ale sygnały nie muszą być na masie. Trzeba jednak uważać na zakres napięć. Nie wiem ile wynosi, ale +-1V myśle da rade. No i jeszcze jest współczynnik tłumienia tętnień współbierznych.
    .
  • #7
    paluszasty
    Poziom 24  
    Fajnie że Ci się udało coś takiego zrobić.Projekt fajny do nauki. Na pewno dużo pracy w to włożyłeś, szczególnie w cześć programistyczną.

    Czemu taki dziwny montaż? Myśle o elementach THT montowanych jak SMD. Z lutowaniem SMD widać że nie masz problemu (atmaga w TQFP) więc po co tak. Podejrzewam że szum by mógł zmaleć przy zastosowaniu zwyczajnego montażu SMD, tak to masz dużo anten co zbierają śmieci.
  • #8
    szymon122
    Poziom 38  
    paluszasty napisał:
    Czemu taki dziwny montaż? Myśle o elementach THT montowanych jak SMD.

    Jeśli mi by nie chciało się wiercić prawdopodobnie kilkuset otworów to też bym tak zrobił :D
  • #9
    trol.six
    Poziom 31  
    paluszasty napisał:
    Czemu taki dziwny montaż?

    I mniej wiercenia i czasem łatwiej PCB się robi, szczególnie dwustronne. Ja tak montuje od bardzo dawna, projekt na elektrodzie sprzed lat:
    https://www.elektroda.pl/rtvforum/viewtopic.php?t=1668656

    No i nie specjalnie zależało mi na zamawianiu podzespołów do niego, szczególnie jeśli mam na stanie. Poza tym ekranowanie i tak podejżewam musiałoby być, ścieżki i smd też zbierają. Kiedyś oscyloskopy miały znacznie większe anteny i jakoś mierzą sygnały miliwoltowe.

    paluszasty napisał:
    Na pewno dużo pracy w to włożyłeś, szczególnie w cześć programistyczną.

    W zasadzie projekt elektroniki wraz z PCB był bardziej wkurzający
    ;)