Naposledy aktualizované

27.5.2015   17:17


Fórum

 Fórum 

Hľadanie

Počítadlo

Dary


2641889654/0200

DDS generátor  ( ad9850 modul ) signálov riadený cez pc alebo pomocou rotačného enkodéra                           13.8.2013

Zo zahraničia som si na skúšku objednal modul DDS generátora s IO AD9850. Je schopný dodávať sínus 0-40MHz a TTL 0-1MHz. Bližšie informácie je možné vyčítať z katalógového listu obvody AD9850. Nevýhodou je, že pri frekvencii nad 25MHz sa amplitúda neustále zmenšuje.

Samotný modul vyzerá nejako takto :


Trimer slúži na nadstavenie striedy TTL signálu. Jednotlivé vývody sú patrične označené a je možné tam pripojiť sériové alebo paralelné riadenie. Ďalej sú tam napájacie piny a výstupy Qp, Qn (TTL) SINA,SINB. SINA je výstup priamo z DDS a SINB je vedený cez LC filtre. Kryštál ma frekvenciu 120MHz. 

Takže som sa rozhodol postaviť nejaké to riadenie pre tento modul. Ako mikroprocesor som zvolil známu ATmega8. 

 

Komunikácia mikroprocesor-modul :

Pre pomerne malý počet brán mikroprocesora som volil sériovú komunikáciu pri ktorej sa využívajú piny CLK pre časovanie, DATA, FQ pre ukončenie 40bit slova a RST. Pri pripojení napájania je potrebné modul správne resetovať a inicializovať sériovú linku. Bity D0 a D1 sa musia pripojiť na log.1 a bit D2 na log.0 . Po správnou nainicializovaní už môžeme do modulu posielať dáta. prvých 32 bitov reprezentuje frekvenciu. Tá sa počíta zo vzťahu : fOUT=(Δphase*clkin)/232Δphase - 32bit slovo pre frekvenciu, clkin - v tomto prípade 125.000.000. Procesor vždy preberá frekvenciu v Hz či už pri používaní rotačného enkodéra alebo cez PC. Ostávajúcich 8bitov je nepodstatných vo väčšine prípadov ale riadiace bity sa musia nadstaviť presne ako uvádza katalóg. Potom nasleduje potvrdenie celého slova pomocou FQ. 

 

Komunikácia mikroprocesor-LCD :

Využil som knižnicu lcd.h. V hlavičkovom súbore som definoval jednotlivé piny pripojené na LCD a inicializoval displej aby sa zobrazil aj kurzor. Na displeji sa zobrazuje v prvom riadku nadstavená frekvencia a v druhom sa nachádza napätie batérie a stav relé. LCD sa prepisuje približne každú pol sekundu, poprípade reaguje takmer okamžite pri zmene frekvencie alebo stavu relé. 

 

Komunikácia mikroprocesor-PC :

Obvod FT232RL zabezpečuje prevod USB-uart. Uart je v mikroprocesore inicializovaný na 9600 rate, 8 dátových, žiadna parita a 1 stop bit. Nepodarilo sa mi zatiaľ urobiť žiadny graficky rozšírený program v PC ktorý by ovládal samotný generátor ale je možné použiť terminál pre COM port. Ja používam Termite 2.9 ale fungovať by mal aj HyperTerminál alebo iné. Pre zmenu frekvencie prosto zadám číselné vyjadrenie frekvencie v Hz. Pre ovládanie relé je použitý znak 't'.  V termináli je tiež potrebné nadstaviť ukončovací znak LF. Keď mikroprocesoru odošleme novú frekvenciu tak odpovie slovom "hovno ". Pokiaľ mu prikážeme zmeniť stav relé tak odpovie buď "ON " alebo "OFF " v závislosti od aktuálneho stavu relé. 

 




Zobrazovanie napätia:

