In designul circuitelor electronice cu microcontroller (uC), intrarile si iesirile sunt controlate prin diverse moduri, insa in general in semnale/tensiuni DC. Unul din subiectele importante si de care se tine cont la orice design este “stabilitatea” design-ului si tratarea anumite situatii care pot afecta functionalitatea.
In special, acest articol trateaza situatia curentului de fuga sau in termenul englez “leakage current” si cateva situatii problema ce pot aparea la citirea unei intrari intr-un uC.
Definitii
- Componenta de curent nedorita printr-un izolant sau pe suprafata acestuia.
- Componenta de curent continuu prin dielectricul imperfect al unui condensator.
Studiu
Sa rezolvam situatia cand avem o intrarea intr-un uC si care este activata printr-o tensiune continua in DC, printr-un divizor.
La pinul de intrarea se aplica relatia:Si in conditii ideale sunt valabile ecuatliile urmatoare:
Daca V2 > VCC atunci I injected > 0
Daca V2 < GND atunci I injected < 0
In practica avem o sursa de alimentare care livreaza un curent intregului circuit si o tensiune Vcc (DC).
Insa, de exemplu, in cazul in care V2 > VCC, putem avea situati in care curentul injectat iasa prin pinul de Vcc al uC si intra in GND prin rezistentele aflate in restul circuitului, creeand astfel probleme la citirea corecta a intarii respective si poate sa produca daune circuitului.
O alta situatie interesanta este ce se intampla intre pinii unui uC. De exemplu: doi pini care sunt alaturati si care sunt de acelasi fel (adica intrari).
In acelasi situati curentul injectat s-ar putea scruge spre Vcc, insa din cauza unei rezistente parazite intre pinii uC, tensiunea V2, care cade pe R2 de la celalalta pin, se schimba intr-o tensiune diferita V3.
Si sa zicem ca pinul de intrarea urmareste o anumita tranzitie intre zero si 1 logic, dar in domeniul liniar. Unde sa zicem ca zero logic ar fi undeva pana la 0.8V si 1 logic ar fi undeva intre 4.8 si 5.1V, este clar ca modificarea caderii de tensiune pe R2 poate sa aduca citirea exact intre cele doua zone si anume in zona nedefinita si astfel citirea intrarii sa nu se faca in mod corect.
Sa analizam acum situatia in care se face un “Sample and Hold” intr-un ADC (convertor analog digital) din uC.
Aici putem scrie la fel aceasi ecuatie:Si legea lui Kirchhoff intr-un nod spune ca:
Datorita rezistentelor parazitare ce pot aparea insa pe aceste intrari, cum se vede in imaginea urmatoare:
ecuatia de sus nu se mai aplica.
si trebuie sa rescriem ecuatia astfel:
Deci cand facem o citire, sigur citirea va fi eronata.
Nu doar o rezistenta parazitara poate sa puna probleme ci si un capacitor parazitar. In majoritatea cazurilor acest capacitor parazitar apare din cauza design-ului cablajului si a plasarii incorecte a pieselor la intrariile respective.
Acest capacitor Cext se incarca cu o tensiune livrata prin divizorul de la intrare si livreaza o tensiune la citire mai ridicata deca cea aspectata, periclitand incarcarea Cain.Cand faci “sampling” si citesti intrarea se aplica o ecuatie care acum are o valoare capacitva, in plus, nedorita si care influenteaza timpii de citire.
Concluzie
Cel mai important lucru de tinut minte este ca oricat de bine faci un design valorile analogice sunt cu zgomot si cu deviatii, de care trebuie sa tii cont de acest lucru.
In cazul in care se observa o citire incorecta a unei intrari verificati intainte aspectele de mai sus si apoi intrati in software sa vedeti daca ai gresit ceva.
Tineti cont in momentul in care creati cablajul unui circuit cu uC si evitati legaturi care sa aduca rezistente sau capacitante parazitare (in plus de limitariile circuitului in sine).