Ionut Stoica

Programator PHP / Frontend developer / Pasionat de Electronica Auto
16Dec

Calcul rezistenta prin uC

Scriam acum ceva timp intr-un articol cum sa calculati rezistenta legata la unul dintre pinii convertorului ADC din uC-urile Atmega. Dupa ceva teste mai amanuntite am observat ca acel calcul era destul de eronat (il gasisem pe niste forumuri straine).

Avem 2 situatii distincte si anume cand masurarea o facem intre GND si ADC si cand masurarea o facem intre VCC si pinul ADC.

Se foloseste o rezistenta de balansare de o valoare “omeneasca”. In cazul meu am folosit o rezistenta de 10K deoarece pe cealalta ramura foloseam un termistor de 22K pentru masurarea temperaturii apei dintr-un circuit de racire.

Pornim de la un calcul simplu, si anume intotdeauna raportul intre valoarea citita de ADC si valoarea maxima este acelasi cu raportul dintre rezistorul “necunoscut” si totalitatea rezistentei pe care se aplica tensiunea.

Notam:
ADC – Valoarea citita de uC.
ADC_Res – Rezolutie de citire adc (in cazul nostru 1024, adica 10 biti).
R1 – Rezistenta cunoscuta. Recomand folosirea unei rezistente de calitate superioara cu tolerante cat mai mici.
R2 – Rezistenta “necunoscuta”

Dupa cum spuneam, avem:
ADC /ADC_Res = R2 / (R1 + R2)
ADC * (R1 + R2) = ADC_Res * R2
ADC * R1 + ADC * R2 =  ADC_Res * R2
ADC * R1 = ADC_Res * R2 – ADC * R2
ADC * R1 = (ADC_Res – ADC) * R2
Daca scoatem de aici R2 avem:
R2 = (ADC * R1) / (ADC_Res –  ADC)

Presupunand ca folosim AVCC ca referinta nu ne intereseaza variatiile tensiunii de alimentare ale uC-ului deoarece proportia va ramane constanta.

Acum sa luam un exemplu.
R1 = 10K
ADC_Res = 1024
ADC = 100
Rezulta:
R2 = (100 * 10000) / (1024 – 100)
R2 = 1000000 / 924
R2 = 1082.25 Ohm

1082.25 / (1082.25 + 10000) = 0.0976…
100 / 1024 = 0.09765625
Evrika 😀

Daca vrem sa avem conectat rezistorul necunoscut pe ramura “+” sunt aceleasi calcule, cu diferenta ca raportul principal va fi R1 / (R1+R2)
Inlocuind toate valorile vom ajunge la urmatoarea ecuatie:
R2 = ((1024 – ADC) * R1) / ADC

Pentru sugestii si reclamatii comentati articolul 😀
P.S. Acest articol este unul original. Am rugamintea in cazul in care il copiati sa specificati si sursa.
Multumesc.

Comments(0)

Leave a comment

Your email address will not be published.Field is required

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 Previous  All works Next