Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA

drzasiek 17 Jun 2011 08:08 114032 158
SterControl
  • #31
    r06ert
    Level 25  
    Gratuluje fajnej konstrukcji i zazdroszczę wiedzy zdobytej przy jej tworzeniu. ;) Czy kolega sam napisał cześć odpowiedzialną za obliczenie widma, czy korzystałeś z gotowców? Tak z ciekawości zapytam, czy kolega nie podzieli się tym fragmentem kodu? :)

    Pozdrawiam.
  • SterControl
  • #32
    wilk125
    Level 23  
    witam

    Czy urządzenie ma funkcje rejestratora? Nie ukrywam że przydało by mi się coś takiego w motoryzacji.

    pozdrawiam
  • SterControl
  • #33
    Wuja665
    Level 13  
    Szczęka mi opadła, dosłownie - dawno nie widziałem tak przydatnej konstrukcji w DIY ;-) Gratuluję! Czekam z niecierpliwością na schemat i wsady - to urządzenie naprawdę może pomóc, w samochodzie dosłownie niezastąpione ;-) W jakim języku pisałeś program (wybacz pytanie, ale zatrzymałem się w czasie i ciągnie mnie by wrócić do programowania mikrokontrolerów), oraz ile zostało wolnej pamięci Xmedze na dalszy kod?
  • #34
    drzasiek
    CNC specialists
    No więc obiecane pomiary(zrobiłem fotki, lepiej widać niż na filmie.)

    Tak wygląda przebieg prostokątny ok 350kHz:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA
    A tak wygląda ten sam prostokąt z 3 krotnie zwiększoną częstotliwością próbkowania:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA
    a tak z 6 krotnie:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA

    Dla porównanie dodaje przebiegi z symulacji komputerowej takiego samego przebieg identycznym filtrem w programie MATLAB:

    3x:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA

    Oraz 6x:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA

    Dla porównania trójkąt o takiej samej częstotliwości(taki przybliżony trójkąt, nie posiadam generatora więc jest to prostokąt z LM555 po filtrze LP)

    Tak wygląda w bez interpolacji:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA
    A tak po 3 krotnym zwiększeniu częstotliwości próbkowania:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA

    Sami oceńcie co lepiej mierzyć

    r06ert wrote:
    Gratuluje fajnej konstrukcji i zazdroszczę wiedzy zdobytej przy jej tworzeniu. ;) Czy kolega sam napisał cześć odpowiedzialną za obliczenie widma, czy korzystałeś z gotowców? Tak z ciekawości zapytam, czy kolega nie podzieli się tym fragmentem kodu? :)

    Pozdrawiam.


    Pisałem już o tym wyżej.

    wilk125[ wrote:

    witam

    Czy urządzenie ma funkcje rejestratora? Nie ukrywam że przydało by mi się coś takiego w motoryzacji.

    pozdrawiam

    Nie bardzo rozumiem o jaki rejestrator Ci chodzi.

    Wuja665 wrote:

    W jakim języku pisałeś program (wybacz pytanie, ale zatrzymałem się w czasie i ciągnie mnie by wrócić do programowania mikrokontrolerów), oraz ile zostało wolnej pamięci Xmedze na dalszy kod?

    Oprogramowanie napisane w najlepszym języku jaki istnieje czyli C
    Było to moje pierwsze spotkanie z XMega dlatego na zapas kupiłem XM128, przy oscyloskopie potrzeba trochę pamięci RAM(bufory i te sprawy) a i nie wiedziałem ile funkcji będę chciał zmieścić. Z początku starałem się optymalizować kod pod względem wykorzystania RAM i Flash, ale potem jak się zaczęło tu dokładać, tam odejmować to się już tak wszystko namieszało, że uznałem, że odpuszczę optymalizację kodu pod względem oszczędności pamięci flash (miałem jej aż za dużo), oszczędzałem jedynie RAM. I takim sposobem zajmuje to aż 82kB, gdyby to od początku pisać z myślą o upchnięciu w jak najmniejszym uC to pewnie bym się w XM32 zmieścił. Tak czy siak zostało jeszcze sporo pamięci na rozbudowę(ewentualną).
  • #35
    wilk125
    Level 23  
    drzasiek wrote:
    wilk125[ wrote:
    witam
    Czy urządzenie ma funkcje rejestratora? Nie ukrywam że przydało by mi się coś takiego w motoryzacji.
    pozdrawiam
    Nie bardzo rozumiem o jaki rejestrator Ci chodzi.
    chodzi o możliwość zarejestrowania jakiegoś przebiegu nie okresowego przez pewien czas, później taki przebiegł np. wrzuciłbym do kompa do dalszej obróbki.
  • #37
    drzasiek
    CNC specialists
    Dobra wiadomość dla posiadających LCD ze sterownikiem L2F50. Wczoraj otrzymałem zamówionego siemensa i był tam właśnie taki LCD, dopisałem szybko do niego sterownik i jest też wersja pod ten sterownik. Dziś albo najpóźniej jutro już podam link do wszystkich materiałów.

    Dodano po 3 [godziny] 42 [minuty]:

    Chętnych do wykonania oscyloskopu zapraszam:
    XXX

    Regulamin wewnętrzny pkt. 5
    (joy_pl)
  • #38
    gaspaccio
    Level 18  
    Patrząc na schemat (którego tu nie ma, ale google już wiedzą gdzie jest :D) zastanawia mnie napięcie zasilania. Wszystko jest na 3,3V. Nie boisz się tego napięcia? Czytając różne wątki na temat wyświetlaczy od S65, znalazłem opinie że 3,3V to absolutne maximum, zdarza się też że niektóre egzemplarze tego nie wytrzymują.
    Może spróbować obniżyć do 3V?
    Sprawę komplikuje trochę karta SD, nie jestem pewien czy zadziałał by przy takim napięciu, za to procesor spokojnie mieści się w parametrach.
    Ponadto obniżenie napięcia pozwoli na dłuższe działanie na akumulatorze z zachowanymi parametrami stabilizacji.
  • #39
    drzasiek
    CNC specialists
    Nie wiem, może czytałeś jakieś stare wątki, w wątkach z pierwszych prób uruchomiania tego LCD można znaleźć nawet, że max to 3V. Nawet nie wyobrażasz sobie ile godzin ten LCD przy budowie prototypu wytrzymał przy takim zasilaniu.
    Z kartą SD nie byłoby problemu.
  • #40
    pini0
    Level 14  
    witam
    czy ten oscyloskop nadaje się do pomiarów tętnień w zasilaczach i przetwornicach, niskiego napięcia 12V 5V 1,2V
  • #41
    drzasiek
    CNC specialists
    Hmm.. trudno odpowiedzieć, jeśli czegoś nie próbowałem. Zakres napięciowy powinien na to pozwolić. Co do zakresu częstotliwości to już zależy na jakich częstotliwościach te tętnienia mają występować. A może wykorzystać do tego analizator widma? Jak tętnień nie ma, to prążków żadnych nie będzie, będą tętnienia więc będzie jakaś częstotliwość w sygnale więc pojawia się jakieś prążki.
  • #42
    Tomekddd
    Level 23  
    Cześć, bardzo fajna konstrukcja.
    Powoli gromadzę materiały do jej budowy więc pewnie niebawem uda mi się to złożyć.
    Mam natomiast pytanie jak zaprogramowałeś procesor w tym oscyloskopie? Przez ISP? Nie moge sie tam doszukać złącza do programowania.
  • #45
    Tomekddd
    Level 23  
    Ok dzięki poczytam, choć z tym programowaniem mogę mieć problemy. Czy autor mógłby sprzedać zaprogramowanego procka? i jaka by była cena?

    W linku masz byka bo sie przecinek na końcu dodał.
  • #46
    slawek55
    Level 23  
    To jakie jest bezpieczne napięcie dla tego LCD?
  • #47
    wkopacz
    Level 13  
    witam,
    projekt świetny, gratulacje.
    Rzuciłem okiem na schemat na Twojej stronie i zauważyłem zupełny brak zabezpieczeń wejścia.
    Liczysz, że wewnętrzne zabezpieczenia Xmegi wystarczą ?
    pozdr, wk
  • #48
    drzasiek
    CNC specialists
    Tak, w zupełności wystarczą.. Popatrz na schemat, jak chcesz to sobie przelicz co by się musiało stać na wejściu, żeby popłynął prąd wsteczny powiedzmy 20 mA na wejściowym zabezpieczeniu.
  • #49
    wkopacz
    Level 13  
    Witam,
    zrobiłem małe symulacje:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA

    Jak widać dzięki zastosowaniu R1 i R2 (jak rozumiem - sztuczna masa)
    faktycznie :-) odporność na przepięcia wzrasta z ok 500V (bez nich) do ok 2kV.

    Co nie zmienia faktu, że sam dałbym równolegle do C9 (wyjście stabilizatora) diodę zenera 3.3..3.6V
    - wtedy prawdopodobnie przy "wpadce" ostałby się chociaż LCD, bo XM umrze na pewno...

    pozdr, wk
  • #50
    Jaco18
    Level 26  
    Koledzy programator do ATXMEGA oraz wszystkich innych ze starszej rodziny można kupić na polskiej stronie firmy Sibit, cena jest bardzo atrakcyjna, koleś rzetelny. Sam mam taki programator i działa bardzo dobrze, kilku moich kolesi grzebiących w AVR tez to kupiło i nie narzekają. Jest to klon AVRISP MKII z softem LUFA. Koszt to około 80 zł + przesyłka wiec nie wiem czy się opłaci samemu coś kombinować.

    Kolego drzasiek jak byś chciał to mogę pomoc w dorobieniu jakiejś części analogowej i zabezpieczeniu wejść przed uszkodzeniem, mam w tym pewne doświadczenie.

    Pozdrawiam
  • #51
    drzasiek
    CNC specialists
    Mam dokłądnie ten programator, tyle że z ale;ro.
    Miło wiedzieć, że jest na tym forum ktoś kto w tej kwestii pomoże a nie zgłosi post do moderatora :) Jak będę miał jakieś problemy przy następnej wersji to juz wiem do kogo się zwrócić.
  • #52
    Jaco18
    Level 26  
    Kolego :arrow: drzasiek widzę, że nie zalałeś pola pod axtmega masą, oraz że masy zasilania i sygnałowe są dość cienkie - nie miałeś problemów z zakłóceniami albo łapaniem śmieci radiowych z otoczenia ??

    Podejrzewam że uśredniasz albo i filtrujesz sygnał programowo dlatego uzyskałeś tak dobre wyniki, w ogóle program mi się bardzo podoba i gratuluję determinacji w jego tworzeniu oraz tak dużego rozbudowania. Zawarłeś tu praktycznie wszystko co jest potrzebne w takim przenośnym urządzeniu a nawet więcej, super pomysł z FFT, może to być bardzo przydatne np do badania przetwornic impulsowych czy nie sieją gdzieś na wyższych częstotliwościach.

    Nie wiem czy czytałeś to:

    Link

    generalnie w konstrukcji dość jak by nie było nowych procesorów ATXMEGA występuje jakiś błąd w przetworniku ADC który powoduje, że rzeczywista rozdzielczość jeżeli się nie zachowa pewnych warunków będzie znacznie niższa niż deklarowane 12 bitów. No chyba, że zostało to już poprawione w najnowszej rewizji A4.


    Ja osobiście ograniczyłbym jakoś pasmo załóżmy do 1Mhz prostym filtrem LC albo RC na wejściu i dał na każdy kanał małego transila SMD dostosowanego do max napięcia jakie można tam podać, bo czasami zdarza się, że na sygnał mierzony użyteczny nałożone są jakieś zakłócenia szpilkowe o dużej amplitudzie które mogą przypalić wejście procka, np mierząc coś w aucie w którym źle pracuje alternator.

    Pozdrawiam
  • #53
    dwpl
    Level 23  
    Fajny projekt.

    Quote:
    Obwody wejściowe są bez opamp-ów z kilku powodów. Pierwszy, to zasilanie urządzenia napięciem niesymetrycznym, bateryjnym. Byłaby konieczność stosowania jakichś pewnie nie tanich przetwornic.
    Była też opcja zastosowania WO zasilanego małym niesymetrycznym napięciem ale traciłbym dużo na zakresie przetwornika, aa wzmacniacze r-t-r są nie takie tanie. Na początku wykonałem przetworniczkę na PWM, odfiltrowałem, zasiliłem WO, i nawet trochę to działało ale nie do końca, miałem problemy z szybkimi zboczami.


    drzasiek myślę, że w podobny sposób można zrobić przetwornice DC/DC odwracającą, która wygeneruje potrzebne ujemne napięcie zasilania o potrzebnej wydajności prądowej.
    Nie mam pojęcia czy zainteresuje Cię to rozwiązanie, ale jest dość minimalistyczne. Najwięcej miejsca zajmuje dławik, w zależności od potrzebnej mocy wyjściowej zmienia się wielkość dławika.

    Przetwornica boost:
    http://en.wikipedia.org/wiki/Boost_converter

    Przetwornica odwracająca:
    http://en.wikipedia.org/wiki/Buck-boost_converter


    Moje rozwiązanie w jednym z projektów:
    XM - scope 3, czyli Oscyloskop cyfrowy AVR - v3.0 BETA

    Code: asm
    Log in, to see the code


    pod adresem 0186(hex) 10 bitowe napięcie zas. (3V..15V)
    pętla główna jest synchronizowana do timera i co 2ms ustawia nowe czasy ton, ttotal ponieważ zmienia się napięcie zasilania w dużym zakresie. przy niewielkich zmianach napięcia wejściowego przetwornicy, myślę będzie można to pominąć.
    dioda zenera wytraca (kilkanaście mW) minimalny nadmiar mocy i gwarantuje 15V w pełnym zakresie napięć we.

    i tablica

    Code: asm
    Log in, to see the code


    PS. Nie zamierzam poprawiać błędów stylistycznych, gramatycznych. Rejestrowałem się na forum technicznym w innym celu.
  • #54
    drzasiek
    CNC specialists
    Jaco18 wrote:

    Kolego :arrow: drzasiek widzę, że nie zalałeś pola pod axtmega masą, oraz że masy zasilania i sygnałowe są dość cienkie - nie miałeś problemów z zakłóceniami albo łapaniem śmieci radiowych z otoczenia ??

    Podejrzewam że uśredniasz albo i filtrujesz sygnał programowo dlatego uzyskałeś tak dobre wyniki, w ogóle program mi się bardzo podoba i gratuluję determinacji w jego tworzeniu oraz tak dużego rozbudowania. Zawarłeś tu praktycznie wszystko co jest potrzebne w takim przenośnym urządzeniu a nawet więcej, super pomysł z FFT, może to być bardzo przydatne np do badania przetwornic impulsowych czy nie sieją gdzieś na wyższych częstotliwościach.

    Wogóle nigdy nie miałem jeszcze problemów z żadnymi zakłóceniami, co mnie dziwi :)
    Z projektowaniem płytek jakoś wcześniej nie było mi po drodze, budowałem urządzenia które nie wymagały rozbudowanych płytek więc popaprałem pisakiem po laminacie i jakoś było. Od pół roku kiedy zacząłem programować uC, trzeba się było trochę zreformować, zrobiłem chyba 5 projektów od tego czasu więc jeszcze tak bardzo tego projektowania pcb nie opanowałem, rzuciłem polygonem ale potem jakoś zmieniałem i usunąłem a na końcu z tego wszystkiego zapomniałem i tak zostało.
    Żaden pomiar nie jest uśredniany, są próbki, przeskalowane jedynie wartości i połączone liniami, ot cała filozofia.
    Quote:

    Nie wiem czy czytałeś to:

    Link

    generalnie w konstrukcji dość jak by nie było nowych procesorów ATXMEGA występuje jakiś błąd w przetworniku ADC który powoduje, że rzeczywista rozdzielczość jeżeli się nie zachowa pewnych warunków będzie znacznie niższa niż deklarowane 12 bitów. No chyba, że zostało to już poprawione w najnowszej rewizji A4.

    Rzadko się nudzę przed komputerem więc raczej nie czytam takich rzeczy, bo jeśli już mam czas to jakąś dokumentację czytam albo kompiluję..
    Quote:

    Ja osobiście ograniczyłbym jakoś pasmo załóżmy do 1Mhz prostym filtrem LC albo RC na wejściu i dał na każdy kanał małego transila SMD dostosowanego do max napięcia jakie można tam podać, bo czasami zdarza się, że na sygnał mierzony użyteczny nałożone są jakieś zakłócenia szpilkowe o dużej amplitudzie które mogą przypalić wejście procka, np mierząc coś w aucie w którym źle pracuje alternator.

    Pozdrawiam

    A ja myślałem nawet o filtrze antyaliasingowym ale to jeszcze nie na ten procesor :)

    Dodano po 4 [minuty]:

    dwpl wrote:

    drzasiek myślę, że w podobny sposób można zrobić przetwornice DC/DC odwracającą, która wygeneruje potrzebne ujemne napięcie zasilania o potrzebnej wydajności prądowej.
    Nie mam pojęcia czy zainteresuje Cię to rozwiązanie, ale jest dość minimalistyczne. Najwięcej miejsca zajmuje dławik, w zależności od potrzebnej mocy wyjściowej zmienia się wielkość dławika.

    Nie interesuje mnie raczej zasilanie symetryczne, bo to tylko komplikuje układ. Przecież potem i tak trzeba składową dodać, żeby zmierzyć przetwornikiem więc po co to maścić tyle razy skoro wejście może od razu dodawać składową.
    Rozglądam się już za dobrym wzmacniaczem rail-to-rail niskonapięciowym do następnej konstrukcji.
  • #55
    Szperix
    Level 11  
    Świetny projekt tylko czy dałoby radę jeszcze dodać powiedzmy dwie podstawy czasu (250ms/dz. i 500ms/dz.) do obserwacji sygnałów wolnozmiennych? Myślę, że takie podstawy byłyby przydatne np. do badania sondy lambda.
  • #57
    edenlubawa
    Level 15  
    Prowadzisz już badania nad wersją v4.0?
    Jeśli w takim tempie będziesz publikował swoje oscyloskopy, to do końca roku pewnie ujrzymy jeszcze ze cztery odsłony twoich oscyloskopów ;)
  • #58
    Jaco18
    Level 26  
    Kolego Drzasiek proponuje dodac jakis prosty uklad ladowania akumulatorka i ew z jedna wolna podstawe czasowa (jak juz mowilem moge pomoc w elektronice) i w takiej postaci duzo ludu z elektrody chetnie by wykorzystalo twoj mini oscyl, bo parametry sa juz calkiem fajne jak na miniaturowe ultra przenosne urzadzenie co Ty na to? :) no chyba ze planujesz sprzedawac gotowe urzadzonka zarobkowo, a towarzystwo MODERACYJNE mocno cie juz kurzylo :p
  • #59
    drzasiek
    CNC specialists
    W jakimś Chińskim odtwarzaczu mp4 miałem orginalnie zamontowaną baterię BL5C, z ciekawości raz sprawdzałem, bo w takich prostych i tanich zabawkach lubią stosować proste i tanie rozwiązania. Okazało się, że nie było tam żadnego układu kontrolującego ładowanie, wszystko szło na baterię od razu. SP3SWJ mówił, że baterie z Nokii 3310 miały wbudowany układ kontroli ładowania, postanowiłem więc sprawdzić baterię BL-5C. Podłączyłem pod 5V przez rezystor coś ok 10 Ohm, po 2 chyba godzinach jak poszedłem sprawdzić (zasłaniając twarz na wypadek eksplozji ogniwa :) ) zasilacz wskazywał chyba 2mA prąd ładowania. Odłączyłem zasilacz, zmierzyłem stan ogniwa, na mierniku ukazało się równiutkie 4.1V. A więc kontrola jest, może odłączenia ładowania brak (nie sprawdzałem, może trzeba jeszcze trochę poczekać i się wyłączy) ale jest kontrola napięcia a to najważniejsze. Dlatego w następnym projekcie takie coś mam zamiar zastosować, proste i tanie. Ta wersja już nie będzie zmieniana, ewentualnie jeśli będą jakieś wady programowe to będę aktualizował.
    To czego tu brak albo co jest niedociągnięte będzie w następnej wersji, być może komercyjnej ale to się zobaczy. Więc nie wiem, czy wogóle będę mógł ją tutaj prezentować bo towarzystwo moderacyjne jak ich sam nazwałeś już mnie nie lubi jakoś i najchętniej wywalałoby wszystkie moje posty do kosza. Więc nie wiem, czy pozwolą mi zaprezentować konstrukcję, do której nie udostępnię za darmochę na forum wsadu i schematu.. Choć regulamin nie zabrania tego, ale już oni na mnie jakiś punkcik pewnie znajdą :) Tak czy siak o oscyloskopach drzaśka jeszcze usłyszycie :P
  • #60
    edenlubawa
    Level 15  
    No wiesz, mógłbyś zamieścić dokumentacje nowego oscyloskopu, na elce, no chyba, że nie będziesz chciał. Bo nie każdy kto chciałby mieć taki oscyloskop wykona go sobie samemu.
    Możesz zrobić, tak jak kolega manekinen z jego uProg-iem.