Generátor funkcií
... bežiaci na mikrokontroléri [PIC16F870].
Luhan Monat, 30.06.2010-21:57

Po tom, čo sa nedávno porúčal môj multifunkčný generátor do večných lovíšť, rozhodol som sa skúsiť si urobiť jeden vlastný.

Ako jadro je použitý mikrokontrolér PIC16F870, ďalej sa tu nachádza rezistorová sieť R/2R (pomocou nej je vytvorený rýchly a lacný D/A prevodník), operačný zosilňovač LF353, obvody 4053, 74HC164 a ďalšia bižutéria viď. schéma nižšie.

Firmvér pripravený na nahranie do mikrokontroléru je k dispozícii v prílohe, alebo priamo u autora , kde sa nachádza aj zdrojový kód napísaný v CVASM, pôvodne pochádzajúci od Parallaxu (čo značí, že v MPLABE ho prípadný záujemci neskompilujú, resp. skompilujú, ale po prepísaní do MPASM).




Na generovanie všetkých sínusových priebehov sa využíva celá 256 bytová vyhľadávacia tabuľka (lookup table), ktorá sa napríklad nachádza aj v generátoroch signálov založených na princípe priamej digitálnej syntézy (direct digital synthesis).
Čo sa týka veľkosti vyhľadávacej tabuľky v programovej pamäti daného mikrokontroléra, narozdiel od toho čo ste už možno počuli niekde inde, veľkosť vyhľadávacej tabuľky môže byť pri týchto mikrokontroléroch rovná veľkosti stránky v programovej pamäti, môžete si to skúsiť doma skontrolovať.

Zo súčasným zdrojom taktovacieho signálu pre mikrokontrolér (20MHz), je ešte možné generovať veľmi čistý sínusový signál pri frekvenciách s hodnotami niečo nad 60kHz. Frekvencia je nastaviteľná v krokoch 1, 25 a 500Hz. Generátor je schopný vyrábať frekvencie s presnosťou blížiacou sa jednému Hertzu (1Hz).



Vzhľadom na to, že všetky priebehy sú generované softwarovo, muselo byť užívateľské rozhranie obmedzené na minimum. Príslušné funkcie sú indikované pomocou troch LED diód (v závislosti na tom, ktorý druh priebehu je aktuálne generovaný). Ďalšie tri LED indikujú, aktuálne zvolený krok (1, 25, 500) s ktorým sa bude nastavovaná frekvencia zväčšovať, alebo zmenšovať.
Stlačením tlačítla RATE sa posuniete na nasledujúcu veľkosť nastavovacieho kroku a stlačením tlačítka SEL zvolíte typ priebehu signálu.
Samotný priebeh signálu je vybraný, ak podržíte stlačené tlačítko SEL pokiaľ otáčate rotačným enkóderom ADJ. Výstupná úroveň signálu sa nastavuje pomocou potenciometra s označením LEVEL. Keďže tento prístroj nemá žiadnu vizuálnu indikáciu zvoleného typu priebehu alebo nastavenej frekvencie, na to aby ste videli čo je vlastne nastavené budete potrebovať pripojiť prístroj k osciloskopu.

Zverejnené zo súhlasom autora.
Homepage projektu: http://mondo-technology.com/signal.html

Preklad: Kiwwicek


tento článok je z mikroZONE
( https://mikrozone.sk/pluginy/content/content.php?content.63 )