Utilizarea cronometrului în modul de captare

Cu ajutorul modului „captare“ Temporizatorul poate fi folosit pentru a măsura nu numai frecvența semnalului, dar, de asemenea, durata impulsului de semnal al aceluiași ciclu de taxe. De exemplu, în modelele de comandă radio pentru transmiterea comenzilor digitale, pentru a decoda comanda este utilizat un semnal modulat cu lățimea impulsului, este necesar să se calculeze lățimea sau lățimea pulsului impulsului.







Sarcina de a măsura lungimea impulsului, perioadă și frecvență este următoarea:

1. Configurați un timer / numărător pe 16 biți 1

Frecvența de funcționare a microcontrolerului (Atmega8) este de 8 MHz. utilizați prescaler la 8 pentru timer / contor 1, adică frecvența temporizatorului de 1 MHz și 1 ciclu de cronometru va fi 1/1000000 Hz = 1 μs. și anume pentru 65536 μs va exista o întrerupere a temporizatorului. De asemenea, folosim supresorul de zgomot de intrare, care este activat prin scrierea unui jurnal. 1 în bitul ICNC1 al registrului TCCR1B. Permitem întreruperii să capteze și să depășească cronometrul.

2. Întreruperi de proces prin timer / contor 1

Timerul nostru se calculează de la 0 la 65536, apoi se întrerupe supraîncărcarea, registrul TCNT1 se resetează și începe să bifeze din nou. Este necesar să se ia în considerare numărul acestor întreruperi pentru calcularea ulterioară a duratei. Cu fiecare întrerupere, creștem variabila OVF_counter.







Semnalul măsurat este furnizat la ICP1 terminalul (PB0). TCNT1 valoarea curentă la fiecare schimbare la ICP1 terminalul copiat ICR1 și rămâne acolo până la următoarea schimbare. În cazul în care ICP1 de intrare în creștere de margine, valoarea curentă în creștere ICR1 pune tampon după zeroize întrerupe contra preaplin modul de captare și switch-uri de pe marginea care se încadrează. În cazul în care ICP1 de intrare care se încadrează marginea impulsului, valoarea actuală în care se încadrează ICR1 pune tampon, modul de captură după trecerea pe frontul crescător. Calculați lungimea impulsului cu formula:

t = cădere - rising_1 + (OVF_counter * 65536);

Pentru a măsura timpul necesar pentru a face aceeași operațiune cu excepția faptului că modul de comutare de capturare nu este necesar, aici, ambele măsurători sunt efectuate pe impuls pozitiv. Pentru a calcula frecvența unui semnal, împărțiți câte unul cu valoarea perioadei de impuls. Pătratul este raportul dintre lungimea pulsului la nivel înalt și perioada de trecere și este exprimată ca procent.

3. Afișați valorile lățimii și perioadei (μs) și frecvenței (Hz) pe afișajul LCD.

Principiul de măsurare a tuturor cantităților este prezentat în grafic:

Utilizarea cronometrului în modul de captare

Schema schematică a contorului:

Utilizarea cronometrului în modul de captare

Discutarea articolului pe forum







Trimiteți-le prietenilor: