#include arba Sveiki. Darom pradžią

Sveiki.

Kadangi neseniai pagaliau įveikiau trečią pagrindinę kliūtį savo baigiamojo link, tai nusprendžiau, kad tai bus geras laikas pradėti ir savo išpažintis, ką gi gero esu nuveikęs. Kadangi tai pirmas įrašas, todėl supažindinsiu, ką meistrauju savo elektronikos bakalauro baigamajam darbui.

“Specialios formos signalų generatorius”, toks baigiamojo pavadinimas. Ne daug jis pasako apie patį darbą, bet toks ir yra užmanymas - kuo mažiau prižadėt, kad po to būtų lengva ištesėt. : ) Konkrečiau tai bus DDS (direct digital synthesis) principu veikiantis generatorius, kuriantis sinuso, trikampio ir kvadrato formos signalus iki 10 MHz ir 10V. Dar konkrečiau - naudosiu AD9833 generatorių su 25MHz taktiniu generatoriumi, ATMega 16 mikrovaldiklį, 16×2 raidinį LCD, išprievartautą “numpadą” kaip klaviatūrą valdymui ir kokį nors greitą operacinuką su pribumbasais išėjimui buferinti ir palaikyti amplitudę. Taip pat yra planas išnaudoti pagrindines AD9833 savybes ir padaryti ASK, FSK ir PSK moduliacijas, swep’us ir, panaudojant du čipukus, padaryti dviejų koherentinių signalų su fazės poslinkiu generavimą, bet čia tik jei bus laiko.

Nei su vienu iš naudojamų komponentų nesu niekada žadęs. Net ir su ATMega, nes iki šiol užtekdavo tiny. Šį kartą teko imtis didesnio agregato vien dėl to, kad bijojau, jog neužteks kojų. O su jokiu lcd, ar generatoriais nesu nieko daręs, taigi viską priversti veikti buvo ką veikti.

Kai pagaliau išsiaiškinau, kodėl neveikia mano klaviatūra, supratau, kad mano sunkumų šaltinis greičiausiai buvo mikrovaldiklis, kuris iš pradžių atrodė geriausiai pažįstamas komponentas - su tiny taigi esu dirbęs. Vakar atsekiau, kad kažkaip nelabai veikia C porto kai kurie bitai. Pasiguodžiau draugui, o tas pasiteiravo, ar kairtais pas mane neįjungtas JTAG. Na, kaip ir nejungiau, bet pasitikrinau ir pasirodo, kad jis būna įjungtas gamykliškai..

Po kelių valandų knisimosi datašytuose ir programos kode (pasirodo jį reikia išjungti du kartus per keturis ciklus; taip dėl to, kad neišjungtum netyčia) pagaliau pavyko ir viskas, kas dabar prijungta prie mano ATMega, pradėjo veikti taip, kaip reikia. O dar dieną prieš užtikau apie tą nelemtą JTAG internete ir galvojau “oho, koks geras daiktas, reiks panaudot, jei ir toliau taip nesiseks debug’int”. Galit įsivaizduot mano reakciją, kai supratau, kad dėl JTAG ir atsirado didžioji dalis tų bug’ų..

Taigi dabar turim:

Generatoriuką - valdomas SPI vienkrypčiu ryšiu - vienam generatoriui trys laidai. SPI clock greitis gali būt iki 40MHz, todėl galima naudoti maksimalų mikrovaldiklio SPI dažnį ir pakankamai sparčiai keisti parametrus. Antrą generatorių jungsiu tais pačiais laidukais, tik enable jungsiu atskirą. Taip galima bus valdyt atskirai arba abu kartu. Dabar prijungtas tik vienas ir generuoja programoje nustatytą signalą (nuotraukoje nėra, nes testuojamas klaviatūros darbas).
LCD - įprastas 16×2 raidinis lcd, tik kad dar su papildoma kojele apšvietimui. Naudoju 4 bitų valdymą. Dabar rodo statinį užrašą ir klaviatūros nuskaitymo rezultatą.
Klaviatūrą - vat tokią skaičių klaviatūrą. Išardžiau, pasipaišiau, koks mygtukų jungimas, ir parašiau programėlę. 10 kontaktų ir 19 mygtukų. Šiaip buvo siūlymų imti ps/2 arba USB signalą ir jį dekoduoti, bet likau prie savo būdo, nes a) paprasčiau, b) nereikia maitinti papildomos grandinės ir proco, c) turim pakankamai mikrovaldiklio kojelių d) mygtukų matricos jungtis pakankamai padori, kad ją galima būtų perlituoti į kitą plokštę.

Na o dabar laikas prisėsti prie rašto dalies, nes pirmadienį reikės dėstytojui duot ką nors paskaityt, o po dienos bus ir oficialus patikrinimas, kaip mes spėjame vykdyti savo grafiką. Tikiuosi, kad pavyks greitai ką nors suburt, nes dabar jau labai knieti parašyt programą, kuri apjungs visus keturis komponentus ir privers juos dirbti vieningai. Artimiausias planas - įvedam skaitmenis klaviatūra, spaudžiam “Enter”, LCD rodo dažnį, o generatorius sukuria tokio dažnio signalą.

Pabaigai įmetu bendrą vaizdą ir atsisveikinu.

J.

lcd-atmega-keyboard

5 komentarai prie “#include arba Sveiki. Darom pradžią”

  1. error Says:

    Moralinė parama :)

  2. Juozas Says:

    Dėkuju. Parama visad laukiama. Tikiuosi padės neapsileist. :)

  3. evka Says:

    labas asu zalias kaip agurkas.reikia pagalbos,mano futaba fp-s148 reikai mikro valdiklio,gal zinote kokia schema .isanksto dekoju

  4. Juozas Says:

    Evka, pirmiausia, kas per prietaisas yra tavo futaba? Kam jai mikrovaldiklis?

Palikti atsiliepimą