TIPS

15 OCTOMBRIE 2007

Microcontrolere PICmicro® cu module CCP şi ECCP

Modulele CCP (Captură, Comparare şi PWM), care se găsesc în multe microcontrolere de la Microchip, sunt utilizate în principal pentru măsurarea şi controlul semnalelor de tip puls. ECCP (Enhanced CCP), disponibilă pe câteva dispozitive Microchip, diferă faţă de modulul obişnuit CCP prin aceea că oferă o funcţionalitate îmbunătăţită PWM, precum: suport full-bridge şi half-bridge, întârziere de bandă moartă programabilă şi funcţie îmbunătăţită de auto-închidere PWM. Modulele ECCP şi CCP sunt capabile de a îndeplini o largă varietate de sarcini. Sfaturile descrise mai jos sunt cunoştinţe de bază, de urmat la utilizarea acestor module, precum şi sugestii pentru aplicaţii practice. Sfaturi suplimentare pot fi identificate la: www.microchip.com.

TIP 1. – Măsurarea RPM prin utilizarea unui traductor

Figura 1-1 Traductor optic

Figura 1-2 Senzor cu efect Hall

Valoarea RPM (rotaţii pe minut) sau cât de repede se roteşte ceva, poate fi determinată printr-o varietate de căi. Doi dintre cei mai utilizaţi senzori pentru determinarea RPM sunt traductorul optic şi senzorul cu efect Hall. Traductoarele optice determină prezenţa luminii ce trece printr-o roată cu fante montată pe arborele rotitor (Figura 1-1). Odată cu rotirea arborelui, fantele de pe roată trec prin dreptul traductorului optic. Tipic, o sursă de infraroşu de pe cealaltă parte a roţii emite lumină ce trebuie văzută de traductorul optic prin fantele de pe roată. Senzorii cu efect Hall lucrează prin sesizarea poziţiei magneţilor dintr-un motor electric sau prin sesizarea unor magneţi permanenţi montaţi pe un obiect rotitor (Figura 1-2).

Figura 1-3 RPM redus

Figura 1-4 RPM ridicat

Ieşirile acestor senzori sunt unul sau mai multe pulsuri pe rotaţie (în funcţie de senzor). În figura 1-3 şi figura 1-4, forma de undă are nivel logic superior când lumina trece printr-o fantă din roată şi luminează senzorul optic. În cazul unui senzor cu efect Hall, nivelul logic superior corespunde momentului în care magnetul este în faţa senzorului. Figurile prezintă diferenţa pentru diferite viteze de rotaţie RPM. De observat că odată cu creşterea RPM, perioada (T) şi lăţimea pulsului (W) devin mai mici proporţional cu creşterea RPM. Deoarece perioada este intervalul mai mare, este indicată măsurarea ei, astfel încât citirea RPM să se facă cu cea mai bună rezoluţie posibilă.

TIP 2. – Măsurarea perioadei unui semnal analogic
Microcontrolerele cu modul(e) comparator analogic on-board, suplimentar modulului CCP (sau ECCP), pot fi cu uşurinţă configurate pentru măsurarea perioadei unui semnal analogic. Figura 2-1 prezintă un circuit ce utilizează perifericele PIC16F684.
R3 şi R4 stabilesc pragul de tensiune pentru comparator. Când intrarea analogică atinge pragul de tensiune, VOUT va trece din starea logică inferioară în cea superioară.

Figura 2-1 Circuit ce utilizează PIC16F684

Figura 2-2 Comparaţie între semnale

R1 şi R2 furnizează histerezis pentru a asigura că micile schimbări ale semnalului de intrare analogic nu vor cauza instabilităţi în circuit. Figura 2-2 demonstrează efectul histerezisului pe intrare. Trebuie privit în special ce face VSENSE atunci când intrarea analogică atinge pragul de tensiune. Modulul CCP, configurat în modul de captură, poate cronometra durata dintre frontul crescător şi cel descrescător al ieşirii comparatorului (VOUT). Aceasta este perioada intrării analogice, oferită de fiecare trecere a semnalului analogic prin VTHR. În modul comparaţie, valoarea registrului pe 16 biţi CCPRx este constant comparată cu valorile pereche ale registrului TMR1. La apariţia unei similitudini, pinul CCPx: trece în nivel logic superior, trece în nivel logic inferior, rămâne neschimbat sau oscilează în funcţie de configurarea modulului. Acţiunea pinului este determinată de biţii de control CCPxM3:CCPxM0 (CCPxCON<3:0>). La apariţia unei similitudini este generată o întrerupere CCP.

Special Event Trigger
Numărătorul 1 nu este reiniţializat pe durata unei întreruperi CCP când modulul CCP este configurat în modul comparaţie. Singura excepţie este atunci când modulul CCP este configurat în modul de declanşare cu eveniment special (Special Event Trigger mode). În acest mod, când numărătorul 1 şi CCPRx sunt egale, este generată întreruperea CCPx, numărătorul 1 este reiniţializat şi este pornită o conversie A/D (dacă modulul A/D este activat).

“De ce să utilizez modul de comparaţie?”
Modul de comparaţie lucrează similar cu funcţia de temporizare a unui cronometru. În cazul unui cronometru, ceasul este încărcat cu un timp pre-definit şi apoi numără descrescător până la atingerea valorii zero. Modul de comparaţie lucrează în acelaşi mod, cu o singură excepţie – el numără de la zero la timpul pre-definit. Acest mod este util pentru generarea de acţiuni specifice la intervale precise. Un numărător poate fi utilizat pentru îndeplinirea aceleiaşi funcţionalităţi, dar numărătorul trebuie reîncărcat de fiecare dată. Modul comparaţie aduce de asemenea şi avantajul alternării automate a stării pinului CCPx, bazat pe modul în care este configurat modulul.

www.microchip.com

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *

  • Folosim datele dumneavoastră cu caracter personal NUMAI pentru a răspunde comentariilor/solicitărilor dumneavoastră.
  • Pentru a primi raspunsuri adecvate solicitărilor dumneavoastră, este posibil să transferăm adresa de email și numele dumneavoastră către autorul articolului.
  • Pentru mai multe informații privind politica noastră de confidențialitate și de prelucrare a datelor cu caracter personal, accesați link-ul Politica de prelucrare a datelor (GDPR) si Cookie-uri.
  • Dacă aveți întrebări sau nelămuriri cu privire la modul în care noi prelucrăm datele dumneavoastră cu caracter personal, puteți contacta responsabilul nostru cu protecția datelor la adresa de email: gdpr@esp2000.ro
  • Abonați-vă la newsletter-ul revistei noastre