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

Generator AVR DDS v. Artur K.

Artur k. 03 Apr 2018 18:06 10389 20
Altium Designer Computer Controls
  • Witam

    Przez święta trochę przeglądałem różne rzeczy, myślałem i doszedłem do wniosku że może warto byłoby się pochwalić pewną konstrukcją. Pomysł budowy generatora powstał ze 3 lata temu albo nawet dawniej, gdy przeglądając różne ciekawostki w sieci natrafiłem na ten oto projekt:
    https://scienceprog.com/avr-dds-signal-generator-v20/
    Nawet wytrawiłem proponowaną przez autora płytkę, dorobiłem klawiaturę, uruchomiłem i niemiło się zdziwiłem. Układ co prawda zadziałał od razu, jednak działanie regulacji offsetu pozostawiało wiele do życzenia. Jeśli w spoczynku ustawiłem offset na 0V, to po włączeniu przebiegu okazywało się że nie jest on symetryczny względem 0V, tylko zawiera się w przedziale od 0V do max (niecałe 5V). Z kolei ustawienie symetrii przebiegu, tak by zawierał się w przedziale -2.5V do +2.5V powodowało że w stanie spoczynku na wyjściu było napięcie stałe ok. 2V.
    Taki generator rzecz jasna nie nadaje się do użytku, a ponieważ nie miałem czasu się z tym bawić, to cały układ poszedł w kąt. Od tamtej pory co jakiś czas jak mi się przypomniało to zasiadałem do tematu i w końcu doszedłem z układem do porozumienia.
    Konieczne okazało się zrobienie nieco inaczej stopnia wyjściowego oraz modyfikacja kodu generatora. Przy okazji grzebania w kodzie, postanowiłem generator spolszczyć. Napisy są co prawda po polsku, ale bez polskich znaków diakrytycznych.
    Mając już działający układ postanowiłem zrobić dla niego nową płytkę drukowaną, ponieważ ta którą proponuje autor projektu jest wyjątkowo nieprzemyślana.

    Całość wygląda tak:
    Generator AVR DDS v. Artur K.

    A teraz od początku. :)
    Schemat po moich przeróbkach wygląda tak:
    Generator AVR DDS v. Artur K.

    Powstała taka płytka drukowana:
    Generator AVR DDS v. Artur K.

    Zasilacz:
    Generator AVR DDS v. Artur K.
    Generator AVR DDS v. Artur K.

    Ponieważ generator ma również osobne wyjście sygnału prostokątnego, postanowiłem zrobić dla niego bufor żeby przez przypadek nie uszkodzić procesora.
    Buforem są bramki NAND zawarte w strukturze 7400, przy okazji powstała płytka na której są umieszczone gniazda wyjściowe.

    Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K.

    Całość zamknąłem w obudowie Z-1A firmy Kradex.
    Wygląda to tak:
    Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K.
    Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K.
    Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K.


    A tak wygląda pierwsza wersja płytki:

    Generator AVR DDS v. Artur K.

    Ta która obecnie jest w generatorze z zewnątrz jest identyczna, różnice polegają na nieco innym prowadzeniu ścieżek, niektóre elementy zamieniłem z SMD na THT i na odwrót, a i tak nie obeszło się bez błędów - potencjometry działały na odwrót, a ponieważ nie chciało mi się już robić kolejnej wersji płytki to po prostu poprzecinałem ścieżki i połączyłem na krótko przewodami.

    Generator AVR DDS v. Artur K.

    Zapomniałem też o złączu zasilania dla 7400 znajdującego na płytce wyjściowej, dlatego przewody są przylutowane na sztywno do "płyty głównej".

    Ponieważ płytka finalna zawiera błąd, nie zamieszczam rysunku. Może kiedyś poprawię i wówczas zamieszczę.
    Kodu źródłowego nie zamieszczam ze względu na autorskie poprawki. Gdyby ktoś był zainteresowany budową takiego generatora, proszę o informację na PW, rozważę przesłanie pliku HEX lub zaprogramowanego i zabezpieczonego przed odczytem procesora.
    Czemu tak? Ano temu, że jak wiadomo oryginalny projekt jest już produkowany masowo i sprzedawany na Aliexpress i innych portalach aukcyjnych. Nie chcę by z moją pracą stało się to samo w szczególności że poprawiony został błąd związany z offsetem, a który z tego co wiem w chińskich generatorach jest nadal.

    Kosztów nie jestem w stanie podać, wiele rzeczy miałem, część kupiłem - na pewno kupiłem potencjometry, mikroprzełączniki oraz elementy mechaniczne.
    Poza tym sam układ powstawał dość długo, jak i też już jakiś czas temu doczekał się ukończenia.

    Ładną płytę czołową klasycznie zaprojektował i wykonał Maciej - dj-MatyAs za co serdecznie dziękuję.

    Czekam na uwagi. :)

    Cool? Ranking DIY
    About Author
    Artur k.
    Admin of Audio group
    Offline 
    Has specialization in: serwis audio, oświetlenie estradowe.
    Artur k. wrote 25889 posts with rating 1549, helped 1275 times. Live in city Warszawa. Been with us since 2003 year.
  • Altium Designer Computer Controls
  • #2
    mkpl
    Level 37  
    Jakie masz THD sygnału? Parowałeś rezystory?
    Dlaczego uważasz ten generator za dds? Wg. mnie to po prostu generator programowy z przetwornikiem R2R co jest bez sensu bo gotowy dobrej jakości przetwornik kosztuje kilka zł.

    Poza tym ładnie wykonana konstrukcja.
  • #3
    Artur k.
    Admin of Audio group
    THD nie mierzyłem, nie widziałem ani sensu ani potrzeby. Z założenia nie miał to być nie wiadomo jak dobry generator. Zbudowałem to raczej jako ciekawostkę, a jak już poszedłem tak daleko i zacząłem poprawiać kod, to postanowiłem nie marnować pracy, a zrobić z tego jakiś użytek.
    Rezystorów nie dobierałem, zastosowałem 1%, zresztą tylko takie mam w wersji SMD.

    Dlaczego DDS? Bo tak się nazywa pierwotny projekt to po pierwsze, a po drugie zasada działania tego generatora to jednak bezpośrednia synteza. To, że przetwornik jest drabinką R2R to przecież niczego nie zmienia.
    Przy okazji przetwornika i zniekształceń - na przebiegach o niskich częstotliwościach widać niestety schodki jak rozciągniemy przebieg:
    Generator AVR DDS v. Artur K.

    Przy okazji zamieszczę oscylogramy pozostałych przebiegów:
    Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K. Generator AVR DDS v. Artur K.
  • #4
    398216 Usunięty
    Level 43  
    Czyli jednak można ...
    Można i estetycznie i poprawnie wykonać w domowych warunkach generator, a może i inne urządzenie.
    Z tego co wyczytałem masz płynną regulację offset'u - w jaki sposób rozwiązałeś sprawę ustawienia zera? Czy jest to tylko pozycja gałki wyznaczona kreską na płycie czołowej?
    I jeszcze jedno (to a propo's wykonania płyty czołowej) co to za switche? (chodzi mi o to co widać - nie spotkałem się z mikroswitchami które miałyby dopasowane do nich "przelotki" przez które wystaje "pipek" switcha)
    Wygląd ogólny OK. Poza tymi drobiazgami o których piszesz nie można się do niczego przyczepić.

    P.S. Jeszcze jedno; Na jednym ze zdjęć widać że górne otwory są zaślepione - nie wpływa to na grzanie się wnętrza?
    Pozdrawiam.
  • Altium Designer Computer Controls
  • #5
    NoweMillennium
    Level 17  
    Artur k. wrote:
    Rezystorów nie dobierałem, zastosowałem 1%, zresztą tylko takie mam w wersji SMD.

    Dlaczego DDS? Bo tak się nazywa pierwotny projekt to po pierwsze, a po drugie zasada działania tego generatora to jednak bezpośrednia synteza. To, że przetwornik jest drabinką R2R to przecież niczego nie zmienia.

    Na temat drabinki R-2R w przetworniku 8-bit z rezystorów 1% można poczytać tu https://www.elektroda.pl/rtvforum/topic3445820.html
  • #6
    Artur k.
    Admin of Audio group
    Do offsetu jest potencjometr z zapadką na środku. Trochę się namęczyłem żeby zdobyć taki o odpowiednio długiej osi, ale to nie wszystko - na płytce jest PR-ek, którym najpierw należy ustawić 0V na wyjściu przy ustawieniu potencjometru "OFFSET" w środkowym położeniu.
    Drugi PR-ek na płytce służy do ustawienia max amplitudy sygnału, tak by regulacja offsetem nie powodowała obcinania wierzchołków przebiegu.

    Switche to jest wynalazek - nasadki są od zupełnie innych przełączników, tylko trzeba wewnątrz rozwiercić bo otwór jest kwadratowy, zaś ich średnica zewnętrzna idealnie pasuje do oprawek LED 3mm.
    Oprawki tego typu:
    https://www.piekarz.pl/pl/?item=13110
    nasadka tego typu:
    https://www.piekarz.pl/pl/?item=44542
    To nie są dokładnie te, bo jest ich kilka rozmiarów. Da się dobrać takie nasadki by idealnie pasowały do oprawek. :)
    To wynalazek Macieja.

    Gałki na potencjometry też były przerabiane. Potencjometry mają ośkę okrągłą, zaś gałki były na ośkę ściętą - trzeba było delikatnie wiertłem 6.2 rozwiercić.

    Otwory wentylacyjne są zasłonięte... fizelinką, a więc cyrkulacja powietrza jest, choć tam nie bardzo ma co się grzać. :)
  • #7
    398216 Usunięty
    Level 43  
    Artur k. wrote:
    Switche to jest wynalazek...

    Ciekawy "patent" - dzięki niemu można dość efektownie zrobić klawiaturkę.
    Chyba się pokuszę i wykorzystam ten patent - może również się skuszę na taki generator...?
    (rozumiem, że można liczyć na "spolszczony: i poprawiony soft - w każdym razie to już na PW.)
    Dziękuję w każdym razie z informację.
    Przejrzałem artukuł z linka będący inspiracją - powiem tak:
    Dzień do nocy. Oryginalny generator wykonany jak by ktoś się uparł, żeby zrobić ohydnie.
    Nie dość, że wewnątrz obudowy (nota bene zupełnie nie do tego przeznaczonej) bałagan, to jeszcze te opisy.... Twój generator może pretendować moim zdaniem do tematu "Jak zrobić estetycznie". Zasilacz na zaprojektowanej płytce (nie na uniwersalce, która ma jednak swoje zalety, ale wygląda na prowizorkę), Czytelnie i elegancko rozplanowana płyta czołowa (to chyba nadrukowana i zalaminowana kartka?) no i sama obudowa... Doprawdy zastanawiam się teraz jak bardzo można sobie spaprać swoje dzieło wkładając (nawet poprawnie zaprojektowaną, wykonaną i rozplanowaną płytkę z elementami do "pudła po butach" - a wystarczy przejrzeć oferty krajowego producenta, wybrać odpowiednią (pasującą) obudowę i... i już.
    Duży plus za to.
    Aha - jeszcze jedno pytanie: W jaki sposób mocowana jest płytka do czołówki? Klejona czy na wpuszczanych wkrętach ukrytych pod opisami?
  • #8
    Artur k.
    Admin of Audio group
    398216 Usunięty wrote:
    Oryginalny generator wykonany jak by ktoś się uparł, żeby zrobić ohydnie.

    Chińczycy też całkiem ładnie to zrobili:
    https://www.elektroda.pl/rtvforum/topic3444103.html
    Taki generator jest w sklepiku forum za 1000 punktów.

    Wychodzi na to, że tylko autor projektu się uparł żeby wygląd nie zachęcał, ale Chińczyk się tym nie przejął. :D
    Nawiasem mówiąc, autor projektu na którym się wzorowałem fragmenty kodu generatora zaczerpnął z jeszcze innego projektu - tym razem autorstwa niejakiego Elm Chan-a.:
    http://elm-chan.org/works/asg/report_e.html
    W oryginalnym kodzie AVR DDS V.2 napisanym w języku C jest wstawka asemblerowa pełniąca tak naprawdę kluczową funkcję. :)
  • #10
    Artur k.
    Admin of Audio group
    Wcale nie będzie to takim ułatwieniem i pewnie nie jest, bo rozwiązanie znane od dawna a jednak rzadko stosowane.
    Jako przyciski ciekawsze są takie:
    http://www.ledswitches.co.uk/pb613.html
    I mają wymienne nakładki, są strzałki, OK, symbol "power" itp. Są tanie, po ok. 2-3zł i nawet chciałem takie zastosować w tym generatorze ale w sklepie nie było wszystkich, musiałbym zamawiać "OK" wysyłkowo - 2zł przycisk i 8 przesyłka.
    Niedawno patrzyłem u Chińczyków i widzę że oni mają niemalże dowolne nakładki tego typu. Jak kupowałem przyciski do generatora to na Aliexpress nie można było płacić przelewem, więc zakup tam nie wchodził w grę.
    Teraz kupiłbym na Aliexpress gotowce i nie bawił się z mechaniką żeby ładnie wyglądało.
  • #11
    olekt2002
    Level 30  
    Artur k. wrote:
    Przy okazji grzebania w kodzie, postanowiłem generator spolszczyć

    Spolszczył bym również napisy na płycie czołowej. Konstrukcja bardzo udana.
  • #12
    398216 Usunięty
    Level 43  
    Artur k. wrote:
    Chińczycy też całkiem ładnie to zrobili:
    Jako płytka - tak. Ale nie jako płytka z którą można coś zrobić (czytaj wstawić w obudowę, dołożyć zasilacz itp). Takie płytki to sztuka dla sztuki - dopóki nie ma możliwości dokończenia (czyli włożenia w jakąś obudowę i jak wyżej) - co z tego że działa, jak nic więcej z tm nie zrobisz? Nie wyobrażam sobie jakoś korzystania na co dzień z czegoś takiego, co może się w każdej chwili uszkodzić (wystarczy że wpadnie ucięta noga od rezystora w odpowiednie miejsce).
    bestler wrote:
    Ostatnio odkryłem coś takiego w różnych wersjach - znacząco ułatwi to budowę własnych konstrukcji.
    Nie wszystkich niestety... jak to w projektach DIY - przeważnie jest się "uwiązanym" do konkretnej obudowy, czy w ogóle konstrukcji jako takiej. Prościej więc zamiast takiego panelu zastosować mikroswitche (po kilkadziesiąt groszy sztuka) plus - jak to zrobił Artur - dopasować klawisz i oprawkę LED (w sumie drugie tyle ) niż kombinować z mocowaniem takiej folii, z wyprowadzeniem taśmy czy dopasowaniem do reszty projektu pod względem graficznym. Już bardziej widziałbym zastosowanie dla nasadek z= o których pisze Autor w poście 10 - ale i tu musiał by być wybór grafiki na nasdace, a to jest jak na razie bardzo ograniczone (symbole są tylko te najczęściej używane, innych się nie produkuje bo nie byłoby zbytu, a jak znam życie to w naszym projekcie właśnie ten "inny" symbol będzie potrzebny).

    olekt2002 wrote:
    Spolszczył bym również napisy na płycie czołowej.
    Mam obecnie na warsztacie generator jak najbardziej polskiej firmy "ZOPAN" model POF-10. Produkowany był w okresie gdy wszystko co zachodnie było wyjątkowo źle postrzegane, a wszystkie napisy są "po angielskiemu" - jak myślisz, dlaczego? Moim zdaniem wyjaśnienie jest tylko jedno - ten język "pasuje" do techniki, a do elektroniki w szczególności. Trudno np. przetłumaczyć jednoznacznie (i w jednym krótkim słowie) takie znaczenia jak "offset" czy "sweep".
    https://www.google.pl/search?q=pof-10&client=...UIDCgD&biw=1280&bih=845#imgrc=_OlStb_ZPQ0tiM:
  • #13
    ArturAVS
    Moderator HP/Truck/Electric
    @artur k. Czy mikrokontroler z Twoim programem będzie działał w tej chińskiej wersji dostępnej w sklepiku Elektrody?
  • #14
    Artur k.
    Admin of Audio group
    Prawdę mówiąc nie wiem, przypuszczam że nie, dlatego że mój układ w stosunku do pierwowzoru z tej strony:
    https://scienceprog.com/avr-dds-signal-generator-v20/
    ma zmienione wyprowadzenia mikrokontrolera, dzięki czemu udało się zaprojektować taką płytkę jak widać. Tak jak było w oryginale, to trzeba byłoby dwustronną projektować - zupełnie bez sensu.
    Przypuszczam, że Chińczyk niczego nie zmieniał i ichnie rozwiązanie jest identyczne z oryginałem.

    Muszę porozmawiać z gulsonem, może dostanę do prób taki generatorek jaki jest w sklepiku i dostosuję swój program do tego rozwiązania. :)
  • #15
    ArturAVS
    Moderator HP/Truck/Electric
    Artur k. wrote:
    Muszę porozmawiać z gulsonem, może dostanę do prób taki generatorek jaki jest w sklepiku i dostosuję swój program do tego rozwiązania. :)


    Bo tak mówiąc szczerze..... zamówiłem ten generator w sklepiku. Nie zajmuję się już audio. Ale taki prosty generator przydałby się do innych rzeczy. A Twoje poprawki/modyfikacje są dość znaczące.
    I po "naszemu".

    Stąd te pytanie.

    W sumie, to i tak zamierzam użyć "normalnego" przetwornika D/A np. DAC 0832 ( mam kilkanaście różnych), i "ubrać" DDSa w jakąś
    przenośną obudowę ( czasem w w terenie by się przydał).

    Pozdrawiam.

    Artur
  • #16
    Artur k.
    Admin of Audio group
    Nie wiem co rozumiesz pod pojęciem przenośnego generatora. Dla mnie przenośny to taki, którego można zasilić z baterii/akumulatora i nie trzeba się martwić o napięcie sieci 230V. Akurat ten generator się do tego nie nadaje, bo wymaga aż 3 napięć zasilających. Oczywiście wszystko się da zrobić, tylko że to przerost formy nad treścią w przypadku tego układu.

    Ja mam kilka generatorów i fabrycznego DDS-a też, więc kolejnego budował nie będę, natomiast gdybym miał budować to nie bawiłbym się w żadne przetworniki zewnętrzne, tylko użyłbym np. AD9833 który kosztuje grosze. U Chińczyka są nawet gotowe moduły za kwotę rzędu 5-10 dolarów (zależy od tego co ten moduł ma na sobie), pozostaje tylko napisać program sterujący dla procesora albo poszukać gotowca (myślę że na pewno coś się da znaleźć).
    Taki generator będzie miał nieporównywalnie lepsze parametry niż jakikolwiek oparty o syntezę programową, bez względu na to jaki zastosujemy przetwornik.

    Może w niedzielę jak będę miał trochę czasu, to zmierzę z ciekawości THD tego generatora. Mimo iż niektórzy twierdzą że rezystory 1% są za kiepskie do tego typu zastosowań, to jednak mam wrażenie że parametry tego generatora są nieco lepsze niż klasycznych analogowych generatorów opartych o integrator.
  • #17
    ArturAVS
    Moderator HP/Truck/Electric
    Artur k. wrote:
    Nie wiem co rozumiesz pod pojęciem przenośnego generatora


    Taki który zmieści mi się do skrzynki narzędziowej :-) . Akurat mam taką fajną obudowę wykonaną z profilu aluminiowego z oryginalnie wyciętym otworem na wyświetlacz( od fabrycznego urządzenia). Jest też miejsce na klawiaturę.
    Artur k. wrote:
    Akurat ten generator się do tego nie nadaje, bo wymaga aż 3 napięć zasilających.


    To nie problem, zasilacz sieciowy się zmieści. A w "terenie" potrzebuję głównie sygnału TTL.
    Tak sobie pomyślałem, żeby dołożyć jakieś ogniwo LiIon+ładowarka z przetwornicą do części cyfrowej.
    Jak potrzebny byłby sygnał DDS, to podłączam zasilanie sieciowe i mam( przy okazji ładowanie ogniwa).

    Pozdrawiam
  • #18
    Freddy
    Level 43  
    Artur k. wrote:
    Jako przyciski ciekawsze są takie:
    ... a jeszcze ciekawsze takie JAK TE - niestety droższe :(
  • #19
    NoweMillennium
    Level 17  
    Freddy wrote:
    Artur k. wrote:
    Jako przyciski ciekawsze są takie:
    ... a jeszcze ciekawsze takie JAK TE - niestety droższe :(

    Nawet bardzo drogie. Swego czasu uzywane w automatach do gier teraz zastępowane przez ekrany dotykowe (np panel 300x100mm). Ekran daje większe możliwości (kolor, rozdzielczość). Mozna zobaczyć w kasynach.
  • #21
    Artur k.
    Admin of Audio group
    Można dostać w wielu sklepach, nie tylko w TME, tylko jaki to ma cel?
    Po pierwsze koszt przesyłki wielokrotnie przewyższy wartość tychże rezystorów, a po drugie po co tyle fatygi dla urządzenia które z założenia nie jest, ani nigdy nie będzie urządzeniem laboratoryjnym, a jedynie warsztatowym?
    Na oscylogramach wyraźnie widać schodki w przebiegu wyjściowym, jest to związane z tym że przetwornik C/A ma tylko 8 bitów, czyli każdy przebieg inny niż prostokątny, ma tylko 255 poziomów pomiędzy szczytami.
    Ten fakt przekreśla jakiekolwiek profesjonalne zastosowanie generatora i zastosowanie nawet 0.01% rezystorów w przetworniku tego nie zmieni.
    To nie ta klasa sprzętu.

    Nie mam czasu by się tym zająć, ale pomierzę w końcu zawartość zniekształceń nieliniowych. Jednakże i bez pomiarów jestem niemal pewny że poziom zniekształceń przebiegu sinusoidalnego jest znacznie niższy niż w typowych, analogowych generatorach opartych o integrator i diodową aproksymację przebiegu.