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

Generator opcjonalny Megawave Atmega

bobeer 08 Sep 2012 01:17 11400 3
Automation24.pl
  • Generator opcjonalny Megawave Atmega

    Na wstępie chciałbym przybliżyć, skąd taka a nie inna nazwa nadana przeze mnie temu projektowi. Prace rozpoczęły się w momencie zapotrzebowania na minimum dwa zsynchronizowane generatory małej częstotliwości. Ponieważ zakres przestrajania jaki mnie zadowalał ograniczał się do 100Hz przy rozdzielczości 0,01Hz wybór padł na zalegające w szufladzie ATMEGA. Który to po odpowiednim oprogramowaniu może bardzo ładnie wygenerować taką częstotliwość za pomocą sprzętowego pwm. Ponieważ trzeba jeszcze jakoś wprowadzać i odczytywać informacje. Urządzenie w wersji podstawowej (opcja1) składało się z generatora wzorca 16.384MHz napędzającego procesor, 5 przycisków podłączonych do portu C, oraz Wyświetlacza LCD 2x24 podłączonego do portu B. Do tego dwa stabilizatory, kilka elementów pasywnych i generator gotowy był do działania. Jak widać na schemacie w celu uzyskania większego prądu wyjściowego, użyty został wzmacniacz prądowy/bufor na LM324 oraz tranzystorach, który oczywiście opcjonalnie można pominąć. W tej podstawowej wersji mamy do dyspozycji 3 generatory (Procesor wprawdzie posiada 4 wyjścia pwm, ale jedno zostało zużyte na sterowanie podświetlaniem lcd/wyjście wzorca 32.768kHz ze względu na wykorzystanie timera powiązanego z tym wyjściem do celów generowania przerwania). Oprogramowanie umożliwia strojenie z krokiem 0.0019230769231Hz (daje to możliwość generowania równych kroków 0.0625Hz, 0.125Hz itd.) oraz wybór przesunięcia fazy 8bit, wybór kształtu generowanej fali, oraz również 8 bitowy pwm. W procesorze można zapisać do 7 dowolnych ustawień generatorów przestawianych „jednym przyciskiem”. Tutaj chciałbym zauważyć, że generator można również zbudować w wersji minimalistycznej- bez wyświetlacza oraz przycisków :). W opcji zerowej nie trzeba montować guzików ani LCD. Całe sterowanie odbywa się przez terminal szeregowy na którym są wyświetlane cały czas dokładnie te same informacje co na wyświetlaczu. Domyślna prędkość to 115.200Kb (można ją zmienić w 'setup' o tym później). Jak widać na powyższym przykładzie nazwa „generator opcjonalny” jest jak najbardziej uzasadniona :).

    Opcja2.
    Kolejnym ulepszeniem generatora jest uzupełnienie „brakującego kanału pwm”.
    W tym celu został użyty przetwornik CA DAC6571 (nieszczęśliwie dla chcących wykonać ten projekt - jak szybko pojawił się w sklepie tak szybko z niego zniknął). DAC jest sterowany osobno przez porty twi procesora z szybkością ~768kHz. Udało się zmusić sprzęt do wysyłania danych bez czekania na potwierdzenia, dzięki czemu DAC może pracować z pełną częstotliwością DDS / próbkowania 32.768kHz. Ponieważ DAC ten jest 12bitotowy w celu zagospodarowania nieużytej rozdzielczości program umożliwia zmianę amplitudy generowanego sygnału /2 /4 /8. Może to być pomocne w niektórych zastosowaniach, ponieważ z założenia wyjścia generatorów nie posiadają żadnej regulacji amplitudy. Na schemacie w bloku DACa GEN4 znajdują się potencjometry oraz wzmacniacz operacyjny służące do dostarczenia sygnałów modulujących dla generatora 7, ale do tego jeszcze wrócimy.
    Opcja3. (GEN4 GEN5 DDS AD9833)
    Jak to mawiają apetyt rośnie w miarę jedzenia, więc przyszedł czas na wykorzystanie sprzętowego DDSa ;) w ruch poszły AD9833 które dość często można jeszcze trafić w sklepie (za cenę taką sobie). Ponieważ miałem już gotowe płytki pod te układy pozostałe z dawnego projektu, po małej przeróbce zostały użyte jako dodatkowe dwa kanały generatora. W celu poprawy jakości sygnału, bez najmniejszych problemów syntezery te pracują z zegarem 32.768MHz (użyty ICS502). Program umożliwia przestrajanie tych generatorów z minimalnym możliwym krokiem ~0.1Hz oraz przesunięciem fazy z rozdzielczością 12bit (4096 kroków). Tutaj również możliwy wybór kształtu generowanego sygnału, jednak z pewnymi ograniczeniami związanymi z szybkością użytych buforów. Na marginesie- używając tych dwu generatorów, można już uzyskać regulację amplitudy sygnału oraz modulację AM (100%). Wprawdzie w zakresie 10MHz ale to już coś.

    Opcja3 i 1/2 (z 10MHz robimy 200MHz czyli ICS502 cd.)
    Jeżeli jednak 10MHz to mało, wystarczy użyć powielaczy. Program umożliwia powielenie częstotliwości generatorów 5 i 6 przez wartości z zakresu od x4 do x25
    Ponieważ generatory DDS mają krok 0.1Hz nadal otrzymujemy bardzo wysoką rozdzielczość przestrajania. Do sterowania stopniem mnożenia powielaczy został użyty pcf8574 ze względu na to że był pod ręką oraz magistralę i2c a co za tym idzie oszczędność wyprowadzeń procesora. Na wyjściu powielaczy znajdują się wtórniki emiterowe, ale można je śmiało pominąć. Zostały użyte przede wszystkim ze względów bezpieczeństwa- łatwiej wymienić uszkodzony tranzystor niż układ smd na płytce prototypowej, przy okazji zapewniają dopasowanie 50ohm. Z ICS502 można pobrać również buforowany i nie powielony sygnał generatorów 5 i 6 standardu 5V TTL (zaznaczone na schemacie).

    Opcja4 (Głowica TV jako generator 80-800MHz)
    Wracając do apetytu... Mamy już możliwość wzbudzania 200MHz co jest wystarczające do wielu różnych zastosowań, ale czemu by nie spróbować uzyskać jeszcze trochę więcej, przy trochę lepszej czystości widmowej sygnału? Na dzień dzisiejszy kiedy telewizja analogowa chyli się ku śmietnikowi, głowicę TV zaopatrzoną w generator oraz syntezer PLL można kupić za grosze lub wydłubać ze złomowanej karty TV. Nadmienię w skrócie, iż nie wszystkie chipsety głowic tv nadają się do użycia jako generator i przed planowanym użyciem należy sprawdzić na jakich układach jest zbudowana głowica. Jeżeli jednak już ktoś decyduje się na zbudowanie generatora z głowicy, to zapewne wie mniej więcej co robi ;). Prawdopodobnie największa trudność polega na „podprowadzeniu” sygnału który jest dostarczany do syntezera, w tym przypadku jest to TSA5523M i dla niego też znajduje się oprogramowanie w procesorze. Sygnał w.cz jest pobierany z wyjścia potrójnego generatora TDA5737 zarazem wejścia syntezera przy użyciu wzmacniacza separatora ERA3. Wzmacniacz ten dostarcza ~20dB wzmocnienia przy dopasowaniu do 50R. Sprawę dopasowania falowego nie będę tutaj roztrząsał z powodu nie posiadania sprzętu do tak zaawansowanych pomiarów. Zostanę tylko przy fakcie, iż mimo tej przeróbki syntezer nadal pracuje prawidłowo, a my cieszymy się sygnałem w.cz który dodatkowo można jeszcze wzmocnić, w tym przypadku z użyciem SNA-586. Sygnał po wzmocnieniu ma wartość około 10dBm. Tutaj słów kilka o wzorcu częstotliwości dla pll w tej głowicy. Standardowo częstotliwość jest wytwarzana w generatorze wbudowanym w PLL za pomocą kwarcu 4MHz. Jednak jak widać na schemacie wprowadziłem małą przeróbkę, po której mamy możliwość przełączania między generatorem wbudowanym w głowicę, a zewnętrznym – w tym przypadku podawany jest sygnał z generatora 6. Niestety takie rozwiązanie ma pewną niemiłą wadę. Dla pracy DDS z częstotliwością rezonansu szeregowego kwarcu- sygnał zegara drastycznie pada i pll przestaje pracować prawidłowo. W praktyce jednak „dip” ten jest bardzo wąski i nie koniecznie wypada dokładnie na 4MHz, a poza tym pll można sterować bez problemu częstotliwością 2MHz uzyskując krok przestrajania 25kHz. Sygnał przełączania wzorca jest pobierany z portu 6 syntezera pll.
    Na schemacie jest również zaznaczona możliwość modulacji FM oraz AM
    generatora 7. Sygnał modulujący jest pobierany poprzez potencjometry z DAC generatora 4. Dla FM sprawa jest prosta- odnajdujemy miejsce gdzie sygnał moduluje generator (okolice diod pojemnościowych) i tam podłączamy sygnał.
    Z AM sprawa wygląda w tym rozwiązaniu gorzej niż kompromisowo, bo wzmacniacz SNA modulowany zmiennym napięciem 5Vpp nie działa liniowo w tak szerokim zakresie i uzyskany sygnał AM jest obarczony dużymi zniekształceniami. Jednak regulując odpowiednio potencjometr, oraz zmieniając poziom sygnału gen4 można uzyskać akceptowalne zniekształcenia dla wartości modulacji (~20%). Potencjometr AM posiada w tym rozwiązaniu podwójną funkcjonalność, umożliwiając równocześnie regulację głębokości modulacji oraz poziomu sygnału wyjściowego w.cz.

    „Zarządzenie zasilaniem” .
    Ostatnim dobudowanymi elementami były wyłączniki zasilania na STT5PF20V (można tutaj użyć praktycznie dowolnego P mosfeta z opornością włączonego kanału <0.1R) umożliwiające odłączenie powielaczy oraz głowicy TV. Zastosowanie wyłączania zasilania zostało podyktowane z dwóch powodów. Pierwszy to oszczędność energii i zmniejszenie grzania stabilizatora (głowica pobiera ~200mA, powielacze max 100mA). Drugi powód to produkowanie zakłóceń przez ICS502, szczególnie pracujących poza zakresem dozwolonych częstotliwości wejściowych.

    Obudowa itp. szczegóły ;):
    Ponieważ jednym z głównych założeń projektu był niski koszt, praktycznie wszystkie części elektroniczne jak i mechaniczne pochodzą z „recyclingu”. Również obudowa pochodzi z jakiegoś dawno zbudowanego a później rozłożonego urządzenia. W związku z tym posiadała ona otwory nie koniecznie pożądane a inne trzeba było dorobić. Stąd min gniazdo UC1 oraz RPSMA jak i śmieszny prostokątny bezpiecznik. Na pewno gniazda te zostaną jakoś zużyte, prawdopodobnie UC1 dostanie sygnał sumę zza generatorów 5,6 lub powielaczy po dość mocnym stłumieniu (tutaj zagadka do czego to się może przydać ;) ). RPSMA jest podłączone do wyjścia jednego z powielaczy. Na gniazdach cinch są sygnały generatorów 5 i 6 oraz z wyjść układów ICS502. Gniazda JACK to wyjścia generatorów 1-4. Sygnał generatora 7 jest doprowadzony do jednego z gniazd głowicy TV, która to jest przykręcona śrubą do tylnej ścianki. „Płyta główna” przykręcona jest śrubkami do spodu obudowy. Kondensatory tantalowe widoczne ze spodu płytki służą min. jako dystans. A jeden z nich w szczególności ;) .Panel przedni był dostosowywany od zera. Sprowadziło się to do wypiłowania szczeliny na lcd, oraz 3 otworów dla potencjometrów. Guziki są jak zwykle w moich konstrukcjach umocowane paskudną metodą na „przetopienie obudowy przez ich końcówki”. LCD jest przykręcony do panela od wewnątrz 4ma małymi wkrętami. Górna pokrywa nie ma śrubek a ja pomysłu jak ją przymocować :) ze względu na brak tulejek które oryginalnie służyły do tego celu w tej obudowie. Nawiasem mówiąc ze względu na opcjonalność całej konstrukcji to i tak nieźle że ma jakąkolwiek obudowę ;).

    Komu to i na co ?

    Projekt powstał jak wspomniałem na wstępie, później po prostu z chęci rozbudowy, oraz treningu programowania. W międzyczasie pomyślałem, że może się przydać komuś taki prosty generator, który w prawdzie nie grzeszy swoimi parametrami, ale za to jest tani (Zwłaszcza jeśli komuś pozostały sample z AD). Zastosowanie w zależności od wykorzystanej rozbudowy, to przede wszystkim wszelakie prace gdzie potrzebujemy znanej i stabilnej częstotliwości z dokładną jej regulacją, a sprawa amplitudy oraz czystości widmowej jest drugoplanowa.

    Opis funkcji interfejsu programu sterującego, oraz parametrów sygnału:

    Parametry wspólne:
    Mem- wybór numeru pamięci z ustawionymi parametrami generatorów
    (Enter powoduje przejście w tryb wyboru numeru pamięci do której zostaną zapisane aktualne ustawienia generatorów)
    Gen- numer aktualnie edytowanego generatora (enter włącza lub wyłącza generator)

    Parametry dla poszczególnych generatorów:
    Generatory 1-3:

    Napięcie wyjściowe generatora dla wyłączonego filtra (Ftr=0)
    5Vpp
    Czas narostu impulsu dla sygnału prostokątnego na wyjściu bufora prądowego
    max 50us
    Napięcie wyjściowe generatora dla włączonego filtra (Ftr=1)
    <=500Hz =4.8V, 1kHz = 4.2Vpp 5kHz=1.8V


    przestrajanie 0-5kHz (kursor nad odpowiednią pozycją przestraja +-)
    Ph (faza) 0-255 (przestrajanie w krokach 1 lub 32 zależnie od pozycji)

    PW (pulse width) 0-255 – w zależności od wartości wysyła całą lub część tablicy z falą (przestrajanie w krokach 1 lub 32 zależnie od pozycji).
    Ftr (Filtr) 0-3
    0=filtr wyjścia pwm odłączony – do generowania przebiegów prostokątnych
    1=dołączony filtr całkujący na wyjściu pwm– filtracja częstotliwości modulatora pwm do generowania przebiegów sinus trójkąt...
    2,3= filtr w konfiguracji różniczkującej- generowanie krótkich impulsów
    SINUS-sinusoida
    TRIAN-trójkąt
    SQUER-prostokąt
    SAW1r-piła rosnąca
    SAW2f-piła opadająca
    SQRx4-prostokąt częstotliwość x4
    SQRxA-prostokąt częstotliwość x10
    PWM_H-poziom wysoki – do wykorzystania wraz z opcją PW.

    Przebiegi generowane są na podstawie odczytu 256 bajtowych tablic fali. Rozdzielczość próbki tak, jak w sprzętowy pwm atmegi wynosi 8bit.



    Generator 4:

    Napięcie wyjściowe generatora dla wszystkich kształtów 5Vpp
    Czas narostu impulsu dla sygnału prostokątnego 4us

    przestrajanie 0-5kHz
    Ph (faza) 0-255
    PW (pulse width) 0-255
    Mod (modulacja) 3=amplituda max (5Vpp) 0=5V:8
    SINUS-sinusoida
    TRIAN-trójkąt
    SQUER-prostokąt
    SAW1r-piła rosnąca
    SAW2f-piła opadająca
    SQRx4-prostokąt częstotliwość x4
    SQRxA-prostokąt częstotliwość x10
    PWM_H-poziom wysoki – do wykorzystania wraz z parametrem PW.

    Rozdzielczość kwantyzacji 8bit. Dodatkowa regulacja amplitudy 1-1/8 (bez pogorszenia rozdzielczości).

    Dla generatora 5 i 6
    przestrajanie 0-15MHz (powyżej 5MHz tylko sinus, powyżej 10MHz bardzo duży spadek poziomu sygnału)

    Napięcie wyjściowe generatora dla przebiegów nieprostokątnych:
    <1MHz =3V, 5MHz = 3V, 10MHz = 1.5Vpp
    Napięcie wyjściowe generatora dla przebiegów prostokątnych:
    <1MHz = 4,2V, 5MHz = 4Vpp
    Czas narostu impulsu dla sygnału prostokątnego 100ns

    Ph (faza) 0-4096 12bit

    SINUS-sinusoida
    TRIAN-trójkąt
    SQUER-prostokąt
    SQR/2-prostokąt częstotliwość :2


    Powielanie:
    x4, x6,6.66, x7.5, x8, x10, x12, x12.5, x13.3, x15, x16.6, x20, x25
    Maksymalna częstotliwość wyjściowa powielaczy ~200MHz
    Minimalna częstotliwość wejściowa ~1MHz
    Napięcie wyjściowe za wtórnikiem emiterowym 4.4Vpp
    Czas narostu napięcia max 10ns


    Generator 7
    przestrajanie 0-819MHz (dla kroku 25kHz -wzorzec 2MHz)

    Wyświetlanie pasma pracy (związane z konfiguracją wewnętrzną głowicy)
    VHFl <86MHz
    VHFL<186MHz
    VHF <490MHz
    UHF >=490MHz



    Wybór wzorca czasu:
    4MHz Xtal – generator kwarcowy syntezera pll
    Gen6 DDS – wzorzec z generatora 6
    W tym trybie częstotliwość jest wyświetlana z dokładnością 0.001Hz, krok przestrajania dla 100MHz(PLL) 6Hz (zmiana F dds). Zmieniając wartości na pozycji 10kHz w górę zmieniamy wartość podziału syntezera pll, Dla pozycji 1kHz i mniej zmieniamy wartość częstotliwości generatora DDS. Na wyświetlaczu jest wyświetlana rzeczywista częstotliwość wynikła z częstotliwości pracy DDS oraz wartości nastawy dzielnika PLL.



    Dokładne strojenie analogowe RIT.
    Po przekręceniu potencjometru o wartość 2 lub więcej na LCD zaświeca się napis RIT wraz z wartością odchyłki częstotliwości. Jeżeli dwie sekundy wartość nastawy się nie zmienia napis sam się wyłącza. Wartość zera RIT należy skorygować potencjometrem R5 oraz wartością parametru w menu konfiguracyjnym „setup”.

    Parametry konfiguracyjne.
    Aby przejść do ustawień należy równocześnie przycisnąć kursor lewo i prawo ('!' na terminalu). Aby zapisać zmienione ustawienia do eeprom należy powtórzyć tę czynność. Enter = przejście do normalnej pracy programu ze zmienionymi wartościami konfig. Bez zapisu do eeprom (na próbę).
    1.”Misc parameters”- tutaj poszczególne bity włączają i wyłączają różne funkcje.
    Na ten moment wykorzystany jest jeden najmłodszy bit. Ustawienie tego bitu na 1 powoduje, ze każda zmiana parametru na wyświetlaczu lcd równocześnie zmienia parametry pracy generatora. Ustawienie 0 wymusza zatwierdzenie zmiany stanu generatora przyciskiem enter.
    2.”Memory usage (>7 extern)”. W związku z opcjonalnością użytkownik może wybrać ile komórek pamięci będzie używanych. Jeżeli wpisana zostanie wartość 8 lub więcej procesor będzie zapisywał dane do zewnętrznej pamięci eeprom która musi zostać podłączona do magistrali i2c (patrz schemat).
    3.”Generators usage (1-7)” Jeżeli wykorzystane są tylko 3 generatory, nie ma sensu wyświetlać ustawień dla wszystkich 7. Tutaj można ustalić ile używamy generatorów.
    4.”Usart speed (8=115.200)”. Wartość UBRR dla szybkości transmisji szeregowej. Po skasowaniu eeprom domyślnie jest ustawiana wartość 8=115.200 (16=57.600.)
    5.”Set for zero RIT value”. Tutaj wpisujemy wartość dla której przy zerowej odchyłce częstotliwości wyświetlana jest wartość [RIT: 0]
    6.”Backlight time (0=infin)”. Czas po jakim zostanie przyciemnione podświetlanie LCD dla zera zawsze włączone na max (krok~2sek).

    Korzystanie z terminala:
    Sprowadza się, do podłączenia do wyprowadzeń RX TX procesora, oraz ustawienia odpowiedniej prędkości w komputerze. Działanie było sprawdzone w programach „putty” oraz „tera term”. Odczytywane przyciski klawiatury to kursory,
    enter, oraz „!”. Dodatkowo można wybrać nr pamięci używając przycisków 0-9. Reszta klawiatury jest w tym momencie nie użyta, głównie z powodu uproszczonej interpretacji danych z terminala (odczytywanie tylko ostatniego znaku asci dla klawiszy kursora). Istnieje możliwość zmiany prędkości od 1Mbps do 2400bps, jednak w przypadku bardzo niskich prędkości usart trzeba się liczyć z spowolnieniem reagowania programu obsługującego generatory związanego z oczekiwaniem na koniec transmisji bajtu przez usart. Efekt ten jest odczuwalny dopiero poniżej prędkości 19.200bps.



    Zakończenie opowieści:
    Niestety nie będzie nawet skróconego opisu budowy programu ze względu na jego obszerność, oraz fakt że tym razem źródło nie będzie opublikowane. Wspomnę tylko, że program został napisany w asemblerze, a jedyne co zapożyczyłem, to program mnożenia 32bit x 32bit bez którego byłoby niemożliwe wyświetlanie częstotliwości z 12 cyfrową dokładnością (dla generatora 7). Jednak największą radość sprawiło mi chyba oprogramowanie daca w programie przerwania DDS, oraz wyciskanie ze sprzętowego TWI „siódmych potów” co zaowocowało prawidłową pracą przy 700kHz magistrali w trybie low speed przetwornika DA. Jako dodatkowe utrudnienie zrealizowałem również funkcjonalność zsynchronizowania startu w fazie generatorów 1-6 co poszerza możliwość zastosowania zaprogramowanych nastaw.
    (Start generowania fali rozpoczyna się od tego samego miejsca tablicy i w tym samym czasie zarówno dla softowego DDS jak i sprzętowych AD9833 w momencie zmiany/wywołania numeru pamięci lub po naciśnięciu enter). Częstotliwości za powielaczami również są synchroniczne, jednak nie można zagwarantować znanego przesunięcia fazowego po starcie generatora ze względu na wewnętrzne dzielniki w pll ICS502 do których resetowania nie posiadamy dostępu. To samo dotyczy Generatora 7 na syntezie pll TSA5523.

    Jako uzupełnienie tej skromnej dokumentacji dołączam kilka zdjęć oraz film przedstawiający działanie programu. Na filmie można zaobserwować niepoprawne działanie wyświetlania RIT, jak się okazało z powodu uszkodzonego kondensatora C9 1uF. Po wymianie wyświetlanie wartości napięcia przetwornika ADC działa prawidłowo, co umożliwia automatyczne wygaszanie tego parametru na LCD (używanie do tego celu klawiatury miało być tylko opcjonalne ;) )


    Boberov 2012

    Generator opcjonalny Megawave Atmega
    Panel przedni z potencjometrami FM,AM,RIT
    Generator opcjonalny Megawave Atmega
    Od tyłu
    Generator opcjonalny Megawave Atmega
    Generator opcjonalny Megawave Atmega
    Od przodu bez pokrywki
    Generator opcjonalny Megawave Atmega
    Płytka z atmega oraz kablownia.
    Generator opcjonalny Megawave Atmega Generator opcjonalny Megawave Atmega
    Pierwsze próby pobrania sygnału z głowicy TV
    Generator opcjonalny Megawave Atmega
    Prze paskudna strona "druku" płytki uniwersalnej :)
    Generator opcjonalny Megawave Atmega
    Przystosowane płytki z AD9833 montowane na goldpinach do płyty głównej
    https://filmy.elektroda.pl/88_1603749800.avi
    Działanie programu / interfejs użytkownika

    Cool? Ranking DIY
    About Author
    bobeer
    Level 28  
    Offline 
  • Automation24.pl
  • #2
    daroslav15
    Level 16  
    Schemat 'taki se', za bardzo rozbudowany, mogłeś jakoś podzielić na poszczególne bloki funkcjonalne, do tego przydałoby się białe tło-lepiej wszystko widać.
    Pochwal się jakimiś przebiegami, zapewne wszyscy na to czekają.
    Dlaczego za DDSem takie słabe filtry powsadzałeś? Skoro z DDSa generujesz również przebiegi inne niż sinus, to dlaczego filtru za wzmacniaczem nie omijasz?
    I apropo podkręcania DDSa, to widziałem w sieci, jak ktoś się chwalił, że AD9833 taktował zegarem 90 MHZ i działał stabilnie. Na forum wsparcia AD gdzieś ktoś napisał, że bez problemu można mu puścić przynajmniej 50 MHz, choć lepiej po trochę zwiększać zegar i badać stabilność.
  • Automation24.pl
  • #3
    bobeer
    Level 28  
    Quote:
    Schemat 'taki se', za bardzo rozbudowany, mogłeś jakoś podzielić na poszczególne bloki funkcjonalne, do tego przydałoby się białe tło-lepiej wszystko widać.

    Rozumiem że krytykujemy tutaj konstrukcje, ale żeby się czepiać kolorów schematu :)
    Schemat rozbudowany ? Noto jak to prościej można było rozwiązać ? Użyć jednej magistrail I2C? gwarantuje że nie zadziała. Chyba że o "makaron" koledze chodzi, ale wtedy znowu trochę jak z kolorami. Podzieliłem na bloki na tyle ile dałem radę ;)
    Quote:
    Pochwal się jakimiś przebiegami, zapewne wszyscy na to czekają.

    Celowo nie wstawiałem żadnych oscylogramów, bo niema się czym chwalić. Napisałem o tym już wcześniej, oraz zamieściłem w opisie wartości z pomiarów (czasy narostu impulsów) które jasno pokazują kompromisowość rozwiązań.
    Quote:
    Dlaczego za DDSem takie słabe filtry powsadzałeś? Skoro z DDSa generujesz również przebiegi inne niż sinus, to dlaczego filtru za wzmacniaczem nie omijasz?

    Tak ma być żeby było prosto. Pojedynczy filtr to znowu kompromis pomiędzy w miarę stromymi zboczami i choćby małym obcięciem syfu od góry (Przecież sygnały tak czy inaczej powyżej pewnej częstotliwości tutaj jakieś 5MHz (1/6FCLK) i tak już wyglądają fatalnie). Szczerze mówiąc, to była próba 3 sekcyjnego pifiltra, ale jakoś nie doszła do skutku. Zapewne uznałem, że prosty filtr wystarczy. Poza tym należy zauważyć, że sam wzmacniacz operacyjny, to również filtr.
    Quote:
    I apropo podkręcania DDSa, to widziałem w sieci, jak ktoś się chwalił, że AD9833 taktował zegarem 90 MHZ i działał stabilnie. Na forum wsparcia AD gdzieś ktoś napisał, że bez problemu można mu puścić przynajmniej 50 MHz, choć lepiej po trochę zwiększać zegar i badać stabilność.

    To bardzo ciekawa informacja. Przypuszczałem, że te syntezy pójdą na 50MHz, ale że 90 to nie myślałem :). Całkiem możliwe że to sprawdzę i wykorzystam. Wystarczy podłączyć jeden port atmegi do ics502 i mamy kolejną opcję ;)
  • #4
    daroslav15
    Level 16  
    Nie że się czepiam, przecież wszyscy zawsze powtarzają, że chodzi głównie o konstruktywną krytykę. Po prostu dla mnie schemat z czarnym tłem jest mało czytelny, na schemacie widać głównie druty, bo można wszystkie elementy na schemacie trochę inaczej poukładać i tyle. Niemniej wiem, że trochę czasu to wymaga, bo schemat trochę rozbudowany.
    Jeśli kolega czeka na pochwały, to mogę pochwalić, że konstrukcja przydatna i zapewne ktoś będzie mógł coś się z niej nauczyć i czerpać inspirację. No i jak najbardziej chylę czoła za program w asemblerze oraz politykę wykorzystywania modułów z innych urządzeń. Pozdrawiam