Documente Academic
Documente Profesional
Documente Cultură
-PROIECT-
2
Facultatea de Automatică și Calculatoare din cadrul universității „Gheorghe Asachi” din Iași
Cuprins
TEMA PROIECT.............................................................................................................................3
DEZVOLTAREA PROIECTULUI..................................................................................................4
DESCRIEREA TASK-URILOR......................................................................................................4
Taskul T1......................................................................................................................................4
INT0.............................................................................................................................................4
prvSetupHardware(void)..............................................................................................................4
Taskul T2......................................................................................................................................4
Taskul T3......................................................................................................................................5
Taskul T4......................................................................................................................................5
CONFIGURAREA PINILOR MICROCONTROLLER-ULUI......................................................5
CONECTAREA PERIFERICELOR EXTERNE............................................................................6
Conectarea senzorului digital de temperatură DS18S20/DS18B20.............................................6
LCD-ul DEM 20486 SYH/LY.....................................................................................................6
Conectarea potențiometrului........................................................................................................6
3
Facultatea de Automatică și Calculatoare din cadrul universității „Gheorghe Asachi” din Iași
TEMA PROIECT
o interogare temperatură.
4
Facultatea de Automatică și Calculatoare din cadrul universității „Gheorghe Asachi” din Iași
5
Facultatea de Automatică și Calculatoare din cadrul universității „Gheorghe Asachi” din Iași
DEZVOLTAREA PROIECTULUI
Proiectul este realizat in mediul de dezvoltare MPLAB IDE V8.43. Comunicația serială
este monitorizată cu ajutorul terminalului CoolTerm. Aplicația este implementata in jurul
microcontroller-ului dsPIC33FJ128MC802/dsPIC33FJ64MC802. Pentru programarea
microcntroller-ului se folosește programatorul PICkit 3.
Pentru realizarea aplicației este folosit sistemul de opereare FreeRTOS.
Pentru utilizarea perifericelor, este nevoie de un set de drivere. Pentru comunicarea cu
LCD-ul sunt puse la dispoziție fișierele new_lcd.c si new_lcd.h. Funcțiile necesare utilizării
interfeței seriale se găsesc in fișierele new_serial.c si new_serial.h. Fișierele care conțin funcțiile
de comunicare cu senzorul digital de temperatură sunt ds18s20.h respectiv ds18s20.c.
DESCRIEREA TASK-URILOR
Taskul T1
Acesta este taskul de prioritate cea mai mare. Când plăcuța este pusă sub alimentare,
acesta va fi primul task lansat. Acest task va afișa pe LCD modul „oprit” și ledul conectat la
portul _RB va fi aprins intermitent. La prima apăsare a butonului SW1 de pe plăcuță apare o
întrerupere (INT0). Atunci taskul este suspendat și aplicația va rula in modul „automat”. La
următoarea apăsare taskul intră înapoi in execuție. La intrarea in execuție taskul T1 suspenda
toate celelalte task-uri.
INT0
Rutina de tratare a întreruperii INT0 este apelată la apăsarea butonului SW1. Daca in
momentul apăsării butonului SW1 variabila globală prin care se modelează starea aplicației
„ON”/ „OFF”, „flag”, are valoarea 1 (aplicația este in stare „OFF”),atunci singurul task care
rulează, taskul T1, va fi suspendat, iar restul task-urilor vor fi puse in starea de așteptare, de unde
pot intra pe rând in execuție, în funcție de priorități.
prvSetupHardware(void)
În cadrul acestei funcții se realizează toate inițializările necesare: este pornit prescaller-ul,
este pornita conversia AD, este pornita modulația semnalului PWM, achiziția de valori de la
senzorul de temperatură, este inițializat LCD-ul este inițializat timer-ul Timer3, sunt setați pinii
conform tabelului 1.
Taskul T2
Acest task se ocupă de funcționarea in modul automat al aplicației. În cadrul acestui task
se realizează achiziția valorilor de temperatură de la senzorul de temperatură digital
DS18S20/DS18B20.Vlorile sunt afișate pe LCD și in funcție de acestea este modificat semnalul
PWM pentru poziționarea servomotorului, adică închiderea sau deschiderea trapei.
6
Facultatea de Automatică și Calculatoare din cadrul universității „Gheorghe Asachi” din Iași
Taskul T3
Taskul T3 acoperă funcționarea in modul manual al aplicației. În modul manual, poziția
trapei este determinată în funcție de valoarea tensiunii citite la pinul RB3.Aaceasta, la rândul ei,
este afișată pe LCD.
Taskul T4
Rolul acestui task este de a selecta modul de funcționare al aplicației. Taskul citește
valoarea pinului RB1.Dacă valoarea citita este 0 aplicația rulează in modul automat, pentru
valoarea 1, aplicația rulează in modul automat.
Tabelul 1
La pinii RB15, RB14, RB12, RB1, setați ca pini digitali de ieșire sunt conectați pinii D7,
D6, D5, D4,pinii de date ai LCD-ului.
La pinul RB7 este conectat butonul SW1, la apăsarea căruia se generează întreruperea
INT0.
La pinii RB6, RB5, RB4 sunt conectați pinii RS, RW, E sunt pinii de comunicare ai
LCD-ului.
Pinul RB3 este setat ca pin analogic de intrare si este folosit pentru citirea tensiunii de la
cursorul unui potențiometru.
La pinul RB2 se face recepția valorilor primite de la senzorul digital de temperatură,
acesta fiind setat ca intrare digitală.
Pinul RB1 este setat ca intrare digitală si este folosit pentru schimbarea modului de
operare al aplicației. Când acesta este pus la masa, variabila globala „flagmod” ia valoarea 0,
daca pinul este pus la 3.3V variabila ia valoarea 1;
Pinul RB0 este setat ca ieșire digitală, fiind folosit pentru a indica starea aplicației.
7
Facultatea de Automatică și Calculatoare din cadrul universității „Gheorghe Asachi” din Iași
Conectarea potențiometrului
Potențiometrul este conectat cu un capăt la un pin cu tensiunea de 5V de pe placă, celălalt capăt
la un pin de masă, iar cursorul este conectat la pinul RB3 al microcontroller-ului.