Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

DIY Автоматический измеритель емкости (10 пФ – 10 мкФ) на Arduino Nano

Компоненты и материалы

Компонент Количество
Arduino Nano R3 1
Резистор 10 кОм 1
Резистор 1 кОм 1
Резистор 1 МОм 1
Алфавитно-цифровой LCD 16x2 1
Однооборотный потенциометр 10 кОм (для контраста LCD) 1

Необходимые инструменты

Приложения и онлайн-сервисы

О проекте

Простые цифровые мультиметры (DMM) не измеряют емкость. Для определения емкости нужен либо дорогой продвинутый DMM, либо специализированный модуль измерения емкости.

В этом проекте я сделаю простой измеритель емкости на Arduino с автодиапазоном. Он измеряет емкость от 10 пФ до 10 000 мкФ. Измерение происходит в автоматическом режиме — достаточно подключить конденсатор к измерительным контактам. Устройство имеет два диапазона: «нФ» и «мкФ». При измерении сначала включается диапазон «нФ», если емкость слишком большая — происходит переход на «мкФ».

Каждый измеритель емкости имеет RC-цепь с известными резисторами и неизвестным конденсатором. Arduino измеряет напряжение на конденсаторе и фиксирует время, за которое оно достигает определенного процента от полного заряда (временная постоянная). Зная сопротивление, можно вычислить неизвестную емкость по формуле в программе. Конденсатор под тестом заряжается через один из резисторов. Arduino инициирует заряд через резистор в зависимости от емкости. В измерителе при каждом включении выполняется нулевая калибровка, поэтому при включении к контактам не должен быть подключен конденсатор. Также все конденсаторы должны быть предварительно разряжены.

DIY Автоматический измеритель емкости (10 пФ – 10 мкФ) на Arduino Nano

Точность ± несколько процентов и в основном зависит от допуска используемых резисторов и стабильности напряжения питания.

Всё устройство помещено в подходящий корпус — еще один полезный инструмент в вашей лаборатории.

Код

Arduino код (C/C++)

#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);
}

Схемы

DIY Автоматический измеритель емкости (10 пФ – 10 мкФ) на Arduino Nano

Производственный процесс

  1. Умный датчик полива «Thirst Alert» на Arduino — DIY сигнализация засухи для растений
  2. Создание осциллографа на Arduino Nano с дисплеем Nokia 5110 (20 кГц): простое DIY-руководство
  3. DIY детектор землетрясений на ADXL335 с усилением ОУ OP07
  4. Итальянские словесные часы на Arduino Nano, NeoPixel, LCD и RTC
  5. Простой ИК-датчик препятствий на Arduino: ИК-светодиод и фотодиод
  6. Надежный счетчик кВт·ч на Sigfox с Arduino MKR Fox 1200
  7. Частотомер до 6.5 МГц на Arduino Nano: DIY измеритель частоты
  8. Bluetooth-монитор температуры на Arduino Nano с NTC-термистором
  9. Гальванически разделённый аналоговый вход для Arduino на LM331 и оптопаре 4N25
  10. Точный тест времени реакции на Arduino UNO