Documente Academic
Documente Profesional
Documente Cultură
Aplicatia V O L T M E T R U 8
1.Obiectivul laboratorului
“ Obiectivul
acestui laborator este de a masura tensiunea unui semnal si
afisarea valorii masurate pe ecran. Semnalul va fi generat cu ajutorul unui generator
de semnal, conectat la tower, iar vizualizarea valorii va fi realizata utilizand PuTTy.
Pentru a realiza acest lucru vor fi utilizate module studiate anterior (UART,PIT,RTC) si un nou modul ce permite
masurarea tensiunii unui semnal: ADC.
“ In
general, un convertor analog digital
reprezinta un sistem ce permite transformarea
unui semnal analog ( provenit spre exemplu de la
microfon sau de la un senzor) intr-un semnal
digital in vederea procesarii acestuia.
In cadrul laboratorului, se va utiliza gama de
reprezentare pe 16 biti, fara bit de semn. In
Descrierea tehnica a convertorului utilizat in acest laborator este tabelul de mai jos este explicata maparea
descrisa incepand cu pagina 949 (capitolul 37) din manualul valorilor in intervalul 0 – 3.3V pentru aceasta
K60FN1M0VLQ12. configurare
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Pentru valoarea 216 − 1 din registru, este asociata
tensiunea de 3.3V
1 0 0 1 0 0 1 0 0 1 1 1 1 1 1 1 Pentru valoarea alaturata 37.503 (aceasta valoare
este doar ca exemplu si nu are o semnificatie anume),
valoare tensiunii se poate determina prin urmatorul
rationament:
𝟑𝟕. 𝟓𝟎𝟑 ∙ 𝟑. 𝟑
𝑿= = 𝟏. 𝟖𝟖𝟖𝟒 … 𝑽
𝟐𝟏𝟔 − 𝟏
3.Implementare
Initializare
(initializatios.c)
In acest fisier sunt functiile care initializeaza modulele studiate in laboratoarele
anterioare UART, PIT, RTC (prin functiile InitialiseUART, InitialisePIT,
InitialiseRTC) si initializarea modului ADC.
*InitialiseADC (detaliere)
ADC0_CFG1 = ADC_CFG1_ADIV(1)|ADC_CFG1_MODE(3);
(mai multe detalii despre semnificatia bitilor- pagina 962 din manual)
ADC0_SC1A = ADC_SC1_ADCH(0);
(mai multe detalii despre semnificatia bitilor- pagina 959 din manual)
Gestionarea
Intreruperilor In acest fisier sunt functiile in care se preia valoarea tensiunii masurate din
(interruptsHandlers.c) registrul ADC0_RA (acesta este registrul in care se stocheaza valoarea tensiunii masurate).
* pentru o precizie mai mare a tensiuni (mai multe zecimale), eroarea din
registru este eronata din cauza erorilor de masurare. Ca o solutie, se realizeaza o medie
a 10 valori ale registrului masurate in decurs a 1 secunda (folosind intreruperea modului
PIT – functia PitHandler). Odata la o secunda, se seteaza cu 1 o variabila
(enablePrint) care indica ca trebuie sa se realizeze afisarea mediei calculate.
“Program loop”
(main.c) Functia principala a programului in care se afiseaza media calculata
(voltageSum / counter) in momentul intreruperilor PIT. Pentru afisare mediei
calculate exprimata in volti, se foloseste regula explicata in partea a 2a a acestui
document.
NU este obligatoriu sa se realizeze media amintita mai sus (se poate afisa
direct valoarea registrului)
4.Montajul
“ Realizareamontajului presupune
utilizarea unui generator de semnal si
masurarea tensiunii semnalului generat.
In cadrul acestui laborator utilizand Waveforms vom
genera un semnal pe canalul 1. Acesta va trebui sa fie conectat la
tower prin canalul de intrare configurat cu ajutorul registrului
ADC0_SC1A. In cazul acesta, canalul este DP0. (detalii la pagina
961 din manual).
Pas
1
Pas
2
In cele din urma, se deschide Putty pentru vizualizarea rezultatului. Tensiunea va fi afisata la fiecare secunda.
*atentie, trebuie selectata linia seriala pe care ati conectat tower-ul ( COMx - se poate vizualiza din Device Manager)
Pas
3