TIPS ‘N TRICKS

25 IUNIE 2008

PIC12F629/675 MCU cumulează toate avantajele arhitecturii microcontrolerelor PIC MCU şi flexibilitatea memoriei program FLASH în capsulă cu 8 pini. Ele furnizează caracteristici şi inteligenţă ce nu erau disponibile datorită limitărilor date de cost şi spaţiu necesar. Caracteristicile includ un set de instrucţiuni pe 14-biţi, capsulă cu dimensiune mică, domeniu mare al tensiunii de operare de la 2 la 5,5V, un oscilator intern programabil de 4MHz, memorie de date EEPROM on-board, referinţă de tensiune on-chip şi până la 4 canale de conversie A/D pe10-biţi. Flexibilitatea memoriei FLASH şi suita excelentă de unelte de dezvoltare, inclusiv ICD (depanator în circuit) economic, programarea serială In-Circuit Serial Programming™ şi emularea MPLAB® ICE 2000, fac ca aceste dispozitive să fie ideale pentru aproape orice aplicaţie de control embedded.

Citirea unui senzor cu precizie mai ridicată
Senzorii pot fi citiţi direct cu A/D, dar în unele aplicaţii trebuie luaţi în considerare factori precum temperatura, precizia componentelor externe, neliniaritatea senzorilor şi/sau scăderea tensiunii bateriei. În alte aplicaţii, este necesară o precizie mai mare decât cea dată de 10 biţi, fiind acceptată o citire mai lentă a senzorului. Următoarele titluri prezintă căi de lucru cu factorii anterior prezentaţi pentru obţinerea a cât mai mult de la un MCU PIC.
1 Metoda de temporizare RC cu rezistenţă de referinţă
2 Metoda echilibrării sarcinii
3 Metoda A/D

TIP 1. – Citirea unui senzor cu precizie mai ridicată – Metoda de temporizare RC
Metoda temporizării RC:
Răspuns simplu treaptă RC
Vc(t) = VDD * (1 – e -t/(RC))
t = -RC ln(1-Vth/VDD)
Vth/VDD este constant
R2 = (t2/t1) * R1
Pentru îmbunătăţirea preciziei citirii unui senzor analogic poate fi utilizată o rezistenţă de referinţă. În schema prezentată, timpul de încărcare a combinaţiei rezistenţă/condensator este măsurat prin utilizarea unui temporizator şi a unei intrări de port sau intrare de comparator ce comută de la ‘0’ la ‘1’. Curba R1 utilizează o rezistenţă de referinţă, iar curba R2 utilizează senzorul. Timpul de încărcare al curbei R1 este cunoscut şi poate fi utilizat pentru calibrarea citirii necunoscute a senzorului, R2. Acest lucru reduce efectul temperaturii, al toleranţelor componentelor şi zgomotul, asupra citirii senzorului.

Note de aplicaţie
AN512 Implementarea unui senzor de rezistenţă/temperatură
AN611 Dispozitiv de măsurare a rezistenţei şi capacităţii utilizând un PIC16C622
Este prezentată schema şi schema logică a utilizării unei rezistenţe de referinţă pentru îmbunătăţirea preciziei citirii unui senzor analogic. Rezistenţa de referinţă (Rref) şi senzorul (Rsen) sunt legate la o I/O şi au în comun un condensator. GP0 este utilizat pentru descărcarea condensatorului şi reprezintă tensiunea pe condensator.
Prin software, este utilizat un temporizator pentru a măsura momentul când GP0 comută de la ‘0’ la ‘1’ pentru măsurările de senzor şi de rezistenţă. Orice diferenţă determinată între măsurarea de referinţă şi măsurările calibrate este utilizată pentru reglarea citirii senzorului, rezultând o măsurare mai precisă.
Comparatorul şi referinţa comparatorului pe PIC12F629/675 pot fi utilizate în locul unui pin pe port pentru o măsurare mai precisă. Condensatoarele cu polipropilenă sunt foarte stabile şi avantajoase pentru acest tip de aplicaţie.
1. Se stabilesc GP1 şi GP2 ca intrări, iar GP0 ca ieşire pentru descărcarea C.
2. Se stabileşte GP0 ca intrare şi GP1 ca ieşire de nivel superior.
3. Se măsoară tRsen (GP0 se schimbă în 1).
4. Se repetă pasul 1.
5. Se stabileşte GP0 la intrare şi GP2 ca ieşire de nivel superior.
6. Se măsoară tRref (GP0 se schimbă în 1).
7. Se utilizează condensator film de polipropilenă.
8. Rth = x Rref *tRsen/tRref.
Alte alternative: comparatorul de tensiune al PIC12F6XX să măsoare tensiunea condensatorului în GP0.

