Medidor de Capacitância Autoranging DIY (10 pF–10 µF) – Montagem Fácil com Arduino
Componentes e Materiais
| Arduino Nano R3 | 1 |
| Resistor 10k ohm | 1 |
| Resistor 1k ohm | 1 |
| Resistor 1M ohm | 1 |
| Display LCD Alfanumérico 16x2 | 1 |
| Potenciômetro Single Turn 10k ohms | 1 |
Ferramentas e Máquinas Necessárias
- Ferro de solda (genérico)
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
Multímetros digitais simples (DMMs) não conseguem medir capacitância; para encontrar a capacitância, você precisa de um DMM avançado e caro ou de um módulo dedicado de capacitância.
Neste projeto, construirei um medidor de capacitância Arduino simples com recurso Auto-Ranging. Ele mede capacitância de 10 pF a 10.000 µF. A medição ocorre em modo automático: basta conectar o capacitor aos contatos de medição. O dispositivo tem duas faixas: "nF" e "µF". Ao medir um capacitor, a faixa "nF" é ativada primeiro; se a capacitância for muito grande, ocorre a transição para a faixa "µF".
Cada medidor de capacitância tem um circuito RC com valores de resistores conhecidos e um capacitor de valor desconhecido. O Arduino mede a tensão no capacitor e registra o tempo que leva para atingir uma certa porcentagem de sua tensão quando totalmente carregado (a constante de tempo). Como o valor da resistência já é conhecido, podemos usar a fórmula em um programa que calculará a capacitância desconhecida. O capacitor sob teste é carregado usando um dos resistores. O Arduino inicia o carregamento do capacitor através do resistor de acordo com sua capacidade. No medidor, uma calibração zero é realizada toda vez que é ligado; portanto, no momento de ligar, um capacitor não deve estar conectado aos contatos de medição. Além disso, todos os capacitores devem ser pré-descarga dos.
A precisão é de +/- alguns por cento e depende principalmente da tolerância dos resistores usados e da estabilidade da tensão de alimentação.
Por fim, todo o dispositivo é acomodado em uma caixa adequada e se torna mais uma ferramenta útil no seu laboratório.
Código
Código Arduino
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // RS,E,D4,D5,D6,D7
void setup() {
lcd.begin(16, 2); // LCD 16x2
pinMode(A0, INPUT);
}
unsigned long time0, time1, time2;
float c, null0;
byte kn, mk, i;
void loop() {
lcd.setCursor(15, 0);
lcd.print("*");
if (mk == 0) {
pinMode(8, OUTPUT);
pinMode(7, INPUT);
digitalWrite(8, HIGH);
}
if (mk == 1) {
pinMode(7, OUTPUT);
pinMode(8, INPUT);
digitalWrite(7, HIGH);
}
time0 = micros();
while (analogRead(A0) < 644) {
time2 = micros() - time0;
if (time2 >= 1000000 && mk == 0) {
mk = 1;
time0 = 100000000;
break;
}
}
time1 = micros() - time0;
while (analogRead(A0) > 0) {
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
if (mk == 1 && time1 < 1000) {
mk = 0;
}
lcd.setCursor(1, 0);
c = time1;
c = c / 1000 - null0;
c = abs(c);
if (time1 >= 10000000) {
lcd.setCursor(1, 0);
lcd.print(" TEST uF ");
} else {
lcd.print(c);
if (mk == 0) { lcd.print(" nF "); }
if (mk == 1) { lcd.print(" uF "); }
}
if (i == 0) {
i++;
null0 = c + 0.02;
}
delay(100);
}
Esquemático
Processo de manufatura
- Alerta Inteligente de Sede para Plantas – Sensor DIY para Hidratação Ideal
- Construa um Osciloscópio Arduino de 20 kHz em LCD Nokia 5110 – Guia DIY Fácil
- Detector de Terremoto DIY ADXL335 – Acelerômetro 3-Eixos de Baixa Potência
- Relógio de Palavras em Italiano com Arduino Nano, NeoPixel, LCD e RTC
- Construa um Sensor de Obstáculos Simples com Arduino – Tutorial Fácil com LED IR e Fotodiodo
- Medidor kWh Confiável com Sigfox e Arduino MKR Fox 1200
- Medidor de Frequência DIY – Até 6,5 MHz com Arduino Nano
- Monitor de Temperatura com Bluetooth usando Arduino Nano
- Circuito de Entrada Analógica Isolada para Arduino
- Teste de Tempo de Reação Preciso com Arduino UNO