Pozorní čitatelia si všimli, že v článkoch autorky Inštruktériá pod prezývkou WilkoL o generátore ladičky vidlíc a hodinách s jeho použitím je uvedený iba jeden merač frekvencie a v článku o generátore so sklom ako prvkom nastavenia frekvencie bol do neho pridaný druhý, ktorý tam dokonca dostal na KDPV. Tento príbeh je o ňom.
Som rád, že môžem pracovať homebrew vetvička magister začína štúdiom teoretickej časti, a to výberom metódy merania frekvencie. V mnohých meračoch frekvencie sa za to počíta počet periód vstupného signálu na určité časové obdobie, napríklad jednu sekundu:
Táto metóda je vhodná pre dostatočne vysoké frekvencie, ale ak je frekvencia nízka, neumožňuje získať dostatočne veľký počet desatinných miest. Napríklad, ak merací cyklus trvá jednu sekundu, potom pre frekvenciu rádovo 50 Hz, budú mať nulové desatinné miesta. Chcete napríklad tri znaky - existuje cesta von, predĺžime merací cyklus na 1 000 sekúnd. Je to však jedna vec, keď sa počítač alebo smartfón spomalí, na čo sú všetci zvyknutí, a je to celkom druhá vec - ak sa k tejto zábavnej spoločnosti pripojí aj merač frekvencie, úplne to užívateľa vyradí zo seba. Vo všeobecnosti je potrebný iný spôsob. Ale čo keď zmeráme obdobie oscilácií?
Tak aj urobte. Prijímajú signál referenčnej frekvencie, ktorá je o niekoľko rádov vyššia ako nameraná frekvencia, a zvažujú, koľko periód referenčného signálu prejde v jednej perióde meranej frekvencie. Napríklad pri referenčnej frekvencii 10 MHz a meranej pri 50 Hz to bude 200 000. To znamená, že perióda je 20 000,0 ms a moderný (a mimochodom nie príliš) mikrokontrolér, ak ho programátor „učí“, s ľahko prepočítava obdobie na frekvenciu rovnajúcu sa 50 000 Hz. Ak sa frekvencia zvýši na 50,087 Hz, potom v jednej perióde vstupného signálu sa do tohto intervalu vložia 199650 periód a takáto zmena si všimne merač frekvencie v reálnom čase.
Pri tejto metóde merania sa naopak počet desatinných miest znižuje so zvyšujúcou sa frekvenciou vstupného signálu. Napríklad, ak je to 40 kHz a referencia je stále 10 MHz, potom pri 40-161 Hz dostávame 249 periód referenčnej frekvencie a pri 39840 Hz - 251 periód. Najmenej dva merače frekvencie sú v poriadku: jeden pre vysoké frekvencie, pracujúci prvým spôsobom, druhý pre nízke frekvencie, druhý. Aj keď - počkajte! Nie je možné kombinovať obe metódy do jedného merača frekvencie? Môžete a pán povie ako. Musíte vziať obyčajný D-trigger, potom je uvedený jeho symbol a tabuľka pravdy:
Sprievodca zobrazí na mape štyri signály, z ktorých štvrtý vytvorí spúšť.
Prvým z týchto signálov je nameraná frekvencia, ktorá sa privádza na hodinový vstup D-spúšťača. Druhou je referenčná frekvencia, napríklad opäť 10 MHz, čo vyžaduje vysokú stabilitu. Tretí je signál s frekvenciou rádovo 1 Hz, ktorého stabilita sa vôbec nevyžaduje, je aplikovaný na ten istý spúšťač na vstupe D. Štvrtý je generovaný spúšťačom od prvého a tretieho nasledovne. Keď sa tretí signál prepne z nuly na jeden, spúšť na to neodpovedá okamžite, ale iba vtedy, keď k takému prepnutiu dôjde s prvým signálom potom. Predná strana jedného z impulzov štvrtého signálu sa teda presne zhoduje s prednou časťou jedného z impulzov prvého signálu. Potom sa tretí signál, nasledovaný štvrtým, prepne na nulu, na ktorú mikrokontrolér žiadnym spôsobom nereaguje, potom sa tretí signál prepne späť na jeden, ale spúšť na to znova nereaguje okamžite, ale iba po rovnakom prepnutí prvého signálu. A opäť sa predné strany prvého a štvrtého signálu úplne zhodujú. A za celé obdobie štvrtého signálu sa zmestí celé číslo prvej periódy. Ďalej - technická záležitosť: nezabudnite, že máme aj druhý signál. Mikrokontrolér vypočíta, koľko celých periód prvého a druhého signálu kleslo za celé periódy štvrtého.
Takže máme dve čísla. Napríklad 32 a 10185892. Vynásobte 32 10 000 000 (referenčná frekvencia) a delte 10185892. Dostaneme 31,416 Hz. Tri desatinné miesta. A meranie zostáva presné pri nízkych frekvenciách aj pri vysokých hodnotách, ktoré sa približujú k modelu. A ak potrebujete zmerať ešte vyššie frekvencie, môžete pridať delič.
Teraz sa musíme rozhodnúť, na ktorý mikrokontrolér sa má spustiť merač frekvencie. Master sa už pokúsil vyrobiť ich na ATmega328, a dokonca aj na STM32F407, bežiaci na frekvencii 168 MHz. Tentoraz je však preplnený minimalizmom a rozhodol sa skontrolovať, či na ATtiny2313 môže dosiahnuť podobný výsledok.
Má viac ako dosť záverov, najmä ak používate LED displej so vstavaným čipom vodiča, napríklad MAX7219:
Úplná schéma zariadenia vyzerá takto:
Na získanie pravouhlých impulzov zo signálu takmer akéhokoľvek tvaru sa používa pomerne zložitý ovládač pre diskrétne komponenty, ktorý obsahuje RC obvody, obmedzovač diód a zosilňovacie stupne. D-trigger je umiestnený zvonku, signál z nameranej frekvencie (prvý) je do vodiča privádzaný, signály s frekvenciami 10 MHz a 1 Hz (druhý respektíve tretí) sú prijímané z mikrokontroléra, výstupný signál (štvrtý) sa vracia späť do mikrokontroléra. Druhý taký spúšť slúži na generovanie signálu v kontrolnom bode. K dispozícii je rovnaká schéma PDF v archíve ZIP. tu.
Po zostavení diagramu na ňom master zbiera merač frekvencie, ukazuje sa takto:
Na fotografii, na rozdiel od obvodu, sú zobrazené batérie a kontrolér nabíjania, stabilizátor impulzov spomína aj master, ale tam, kde je, nie je viditeľný. Všetky tieto komponenty boli pridané neskôr, čo uľahčilo prácu s meračom frekvencie. Batéria 18650 by sa mala brať s ochranou, spájkovacie drôty k nej sú neprijateľné. Buď oddelenie alebo bodové zváranie.
Firmvér (klamstvá tu tiež v ZIP archíve) master píše, berúc do úvahy potrebu prenosu mikrokontroléra z hodín do generátora RC na prácu z externého kremeňa, ako aj možnosť priradiť rôzne funkcie každému z výstupov mikroobvodu:
Ak chcete nahrať firmvér, sprievodca vezme programátora obvodov od spoločnosti Olimex. Toto je bulharská spoločnosť s profilom podobným spoločnosti Adafruit.
Master utesní malý výboj na displeji a potom vyreže otvor v kryte krytu tak, aby bol tento výboj zatvorený, pretože jeho hodnoty boli nepresné napriek všetkým prijatým opatreniam.Toto je ovplyvnené vlastnosťami algoritmu a nie príliš vysokou teplotnou stabilitou kryštálového oscilátora. Aby sa nastavil, master pripojí externý merač frekvencie k riadiacemu bodu so stabilizáciou frekvencie generátora hodín z prijímača GPS, potom nastaví presnú hodnotu 5 MHz otáčaním ladiaceho kondenzátora (spúšť rozdeľuje hodinovú frekvenciu dvoma). Správne naladený frekvenčný merač poskytuje požadovanú presnosť v rozsahu nameraných frekvencií od 0,2 Hz do 2 MHz. Nasledujúce dve fotografie ukazujú, ako master aplikoval ten istý signál súčasne na referenčný a skontrolovaný merač frekvencie: