Extras din proiect
Tema proiectului
Sa se proiecteze un sistem cu microcontroler ce regleaza turatia unui motor de curent continuu.
Sistemul e prevazut cu un afisaj LCD si o tastatura matriciala 4x4.
Reglarea turatiei motorului se face cu un semnal PWM generat de microcontroler.
Motoarele de curent continuu
Motoarele de curent continuu sunt folosite in foarte multe aplicatii industriale. In multe cazuri, precizia absoluta a miscarii nu este o necesitate, dar controlul precis al vitezei este.
Controlerul 83C51FA poate controla precis motorul de curent continuu, cu un minim de hardware si la un pret foarte scazut. Microcontrolerul, ca si creier al sistemului, poate controla digital viteza unghiulara a motorului, monitorizand liniile de feedback. In plus, poate realiza alte cerinte ce pot fi necesare in aplicatie.
Aproape orice aplicatie ce foloseste un motor de curent continuu, necesita inversarea directiei de rotatie si modificarea vitezei. Schimbarea directiei se realizeaza simplu, prin schimbarea polaritatii tensiunii aplicate motorului. In figura 1 se prezinta o reprezentare simbolica a circuitului driver, care este capabil sa inverseze polaritatea intrarii motorului.
Modificarea vitezei necesita schimbarea nivelului tensiunii de intrare a motorului, adica schimbarea nivelului de intrare in driverul motorului. Intr-un sistem controlat digital, semnalul analogic de la intrarea driverului trebuie sa provina de la un convertor digital-analogic. Dar, adaugand un convertor la circuit, creste pretul aplicatiei, creste consumul de putere si scade performanta sistemului.
Cealalta varianta este de a varia latimea unui semnal digital, la intrarea driverului. Prin modificarea latimii impulsului, valoarea medie a tensiunii transmisa motorului se modifica, la fel si viteza motorului. Un circuit digital ce face acest lucru se numeste modulator de impulsuri in durata (PWM). Circuitul 83C51FA poate fi configurat pentru a avea pana la 5 modulatoare PWM, on-board.
Circuitul 83C51FA
Circuitul 83C51FA este un microcontroler de 8 biti, bazat pe arhitectura 8051. Este o versiune imbunatatita a microcontrolerului 87C51 si incorporeaza multe caracteristici noi, printre care si PCA-ul (numaratorul programabil de grup).
Inclus in PCA este un timer independent de 16 biti si 5 module diferite.
Timerul PCA are 2 registri de 8 biti numiti CL si CH. Poate fi programat ca sa aiba la intrare 4 surse diferite. Intrarile furnizeaza flexibilitate in alegerea ratei de numarare a timerului. Rata maxima de numarare este de 4MHz (1/4 din frecventa oscilatorului).
Unii dintre pinii portului 1 sunt folositi pentru a interfata fiecare modul si timerul cu exteriorul. Cand pinii portului nu sunt folositi de modulele PCA, atunci pot fi folositi ca pini obisnuiti de intrare/iesire.
Modulele PCA pot fi programate pentru a lucra in unul din modurile urmatoare: modul de captura, modul de comparare, modul de mare viteza de iesire, modul PWM sau modul de timer watchdog.
Fiecare modul are un registru de mod de 8 biti (CCAPMn) si un registru de comparare/captura de 16 biti (CCAPnL si CCAPnH), unde n poate fi un numar intre 0 si 4. Prin setarea corespunzatoare a bitilor in registrul de mod, putem programa fiecare modul pentru a opera intr-unul dintre modurile mentionate mai sus.
ECOMn – activeaza functia de comparare
CAPPn – captura pe frontul pozitiv al semnalului
CAPNn – captura pe frontul negativ al semnalului
MATn – gaseste egalitatea intre comparare/captura si timerul de 16 biti
TOGn – seteaza un pin de I/O in functie de egalitatea intre registrul de
comparare/captura si timerul de 16 biti
PWMn – genereaza un PWM pe un pin de I/O, pe baza egalitatii dintre partea low a
registrului de comparare/captura si partea low a timerului PCA
ECCCFn – activeaza flagul de comparare/captura (CCF) din registrul CCON, pentru a
genera o intrerupere
Cand un modul e programat in modul de captura, un semnal extern pe pinul corespunzator al portului va cauza o captura a valorii curente a timerului de 16 biti. Prin setarea bitilor CAPPn sau CAPNn sau a ambilor, modulul poate fi programat pentru a captura pe frontul pozitiv sau pe cel negativ sau pe ambele fronturi ale semnalului. Daca e activat, se genereaza o intrerupere in momentul capturii.
Cand modulul trebuie sa lucreze in unul din modurile de comparare (timer soft, iesire de inalta viteza, timer watchdog sau PWM), utilizatorul incarca registrul de comparare/captura cu o valoare calculata, ce este comparata cu continutul timerului de 16 biti si provoaca un eveniment in momentul in care cele doua valori corespund. Poate genera, de asemenea, o intrerupere.
PWM este unul din modurile de comparare si este doar unul ce foloseste doar 8 biti din registrul de comparare/captura. Utilizatorul inscrie o valoare (intre 0 si FFh) in octetul superior (CCAPnH) al modulului selectat. Aceasta valoare este transferata octetului inferior al aceluiasi modul si este comparat cu octetul inferior al timerului PCA. Cat timp CL<CCAPnL, iesirea pinului corespunzator este in 0 logic. Cand CL>CCAPnL, iesirea este in 1 logic.
Preview document
Conținut arhivă zip
- Sisteme cu Microcontrolere.doc