Multimètre capacimètre auto-étendant DIY (10 pF – 10 µF) – Construction Arduino facile
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino Nano R3 | 1 |
| Résistance 10 kΩ | 1 |
| Résistance 1 kΩ | 1 |
| Résistance 1 MΩ | 1 |
| Écran alphanumérique LCD 16×2 | 1 |
| Potentiomètre mono-tour 10 kΩ | 1 |
Outils et machines nécessaires
- Fer à souder (générique)
Applications et services en ligne
- Arduino IDE
À propos de ce projet
Les multimètres numériques (DMM) simples ne peuvent pas mesurer la capacité et pour trouver la capacité, vous devez soit opter pour un DMM avancé et coûteux, soit trouver des modules capacimètres dédiés.
Dans ce projet, je vais construire un capacimètre Arduino simple avec fonction auto-étendant. Il peut mesurer la capacité de 10 pF à 10 000 µF. La mesure se fait en mode automatique, il suffit de connecter le condensateur aux bornes de mesure. L'appareil a deux gammes : « nF » et « µF ». Lors de la mesure d'un condensateur, la gamme « nF » est d'abord activée, si la capacité est trop grande, alors la transition vers la gamme « µF » se produit.
Chaque capacimètre possède un circuit RC avec des valeurs de résistance connues et une valeur de condensateur inconnue. L'Arduino mesurera la tension aux bornes du condensateur et enregistrera le temps qu'il faut pour atteindre un certain pourcentage de sa tension quand il est complètement chargé (la constante de temps). Puisque la valeur de la résistance est déjà connue, nous pouvons utiliser la formule dans un programme qui calculera la capacité inconnue. Le condensateur sous test est chargé en utilisant l'une des résistances. L'Arduino initie la charge du condensateur à travers la résistance selon sa capacité. Dans le capacimètre, une calibration à zéro est effectuée à chaque mise sous tension, donc au moment de la mise sous tension, un condensateur ne doit pas être connecté aux bornes de mesure. De plus, tous les condensateurs doivent être pré-déchargés.
La précision est de +/- quelques pourcents et dépend principalement de la tolérance des résistances utilisées ainsi que de la stabilité de la tension d'alimentation.
Enfin, l'ensemble de l'appareil est logé dans un boîtier approprié et devient un autre outil utile dans votre laboratoire.
Code
- Code Arduino
Code 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);
}
Schémas
Processus de fabrication
- Alerte Soif Plante Intelligente – Capteur DIY pour une Hydratation Optimale
- Construire un oscilloscope Arduino 20 kHz sur écran Nokia 5110 – Guide DIY facile
- Détecteur de séismes DIY ADXL335 – Accéléromètre 3 axes basse consommation
- Horloge à Mots Italienne avec Arduino Nano, NeoPixel, LCD et RTC
- Capteur d'obstacle IR simple avec Arduino — LED IR + Photodiode
- Compteur kWh Sigfox fiable avec Arduino MKR Fox 1200
- Fréquencemètre DIY Arduino Nano – Mesure jusqu'à 6,5 MHz
- Circuit d'entrée analogique isolée pour Arduino : Protection contre les parasites industriels
- Test Précis de Temps de Réaction avec Arduino UNO