DDS generatorius. Užkulsiai.
Aš čia parašiau nemažai, kaip mano generatorius atrodo, ką daro, bet kas jo viduriuose, taip ir neparodžiau, o tai turbūt daugumai yra įdomiausia. Pradėsim nuo veikimo pricipo.
Principinė shema, kad būtų viskas aiškiau. O joje matom štai ką. Mikrovaldiklis užsiima vadovavimu. Nuskaitinėja klaviatūrą, kai reikia nusiunčia pasikeitimus LCD, ateniuatoriui ir generatoriaus mikroschemai. Pastaroji užsiima signalo generavmu, atsakinga už dažnį ir formą. Iš čia signalas keliauja į skaitmeniškai valdomą ateniuatorių, kuriuo galima keisti amplitudę ir nuolatinę dedamąją (offset). Už ateniuatoriaus stovi niekam nepavaldus ir visiškai savarankiškas stiprintuvas, kuris tiesiog stiprina signalą tam tikru santykiu ir pagal idėją duoda daugiau srovės, jei reikia. Be to praktika parodė, kad jis ir sudega, apsaugodamas likusią grandinę, jei kas netaip. Maitinimo blokai du, nes stiprintuvui reikia +- 12-15V (priklauso nuo stiprintuvo), o kitom schemom +- 5V (-5 reikia tik ateniuatoriui). Dar vienas neaptartas blokas yra taktinio dažnio generatorius. Jis reikalingas DDS generatoriaus veikimui, kadangi anas yra skaitmeninis ir pats iš savęs veikti nemoka. Taktinio dažnio generatorius generuoja pastovaus dažnio sinusoidę.
Taigi lendam giliau. Principinė schema.
Pradėsim nuo kairės. Mikrovaldiklis ATMega16 komentarų kaip ir nereikalauja. Pasirinktas daugiausiai dėl kojelių skaičiaus. Jungtys dešinėje klaviatūrai (XS1) ir LCD (XS2). Klaviatūrai naudojama mygtukų matrica iš tokio daikto. Jame yra graži jungtis mygtukų plėvelei, kurią nesunkiai perlitavau. Puikiai pritaikyta vandalizacijai. LCD standartinis raidinis 16×2, valdomas 4 bitais, nes taip įdomiau ir norėjau pataupyt kojas, nes nežinojau, kiek tiksliai periferijos reiks.
DA1 yra generatorius. Analog devices kūrinys. Palaiko iki 25 MHz taktinį dažnį, taigi teoriškai iki 12,5 MHz signalas išėjime. Praktiškai tas signalas nelabai koks išeina, nebent gerai atfiltravus bus sinusoidė, ir ta nekokio tikslumo. Bet turint 10 atskaitų (apie 1 MHz) signalai jau visai gražūs. Aš naudojau 20 MHz taktinio dažnio generatorių (DA3). Šiaip dėl to, kad tokį turėjo darbo vadovas, bet man jis ir šiaip atrodo geriau už 25 MHz, nes norint gauti 10, 5, 2, 1 MHz dažnius reikia dalinti iš sveikų skaičių, o tai pagerina signalo kokybę. Išėjime galima gauti sinusinį, trikampį ir stačiakampį signalus. Durnas dalykas, kad sinusas ir trikampis yra 0,65 Vp-p, o stačiakampis - 5 Vp-p. Ir dar abu prasideda nuo 0V, t.y. turi skirtingą nuolatinę dedamąją. Mikroschema valdoma SPI sąsaja. SPI signalo dažnis gali būti iki 40 MHz, liuosiai galima organizuot frequency sweep, fsk, psk (yra registrai dažnio ir fazės nustatymui) ir su papildomom priemonėm kad ir fm “fyčersus”. Giliau patyrinėjus man pasirodė, kad tik fantazijos reikalas, kam galima pritaikyti šitos serijos generatorius.
Toliau (DA2) dar vienas egzotinis įrenginukas. Jei labai oficialiai, tai keturių kvadrantų aukštadažnis įtampos daugintuvas. Tokį pasakymą labai mėgo mano baigiamojo vadovas. Papraščiau pasakyt, ką šitas daikčiukas daro: W = X * Y + Z. X, Y ir Z yra įtampos įėjimuose, kurių pirmi du yra diferenciniai. Išėjime pagal duotą formulę gaunama įtampa W. Pralaidumo juosta iki 250 MHz, įtampa iki 2,5 Vp-p. Dalykas paprastas, bet išsprendžia labai daug problemų. Visų pirma norint išpręsti minėtą nuolatinės dedamosios problemą labai naudingi diferenciniai įėjimai. Problema išsprendžiama paprastu įtampos dalikliu. Antra, norint valdyti amplitudę ir nuolatinę dedamąją skaitmeniniu būdu, nereikia aukštadažnių skaitmeninių potenciometrų ar DAC’ų. Viskas valdoma nuolatinėm įtampom, gaunamom paprasčiausiomis priemonėmis. Be to su tokiu daiktu galima realizuot amplitudines moduliacijas ir kitokių smagių dalykėlių. Nuolatinės įtampos kuriamos skaitmeniniais potenciometrais (DD2 ir DD3) ir krūvele rezistorių, sudarančių įtampos daliklius. Įtampos dalikliuose įdėjau trimerių, kad galima būtų panaikint rezistorių paklaidas.
Paskutinė pakopa - paprastas operacinis stiprintuvas prijungtas klasikine schema. Stiprinimo koeficientas sugalvojamas pagal skaičiavimus, o tiklsiai amplitudė suderinama R7 trimeriu. Šitas konkretus stiprintuvas yra labai kietas tuo, kad gali pasiekti man reikalingą 20 Vp-p amplitudę prie 10 MHz. Žemiau šio stiprintuvėlio charakteristikos iš datašyto. Matosi, kad man jis labai tiko, nes pralaidumo juosta kaip tik tokia, kokia man reikia. Tai paverčia stiprintuvą ir papildomu filtru. Galutiniam variante tarp įtampų daugintuvo ir išėjimo stiprintuvo stovi ir rc filtras, šitoj schemoj jis nepavaizduotas.
Na ir galų gale apačioje maitinimo blokas. Bent kartą dariusiems dvipolį maitinimą manau klausimų nekils. Dvipolis 15 V maitinimas stiprintuvui, dvipolis 5 V daugintuvui, viskam kitkam +5 V. Maitinimo bloko dalis iki kištuko yra atskirame blokelyje, o stabilizatoriai ir keraminiai kondensatoriai jau plokštėje. Tiesa, buvo versija, kur ant 15 V dar pastačiau 12 V stabiliatorius, nes pasirodė, kad smd korpuse operaciniam stiprintuvui maksimali maitinimo įtampa yra būtent +-12 V. Su tokiu maistu jis pasiekdavo 10 V amplitudę, bet nė lašo daugiau. Jei kada prisiversiu perdaryt montažinę plokštę, darysiu su dip korpuso operacinuku. Ir dar viena klaida buvo pasirinkti stabilizatorius so-8 korpuse. Pasimatavau veikiančio generatoriaus valgomą srovę, ji, kaip ir buvo skaičiuota, su atsarga tilpo į gamintojo nurodomas ribas, bet stabilizatorių pirštais paliesti nelabai eina. Dabar dėčiau šiek tiek galingesnius, galbūt kelis atskiroms grandinės dalims.
Manau dar reiktų paliesti skaudžiąją finansinę dalį. Taigi pradžioj paskaičiuokim. Klaviatūra ir generatorius maždaug po 50 Lt, LCD kokie 40 Lt, daugintuvas, stiprintuvas po 20 Lt, kontroleris, skaitmeniniai potencai, transformatorius po 10 Lt, laidai, pasyviniai elementai, taktinio dažnio generatorius, kištukai, lizdai ir kita turbūt dar koks 20-30 Lt. Jei nieko nepamiršau, tai išeina … ~250 Lt. Šitas daiktas gavosi gana nepigus, bet daugiausiai dėl mano kaprizų arba užsibrėžtų tikslų (baigiamojo užduotį susigalvot reikia beveik metus prieš gynimą, todėl kai kurie punktai būna nepasvertai reiklūs). Man nemažai dalių davė baigiamojo darbo vadovas - generatorių, taktinio dažnio generatorių, daugintuvą, LCD pirkau iš “second hand”. Žodžiu kokią šimtinę sutaupiau, bet vis tiek baveik visa gero studento stipendija.
Šiaip visas dalis gavau Lietuvoje. Sudėtingiausia procedūra yra su generatoriumi, kurį galima gauti iš digikey per evitą, arba tiesiai iš digikey. Esmė ta, kad visas dalis galima gauti pavaikščiojus į kelias Vilniaus parduotuves, be siuntimosi iš užsienio ir be pay pal sąskaitų ir panašių mandrų dalykų. Kai kurių dalių reiks palaukt, bet tik tiek.
Tai tokia ta trumpa mano generatoriuko apžvalga. Tikiuosi buvo įdomu ir naudinga.
2010-01-17 15:17
Turiu ir aš mintį pasidaryt kokį generatoriuką DDS pagrindu, tik norėtųsi pasiekti bent 10MHz dažnį. Gal su 50MHz čipu pavyktų gaut pusėtinas formas?
2010-01-17 15:26
Gerai padirbėta!
2010-03-23 23:15
Armandai, biskutuką praleidau tavo postą, nepyk labai. Aš ir galvoju, kodėl tu man sakei, kad susitvarkyčiau komentarus.. Bet dabar jau radau tą išganingą varnelę, kuri leis nuo šiol komentuot be mano patvirtinimo. Kol neatsiras daug šiukšlintojų taip gal bus geriau.
Apie generatorių. Viskas priklauso nuo to, kokias tu formas laikai pusėtinomis.
Jei reikia sinusoidės, turėsi. Jei reikia trikampio ar kvadrato, tada jie nebus labai gražūs. Čia labiau priklauso nuo išėjimo grandinės, nes jei jos pralaidumo riba yra arti generuojamo dažnio, tai visi signalų kampai užapvalinami ir trikampis bei kvadratas panašėja į sinusoidę, jei jos pralaidumo juosta platesnė, matysis signalo diskretumas.
Dar vienas dalykas yra tas, kad kai signale mažai atskaitų, nemažą reikšmę turi ar generuojamas dažnis yra kartotinis taktiniam, ar ne. Įsivaizduok kraštutinį atvejį, kai signalas iš dviejų atskaitų ir tu pamažini signalo dažnį keliais procentais. Rezultatas - atskaitos kiekvieno periodo metu šiek tiek pakeičia fazę, todėl keičiasi amplitudė (tam tikrose fazėse dvi atskaitos bus lygios nuliui, tam tikrose - pilnai amplitudei).
Aš padariau išvadas, kad norint turėti vizualiai gražius kvadrato ir trikampio signalus reikia, kad taktinis dažnis būtų 10 kartų didesnis už generuojamo signalo dažnį. Sinusas tinkamai išfiltuotas gali būti ir su dviem atskaitom pakankamai geras, bet tik kai taktinis dažnis yra kartotinis generuojamam.
Tai tiek trumpai.