TIP 2. – Citirea unui senzor cu precizie mai ridicată – Metoda echilibrării sarcinii
1. Senzorul încarcă un condensator
2. Rezistenţa de referinţă descarcă condensatorul
3. Rezistenţa de referinţă se reglează pentru a menţine constantă încărcarea medie în condensator
4. Se utilizează comparatorul pentru a determina reglarea

Pentru a îmbunătăţi rezoluţia dincolo de 10 sau 12 biţi poate fi utilizată o tehnică numită “Echilibrarea sarcinii”.
Principiul de bază este pentru MCU de a menţine constantă tensiunea pe un condensator încărcat prin senzor şi descărcat prin rezistenţa de referinţă. Pentru selectarea tensiunii pe condensator la intervale regulate până la atingerea unui număr predeterminat de eşantioane, este utilizat un temporizator. Prin determinarea numărului de ori în care tensiunea pe condensator este peste pragul arbitrar, este determinată tensiunea pe senzor. Comparatorul şi referinţa de tensiune a comparatorului (CVref) pe PIC12F629/675 sunt ideale pentru această aplicaţie.

1. Tensiunea medie pe GP1 = CVref.
2. Baza de timp ca viteză de eşantionare.
3. La finalul fiecărei perioade a bazei de timp:
– Dacă GP1 > CVref, atunci ieşirea GP2 trece în nivel logic inferior
– Dacă GP1 < CVref, atunci GP2 trece în mod intrare 4. Acumularea numărului de stări logice inferioare pe GP2 din mai multe eşantioane. 5. Numărul de eşantioane determină rezoluţia. 6. Numărul de stări logice inferioare pe GP2 determină factorul de umplere efectiv al Rref. TIP 3. - Citirea unui senzor cu precizie mai ridicată - Metoda A/D Senzorii NTC (Negative Temperature Coefficient) au un răspuns neliniar la schimbările de temperatură. Dacă are loc o cădere a temperaturii, schimbările de rezistenţă devin mai mici şi mai mici. Asemenea senzori au un domeniu util limitat datorită rezoluţiei care devine mai mică decât rezoluţia A/D dacă are loc căderea de temperatură. Prin schimbarea divizorului de tensiune al Rsen, domeniul de temperatură poate fi extins. Pentru selectarea unui domeniu mai ridicat de temperatură, GP1 scoate la ieşire '1' şi GP2 este stabilit ca intrare. Pentru domeniul mai scăzut, GP2 scoate la ieşire '1' şi GP1 este configurat ca intrare. Domeniul mai scăzut va creşte numărul de schimbări ale tensiunii pe senzor dacă temperatura scade pentru a permite un domeniu util mai mare pentru senzor. Sumar
Domeniu ridicat: Ieşire GP1 ‘1’ şi GP2 ca intrare;
Domeniu scăzut: GP1 ca intrare şi ieşire GP2 ‘1’.

1. Rezistenţele de 10K şi 100K sunt utilizate pentru stabilirea domeniului.
2. Vref pentru A/D = VDD.
3. Calcularea Rth este independentă de VDD.
4. Număr = Rsen/(Rsen+Rref) x 255.
5. Nu trebuie uitată permiterea timpului de achiziţie pentru A/D.
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