Predpokladal som že celý generátor sa bude napájať z 7,4V li-po akumulátora, takže sa na LCD zobrazuje aktuálne napätie. Hodnoty pod 6,3V sa nezobrazujú. Rozsah od 6,9 po 6,3 slúži zároveň aj ako signalizácia vybitého článku. To je robené pomocou aktívneho bzučiaka. Okrem tejto signalizácie tiež reaguje na stlačené tlačidlá a podobne. Maximálna hodnota zobrazeného napätia je 24V.

 

Popis ovládacích prvkov:

Pre zmenu frekvencie je použitý rotačný enkodér s tlačidlom, takže sa nielen krúti ale aj stláča. Točením v smere hodinových ručičiek sa frekvencia zvyšuje a proti naopak. Krátkym stlačením enkodéra je možno pohybovať s kurzorom. Ten sa pohybuje z prava do ľava. Pri podržaní tlačidla enkodéra sa zapne alebo vypne relé. Reset tlačidlo je použité na resetovanie frekvencie na 1000Hz. Pokiaľ ho budeme stláčať viac krát za sebou alebo stačí len podržať tak sa bude dekadicky meniť frekvencia (1000 ... 10000 ... 100000 ... ).

 

Napájanie:

Pri napájaní z USB sa na TTL výstupe objavuje približne 4,7V. Je to spôsobené použitím schottkyho diódy. Pomocou konektora pre klasické pripojenie batérie je na stabilizáciu na 5V použitý spínaný STEP-DOWN menič s obvodom LM2575-5.0. Tento napájací vstup je chránený pomocou trubičkovej poistky 5A a 1,25A polyswitchu. činnosť polyswitcha je možné vyradiť pomocou prepojky.  Pri prúdoch viac ako 5A je potrebné použiť výkonnejšie tranzistory a napájanie priviesť na vstup EXT. NAP. Výkonové tranzistory a zosilňovač sa aktivujú iba pri zopnutom relé. Maximálna hodnota napájacieho napätia je 24V. V nutných prípadoch je možno ísť až po 30V ale LCD nezobrazí viac ako 24V.

 

Pomocné obvody:

Pre všestrannejšie použitie generátora som sa rozhodol umiestniť ako doplňujúce výstupy pre SINB, kde je možné meniť amplitúdu sínusového signálu. Kvalita DDS generovanie sínusu je pomerne mizerná a aj preto som použil pomerne mizerný zosilňovač. Používal som hlavne súčiastky čo som našiel po šuplíkoch. Ako výkonový prvok je zvolený video tranzistor BFQ262A, ktorý som našiel v monitore. Za pomoci osciloskopu je nutné trimrom nadstaviť čo najviac sa podobajúci sínusový priebeh. K skresleniu by malo dochádzať na oboch stranách naraz. Ak niekto má doma vysokofrekvenčný OZ tak ho môže použiť.

Ďalej som výstupy Qp a Qn opatril výkonovými mosfetmi pre spínanie podstatne väčších prúdov. Znovu zopakujem že k mizernej kvalite DDS modulu patrí aj mizerné riadenie výkonových tranzistorov :-). Celé zapojenie som navrhoval hlavne z šuplíkových zásob a nechcel som zbytočne vrážať do toho ďalšie peniaze. Výkonové riadenie je použiteľné asi do 100kHz.

 

Diódy:

Všetky diódy, okrem diódy paralelne zapojenej k cievke relé je potrebné použiť schottkyho s čo najnižším napätím vo vodivom stave. (okolo 0,3V). Slúžia hlavne preto aby bolo možné zariadenie napájať zároveň z USB a batérie.

 

Program + DPS:

Program je písaný v C. Zaberá takmer celú flash pamäť mikroprocesora. DPS a schéma je v eagli. Použil som generator.brd pre urobenie predlohy spojov a potlac.brd pre urobenie potlače na stranu súčiastok.

Program uvádzam vo formáte hex a aj v C. Pre napálenie programu do mikroprocesora sa použije hex súbor a fuse bity sa nadstavia na LOW-E4 HIGH-D9 a lock ostane FF.

 program+DPS+schema 


Schéma: