segunda-feira, 19 de março de 2012

Medidas Elétricas com Arduino


Os valores das tensões medidos são fornecidos em Volts. No esquema adotado a tensão que estamos medindo é sobre o LDR ( um de seus terminais está no terra e o outro na porta analógica 0).

Os valores lidos variam de 0 a 1024. Para convertê-los em unidades de tensão, o Arduino possui um conversor analógico-digital de 10 bits e sua leitura corresponde ao decimal associado à tensão que se deseja medir.

O conversor AD do Arduino é um conversor que apresenta 10 bits. O que isso significa?
Um sistema digital apresenta apenas duas possibilidades de tensões, próximas de zero (décimos de mV) e que corresponde ao bit 0 e aquela em que a tensão assume o seu valor máximo (da ordem de 5 V) que corresponde ao bit 1. Assim um valor de tensão que varia continuamente entre 0 e 5 V deverá ser expressão em frases binárias para que possa ser processado pelo micro-controlador.
Para 10 bits teremos um conjunto de 210 frases binárias= 1024.
O Arduino opera com 5V de tensão, aproximadamente. Assim qualquer valor de tensão de teremos que:
Para 5 Volts teremos o decimal correspondente 1024
Valor de tensão de entrada teremos X para o decimal
5.....................1024
A0 (V).............Decimal lido
Portanto em Volts o valor de A0 será dado por: A0 lido em Volts = (decimal lido) *5/1024
Com estas considerações, desenvolvemos algumas linhas de programação que permitiram:
· Oferecer o valor de tensão em Volts sobre o LDR
· Oferecer o valor de tensão no resistor R
· Oferecer a tensão total ( Soma: VR + VLDR)
· Imprimir em colunas estes valores nesta sequencia,decimal no LDR, VLDR (V), VR(V) Vtotal (V) e tempo.

Código-Fonte

int LDR; //declara a variável
unsigned long tempo;
float TLDR;
float TR;
float TT;

void setup() {

pinMode(A0, INPUT);

Serial.begin(9600);


}

void loop() {

tempo= millis(); // base de tempo para a coleta

LDR = analogRead(A0);
TLDR = (5.101 * LDR) / 1024;
TR = 5.101 - TLDR;
TT = TR + TLDR;

{
Serial.print(LDR);

Serial.print(" | ");

Serial.print(TLDR,3);

Serial.print(" | ");

Serial.print(TR,3);

Serial.print(" | ");

Serial.print(TT,3);

Serial.print(" | ");

Serial.print(tempo);


}

Serial.println(); // imprime em linhas

delay(250);

}

Coletamos os dados impressos pelo monitor serial:


Tensão no LDR

Determinando a corrente elétrica do circuito: U(tensão no Resistor)=R(Resistência total).i(corrente elétrica total). Entre o LDR e o Resistor. A tensão total foi 5.08V.

Retomando o código fonte, inserimos linhas de código em que:
  • O valor de corrente pode ser obtido em mA;
  • Podemos imprimir em colunas os valores nesta sequência, decimal no LDR, VLDR (V), VR(V) Vtotal (V), corrente elétrica e tempo.

Nova coleta de dados:

Potencia dissipada no LDR (em Watts):
P(potencia Dissipada no LDR) =R(Resistência no LDR)*i²(Corrente Elétrica Total)
Potencia dissipada (ou consumida) pelo circuito (resistor e LDR):
P(Potencia Dissipada pelo Circuito) = i(Corrente Eletrica Total)*U(Tensão Total)






Nenhum comentário:

Postar um comentário