Índice:

Curva I - V com Arduino: 5 etapas
Curva I - V com Arduino: 5 etapas
Anonim
Curva I - V com Arduino
Curva I - V com Arduino

Decidi criar uma curva I – V de leds. Mas eu tenho apenas um multímetro, então criei um medidor I-V simples com o Arduino Uno.

Da Wiki: Uma característica de corrente-tensão ou curva I-V (curva de corrente-voltagem) é uma relação, normalmente representada como um gráfico ou gráfico, entre a corrente elétrica através de um circuito, dispositivo ou material, e a voltagem correspondente, ou diferença potencial através dele.

Etapa 1: Lista de Materiais

Para este projeto, você precisará de:

Arduino Uno com cabo USB

placa de ensaio e cabo duponts

leds (usei leds vermelho e azul de 5 mm)

resistor de queda (resistor de derivação) - decidi por 200 ohm (para 5V é a corrente máxima de 25 mA)

resistores ou potenciômetro, utilizo mistura de resistores - 100k, 50k, 20k, 10k, 5k, 2,2k, 1k, 500k

Etapa 2: Circuito

O circuito
O circuito

O circuito consiste em teste de led, resistor de derivação (R_drop) para medir a corrente. Para alterar a queda de tensão e a corrente, uso vários resistores (R_x).

O princípio básico é:

  • obter corrente total I no circuito
  • obter queda de tensão no LED de teste Ul

Corrente total I

Para obter a corrente total, eu meço a queda de tensão Ur no resistor de derivação. Eu uso pinos analógicos para isso. Eu meço a tensão:

  • U1 entre GND e A0
  • U2 entre GND e A2

Diferente dessas tensões é a queda de tensão igual no resistor shunt: Ur = U2-U1.

A corrente total I é: I = Ur / R_drop = Ur / 250

Queda de tensão Ul

Para obter a queda de tensão no led, eu subtraio U2 da tensão total U (que deve ser 5 V): Ul = U - U2

Etapa 3: Código

flutuante U = 4980; // tensão entre GND e Arduino VCC em mV = tensão total

flutuante U1 = 0; // 1 sonda

flutuante U2 = 0; // 2 sondas

float Ur = 0; // queda de tensão no resistor shunt

flutuante Ul = 0; // queda de tensão no led

flutuante I = 0; // corrente total no circuito

float R_drop = 200; // resistência do resistor fechado

void setup ()

{

Serial.begin (9600);

pinMode (A0, INPUT);

pinMode (A1, INPUT);

}

void loop ()

{

U1 = flutuante (analogRead (A0)) / 1023 * U; // obtém a tensão entre GND e A0 em miliVolts

U2 = flutuante (analogRead (A1)) / 1023 * U; // obtém a tensão entre GND e A1 em miliVolts

Ur = U2-U1; // queda de tensão no resistor de derivação

I = Ur / R_drop * 1000; // corrente total em microAmps

Ul = U-U2; // queda de tensão no led

Serial.print ("1");

Serial.print (U1);

Serial.print ("2");

Serial.print (U2);

Serial.print ("////");

Serial.print ("queda de tensão no resistor shunt:");

Serial.print (Ur);

Serial.print ("queda de tensão no led:");

Serial.print (Ul);

Serial.print ("corrente total:");

Serial.println (I);

// pausa

atraso (500);

}

Etapa 4: Teste

Testando
Testando
Testando
Testando
Testando
Testando

Estou testando 2 leds, vermelho e azul. Como você pode ver, o led azul tem tensão de joelho maior, e é por isso que o led azul precisa que o led azul comece a explodir em torno de 3 Volts.

Etapa 5: Testar o resistor

Testando resistor
Testando resistor
Testando resistor
Testando resistor

Eu faço a curva I - V para o resistor. Como você pode ver, o gráfico é linear. Os gráficos mostram que a lei de Ohm funciona apenas para resistores, não para leds. Calculo a resistência, R = U / I. As medições não são precisas em valores de correntes baixas, porque o conversor analógico-digital no Arduino tem resolução:

5V / 1024 = 4,8 mV e corrente -> 19,2 microAmps.

Acho que os erros de medição são:

  • os contantes do breadboard não são super contantes e comete alguns erros de voltagem
  • resistores usados tem cerca de 5% de variedade na resistência
  • Os valores ADC da leitura analógica oscilam

Recomendado: