산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

DIY 오토레인지 정전용량 측정기 (10pF~10µF) – 간단한 Arduino 제작

부품 및 소모품

부품명 수량
Arduino Nano R31
저항 10k 옴1
저항 1k 옴1
저항 1M 옴1
영숫자 LCD 16x21
단일 회전 포텐셔미터 10k 옴1

필요 도구 및 장비

앱 및 온라인 서비스

프로젝트 소개

일반 디지털 멀티미터(DMM)는 정전용량을 측정할 수 없습니다. 정전용량을 측정하려면 고가의 고급 DMM을 구매하거나 전용 정전용량 모듈을 찾아야 합니다.

이 프로젝트에서는 오토레인지 기능이 있는 간단한 Arduino 정전용량 측정기를 만듭니다. 10pF부터 10,000µF까지 측정 가능합니다. 측정은 자동 모드로 진행되며, 커패시터를 측정 단자에 연결하기만 하면 됩니다. 기기는 "nF"와 "µF" 두 가지 레인지가 있습니다. 커패시터 측정 시 먼저 "nF" 레인지가 활성화되고, 정전용량이 너무 크면 "µF" 레인지로 자동 전환됩니다.

모든 정전용량 측정기는 알려진 저항값과 미지의 커패시터값으로 RC 회로를 구성합니다. Arduino는 커패시터 전압을 측정하고 완전 충전 시 전압의 특정 비율(시간 상수)에 도달하는 시간을 기록합니다. 저항값을 이미 알므로 프로그램에서 공식을 사용해 미지의 정전용량을 계산합니다. 테스트 중인 커패시터는 저항 중 하나를 통해 충전되며, Arduino는 커패시터 용량에 따라 적절한 저항으로 충전을 시작합니다. 이 측정기에서는 전원 투자 시마다 영점 보정을 수행하므로, 전원 투자 시 커패시터가 측정 단자에 연결되어 있지 않아야 합니다. 또한 모든 커패시터는 사전 방전되어야 합니다.

정확도는 ±수 %이며, 주로 사용된 저항의 공차와 공급 전압 안정성에 의존합니다.

마지막으로 전체 기기를 적절한 케이스에 넣으면 실험실의 또 다른 유용한 도구가 됩니다.

소스 코드

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

회로도

Arduino Nano, 3개 저항(1k, 10k, 1M옴)으로 구성된 RC 회로, 16x2 LCD 디스플레이, 콘트라스트 조절용 10k 포텐셔미터 연결. 측정 단자는 7, 8번 핀과 A0 핀을 통해 커패시터 충전/방전 및 전압 측정 수행.

제조공정

  1. 스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리
  2. 아두이노 나노와 노키아 5110 LCD로 20kHz 오실로스코프 만들기: 쉬운 DIY 가이드
  3. DIY ADXL335 지진 감지기: 저전력 3축 가속도계 프로젝트
  4. 이탈리안 워드 클럭(Word Clock) 제작: 아두이노 나노 + 네오픽셀 + LCD + RTC
  5. 아두이노로 간단한 장애물 센서 만들기 - IR LED & 포토다이오드 튜토리얼
  6. 아두이노 MKR Fox 1200으로 신뢰성 높은 시그폭스 kWh 미터 만들기
  7. 아두이노 나노 DIY 주파수 카운터 – 6.5MHz까지 측정 가능
  8. 블루투스 온도 모니터: 아두이노 나노와 NTC 서미스터로 구현
  9. 아두이노용 절연 아날로그 입력 회로 만들기
  10. 아두이노 우노로 정밀 반응 속도 테스터 만들기