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

Arduino Mega 2560 i DDS

maxxim 03 Sty 2015 01:07 10467 19
  • Arduino Mega 2560 i DDS

    Chciałem przedstawić moją skleconą przy grzanym winie syntezę DDS.
    Od paru miesięcy leżał w szufladzie moduł DDS oparty o AD9850 i rezonator 125MHz. Mówi się, że nie wolno nic odwlekać do nowego roku, tak więc postanowiłem zrobić syntezę DDS, aby wzbogacić swój osprzęt pomiarowy.

    Materiały:
    Arduino Mega 2560
    Przełącznik obrotowy (12 pozycji)
    Moduł DDS z AD9850 (made in China)
    Enkoder obrotowy (made in China)
    Włącznik (made in China)
    Wino grzaniec 1L (made in Germany)
    Wyświetlacz LCD 16x2 z zielonym podświetleniem zgodny z HD44780 (made in China)
    Moje oko szt. 1 (made by my father)

    Do arduino podłączyłem wyświetlacz (pod piny 8 - 13), moduł DDS (piny 4 - 7),
    enkoder obrotowy (pod 2 i 3 oraz przycisk pod 46) i przełącznik obrotowy (pod 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44), ale w obecnej chwili programowo używam pinów 22 do 32.



    Następnie przy pomocy w/w grzanego wina napisałem soft pod to ustrojstwo.
    Testy przeprowadziłem przy pomocy miernika częstotliwości (VC2000 made in china) i zatwierdziłem tak na "oko" jako "zdatne do użytku".

    W pierwszej wersji mogłem zmieniać pojedyncze "Hz", lecz niestety miałem problemy z przekroczeniem 16.777216 MHz, tak więc zrezygnowałem z 1Hz i obecnie częstotliwość ustawiam minimalnie w 10Hz.
    DDS pracuje w zakresie od 10 kHz do 40 MHz.
    Soft jest bardzo prymitywny (dopiero się uczę, a mam ponad 40 na karku i łatwo do głowy nie wchodzi), ale działa idealnie. Jest to moja druga konstrukcja. Pierwszą był moduł multiradio do symulatora lotniczego.

    A tak to wyszło. Zresztą przedni panel DDS-a będzie bardzo podobny.

    Arduino Mega 2560 i DDS

    Niedługo zamieszczę opis multiradia. Działa idealnie!!!

    Wyłącznik nie jest jeszcze podłączony - będzie wyłącznikiem zasilania z baterii.

    Arduino Mega 2560 i DDS

    Powiem szczerze - nie każdemu podoba się mój sposób zamontowania wyświetlacza i modułu DDS, ale sprawdza się idealnie.

    Arduino Mega 2560 i DDS
    Arduino Mega 2560 i DDS

    Mam jeszcze film - przepraszam za jakość, kręcone kalkulatorem. ;)



    Proszę o łagodną krytykę i bez cegieł. ;)


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2 03 Sty 2015 01:23
    Prezes19-94
    Poziom 10  

    Mam pytanie czy masz może możliwość zamieszczenia jakiś zrzutów z oscyloskopu uzyskanych przebiegów?

  • #3 03 Sty 2015 02:40
    maxxim
    Poziom 15  

    Jutro wieczorem zamieszczę , ale szału nie będzie (kiepski oscyloskop).
    Sprawdzałem i jest ładna sinusoida .

  • #4 03 Sty 2015 10:12
    22053
    Użytkownik usunął konto  
  • #5 03 Sty 2015 11:02
    Pokrentz
    Poziom 21  

    Ja bym ZDECYDOWANIE tak nic nie mocował. I to nie po grzańcu made in Germany, ale nawet po śliwowicy made by pan Kazio, 75% alc. vol. Działa, świetnie, ale moje skromne doświadczenie mówi, że niemal do każdej konstrukcji trzeba będzie zajrzeć za jakiś czas i coś zmodyfikować. Szlag by mnie trafił, jakbym musiał rozlutowywać mocowania mechaniczne. Wolałbym zrobic od nowa. No, prawie...
    Kiedyś narobiłem się generatorów na DDS-ach przypominają mi się dawne dzieje. Aha i nie łam się, też jestem po 40-tce, tez już w łeb nie wchodzi jak wczesniej, ale to dlatego, że wszystko tam juz jest i nie ma więcej miejsca :-).

  • #6 03 Sty 2015 15:18
    maxxim
    Poziom 15  

    R-MIK napisał:
    Co do mocowania wyświetlacza, to trzeba było przylutować łebki śrubek 2mm do tego tulejka dystansowa + nakrętka, ale dwie nakrętki (łatwiej wymienić wyświetlacz jak np kolor się znudzi). Używaj złącz zaciskanych i taśm, koszt niewiele większy, a montaż bardzo szybki.

    Zgadzam się w 100 procentach . Konstrukcja powstała 26.12.2014 po 21 ( czyli w święta) i sklepy były zamknięte . Tak więc robiłem z tego co miałem w domu .

    R-MIK napisał:
    Powiedzmy, że wyświetlacz przestał działać, masz taśmy chwila roboty, a tak? Narobisz się a przyczyna leżała w uszkodzeniu portu AVR-ka


    Tu nie ma problemu . wypiąć osprzęt z arduino i podpiąć pod następny trwa minutę . Wiązki przewodów z każdego elementu są spięte osobno i wlutowane do osobnej listwy szpilek .

    Arduino Mega 2560 i DDS

    Arduino Mega 2560 i DDS

    Arduino Mega 2560 i DDS

    Pokrentz napisał:
    doświadczenie mówi, że niemal do każdej konstrukcji trzeba będzie zajrzeć za jakiś czas i coś zmodyfikować


    Tak , zgadza się ale w moim przypadku elementy zostały tak rozmieszczone aby móc w każdej chwili coś przelutować .W bardziej skomplikowanej konstrukcji napewno bym nie robił takich mocowań .

    R-MIK napisał:
    Podłączyłeś ramkę wyświetlacza do masy zwierając odpowiednie pola na płytce LCD?


    Tak .

    Dodano po 3 [godziny] 6 [minuty]:

    Prezes19-94 napisał:
    Mam pytanie czy masz może możliwość zamieszczenia jakiś zrzutów z oscyloskopu uzyskanych przebiegów?


    Proście a będzie Wam dane ;)

    Arduino Mega 2560 i DDS





    Przepraszam ale mam bardzo kiepski i "rozjechany" oscyloskop . Częstotliwość 2,700000 MHz .

    A tak przy okazji ..............

    Arduino Mega 2560 i DDS

    Oscyloskop ten wymieniłem za miedź w skupie złomu . Było to w 2003 roku - Wrocław , dzielnica Kozanów .
    W 2004 roku podarowałem go koledze (wioska 100 km od Wrocławia) .Tego samego dnia nakleiłem na oscyloskopie logo firmy ABB .

    Arduino Mega 2560 i DDS

    Po miesiącu ktoś go okradł ze sprzętu cb-radio , a przy okazji złodziej ukradł też ten oscyloskop .

    Ja w 2005 roku wyjechałem do UK . W 2007 roku wybrałem się na pchli targ w Londyńskiej dzielnicy Vauxhall . Nagle zobaczyłem POLSKI oscyloskop . Gościu nie wiedział co sprzedaje . Stwierdził że wynajmował mieszkanie Litwinom ,lecz pewnego dnia uciekli nie płacąc za trzy miesiące czynszu . Tak więc spakował to co zostawili w mieszkaniu i postanowił to sprzedać .

    Z sentymentu poświęciłem 10 funtów i wzbogaciłem się o oscyloskop . Nagle podczas pakowania zrobiłem oczy jak żaba!! Na oscyloskopie w tym samym miejscu była nalepka ABB . Jeszcze na miejscu szybko odkręciłem obudowę .................w środku była moja przeróbka podświetlenia skali !!!!!
    Tak więc po trzech latach i 1300 kilometrach odzyskałem swój oscyloskop !!!!!!

  • #7 03 Sty 2015 19:14
    gRRubasek
    Poziom 14  

    Na wyjściu AD9850 dobrze by było dać filtr dolnoprzepustowy.
    Mocowania wołają o pomstę, ale grunt, że działa.

    BTW
    Niezła historia z tym oscyloskopem. Teraz to już musisz go trzymać do grobowej deski. Zresztą co byś nie robił to widać, że i tak do Ciebie wróci :-)

  • #8 03 Sty 2015 20:45
    maxxim
    Poziom 15  

    Odsłuchiwałem pasma przy pomocy ft-817nd i powiem szczerze że śmieci od 35MHz , ale nie jest tragicznie .
    Filtr ( a raczej seria filtrów) będzie zamontowany w następnym module wraz z mikserem i rezonatorami , tak aby zmontować generator do 500 MHz . Lubię zabudowę modułową (jak kokpit w samolocie - takie mam zboczenie :-) ).

  • #9 04 Sty 2015 01:43
    gRRubasek
    Poziom 14  

    Przy częstotliwościach powyżej 30-35Mhz stosunek wyjściowej częstotliwości do częstotliwości próbkowania jest za mały aby przebieg był poprawy. Filtr powyżej kilkunastu Mhz nic tu nie pomoże. Tak ten układ ma.

  • #10 04 Sty 2015 02:30
    maxxim
    Poziom 15  

    gRRubasek napisał:
    Przy częstotliwościach powyżej 30-35Mhz stosunek wyjściowej częstotliwości do częstotliwości próbkowania jest za mały aby przebieg był poprawy.


    Potwierdzam ! Byłem z tym DDSem u kolegi który ma lepszy sprzęt . Do 30 MHz przebieg jest czysty . Maksymalnie wyjechałem do 42.400 MHZ ale to już były śmieci . Od 35 do 39 MHz przebieg jest jeszcze znośny . Po 40 jest już tragedia . Tak więc można powiedzieć że pracuje do 40 ale czysto do maksymalnie 35 MHz .

    I tu mam pytanie -czy ktoś wie jak działa AD9851 ?? Do jakiej częstotliwości przebieg jest czysty?? I nie chodzi mi o chińskie hasła reklamowe ( 0 do 70 MHz )

    Czy ktoś bawił się tym modułem?

    DEOK 0-70MHz AD9851 DDS Signal Generator Module Low-pass Filter 30x42 mm

    Arduino Mega 2560 i DDS

  • #11 04 Sty 2015 10:36
    starepc.pl
    Poziom 24  

    Fajna konstrukcja - Arduino naprawdę daje radę ;)

    Szacun za ABB :)

  • #12 04 Sty 2015 13:30
    gRRubasek
    Poziom 14  

    maxxim napisał:
    I tu mam pytanie -czy ktoś wie jak działa AD9851 ?? Do jakiej częstotliwości przebieg jest czysty?? I nie chodzi mi o chińskie hasła reklamowe ( 0 do 70 MHz )

    Niewielka różnica. Maksymalna częstotliwość jest wyższa i wbudowany jest mnożnik zegara referencyjnego x6. Ale problem z jakością jest ten sam tylko parę megaherców wyżej.

  • #13 04 Sty 2015 15:43
    Matheu
    Poziom 19  

    1. Bardzo fajna konstrukcja, mam tylko wątpliwości co do sposobu przedstawiania wartości na wyświetlaczu (górny wiersz) - rozumiem, że te kropki w zamyśle pewnie miały oddzielać grupy trzycyfrowe - na filmiku w jednej liczbie są pokazane dwie kropki - i nie wiadomo gdzie jest "przecinek dziesiętny" - część całkowita i ułamkowa. To jest mylące... Może jednak warto zostać przy jednej kropce/przecinku, a jeśli chcesz dodatkowo dzielić liczbę na grupy trzycyfrowe - zastosować apostrofy.

    2. Jeśli w układzie AD9850 jest generator 125MHz, to spodziewałbym się że max częstotliwość sygnału wyjściowego będzie 125MHz/ 2, ale jest jednak inaczej. Ciekawe dlaczego?

  • #14 04 Sty 2015 17:43
    22053
    Użytkownik usunął konto  
  • #15 04 Sty 2015 18:31
    SQLmaster
    Poziom 24  

    R-MIK napisał:
    Matheu napisał:
    Jeśli w układzie AD9850 jest generator 125MHz, to spodziewałbym się że max częstotliwość sygnału wyjściowego będzie 125MHz/ 2, ale jest jednak inaczej. Ciekawe dlaczego?

    Bo wyjdzie prostokąt a nie sisusoida.

    Chyba, że będzie tam jeszcze doskonałej klasy filtr dolnoprzepustowy który wytnie częstotliwości powyżej 125MHz/2.

  • #17 04 Sty 2015 20:59
    maxxim
    Poziom 15  

    Matheu napisał:
    1. Bardzo fajna konstrukcja, mam tylko wątpliwości co do sposobu przedstawiania wartości na wyświetlaczu (górny wiersz) - rozumiem, że te kropki w zamyśle pewnie miały oddzielać grupy trzycyfrowe - na filmiku w jednej liczbie są pokazane dwie kropki - i nie wiadomo gdzie jest "przecinek dziesiętny" - część całkowita i ułamkowa. To jest mylące..


    ????? właśnie że tak jest baaaaaardzo czytelne!! xx.xxx.xx czyli MHz . kHz . Hz
    Początkowo było xx.xxx.xxx ale zrezygnowałem z pojedynczych Hz.
    Pierwsze eksperymenty były jako xx,xxxxxx MHz , ale to jest mało czytelne.
    Mogłem zrobić xx.xxx.xx0 , tylko że te wyświetlanie zera kompletnie nic nie daje

  • #18 05 Sty 2015 00:59
    gRRubasek
    Poziom 14  

    Matheu napisał:
    2. Jeśli w układzie AD9850 jest generator 125MHz, to spodziewałbym się że max częstotliwość sygnału wyjściowego będzie 125MHz/ 2, ale jest jednak inaczej. Ciekawe dlaczego?


    Jeśli popatrzysz na notę aplikacyjną AD9850,a dokładnie na widmo sygnału wyjściowego dla zegara 100Mhz(Figure 5. Output Spectrum of a Sampled Signal) oraz opis to wszystko będzie jasne:
    Przy taktowaniu 100 MHz i wyjściowej częstotliwości 20 MHz widac bardzo duży aliasing o stosunkowo wysokiej amplitudzie którą determinuje przebieg wyjściowy sin (x) / x. Aliasing jest równy sumie i różnicy wielokrotności częstotliwości zegara taktującego akumulator fazy i wyjściowej częstotliwości.
    W nocie aplikacyjnej jest jasno powiedziane:
    "Aby zastosować AD9850 jako generator, należy ograniczyć częstotliwość wyjściową do <33% referencyjnego częstotliwości zegara i w ten sposób uniknąć generowania sygnałów z aliasami."

    Zrobiłem małą analizę dla częstotliwości raptem 1Mhz przy taktowaniu 125Mhz i widać jaki jaki marniutke jest widmo

    Arduino Mega 2560 i DDS

  • #19 06 Maj 2015 12:22
    juro54
    Poziom 15  

    Bardzo fajna i przydatna konstrukcja.Czy mógłbyś zamieścić schemat i hex gdyż jestem tym zainteresowany a moja wiedza jest niewystarczająca

  • #20 07 Maj 2015 01:51
    maxxim
    Poziom 15  

    juro54 napisał:
    Bardzo fajna i przydatna konstrukcja.Czy mógłbyś zamieścić schemat i hex gdyż jestem tym zainteresowany a moja wiedza jest niewystarczająca


    Schemat nie istnieje bo i nie musi . Połączenie dds-a , LCD i enkodera jest praktycznie "katalogowe " . Kup arduino mega , lcd ,moduł DDS , enkoder i przełącznik obrotowy . Soft podałem w pierwszym poście .Gdy kupisz wszystko , to krok po kroku wytłumaczę gdzie co łączę i jak to się ma do softu i jak programować arduino . Wszystko jest baaaardzo proste .