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

아두이노 나노 DIY 주파수 카운터 – 6.5MHz까지 측정 가능

부품 및 소모품

부품 수량
아두이노 나노 R3 1
16x2 LCD 디스플레이 (병렬 인터페이스) 1
범용 NPN 트랜지스터 (증폭용) 1
슬라이드 스위치 (측정 시간 선택) 1
택트 스위치 (모드 변경) 1
저항, 커패시터, 다이오드 등 1식

필요 도구

프로젝트 소개

아두이노 나노로 제작한 주파수 측정기입니다. 사각파, 사인파, 삼각파 모두 측정 가능하며, 측정 범위는 수 Hz ~ 6.5MHz입니다. 측정 시간은 0.1초, 1초, 10초 3단계로 전환 가능합니다. 사각파만 측정한다면 증폭 회로 없이 디지털 핀 5번에 직접 입력하면 됩니다.

아두이노 나노 DIY 주파수 카운터 – 6.5MHz까지 측정 가능

구성 요소

보정(캘리브레이션) 방법

FreqCount 라이브러리의 FreqCount.cpp 파일에서 다음 부분을 찾아 수정하세요:

// 원본
#if defined (TIMER_USE_TIMER2) && F_CPU == 12000000L
float correct = count_output * 0.996155;

// 수정 (16MHz 크리스탈 기준)
#if defined (TIMER_USE_TIMER2) && F_CPU == 16000000L
float correct = count_output * 1.000000;  // 1.000000을 보정 계수로 사용

1MHz 기준 신호를 입력해 측정값이 1.000000MHz가 나오도록 보정 계수를 조정하세요. 수정 후 스케치를 다시 업로드하면 됩니다.

코드

#include <FreqCount.h>  // https://github.com/PaulStoffregen/FreqCount
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 6, 4, 3, 2);  // RS, E, D4, D5, D6, D7

void setup() {
  lcd.begin(16, 2);
  pinMode(7, INPUT);  // 모드 스위치
  FreqCount.begin(1000);  // 기본 1초 게이트
}

unsigned long f; float f0;
int x, n=3, r;

void loop() {
  // 모드 스위치로 게이트 타임 변경
  if(digitalRead(7) == HIGH) { n++; x=0; delay(100); }
  lcd.setCursor(0,1);
  
  if(n==1) { x++; if(x==1) FreqCount.begin(100); r=-1; lcd.print("T = 0.1 s "); }
  if(n==2) { x++; if(x==1) FreqCount.begin(10000); r=1; lcd.print("T = 10 s "); }
  if(n==3) { x++; if(x==1) FreqCount.begin(1000); r=0; lcd.print("T = 1 s "); }
  if(n>3) n=1;

  lcd.setCursor(0,0); lcd.print("F = ");
  
  // 단위 자동 변환 표시
  if(f>=1000000 && n==3) { f0=f/1000000.0; lcd.print(f0,6+r); lcd.print(" MHz"); }
  if(f<1000000 && n==3) { f0=f/1000.0; lcd.print(f0,3+r); lcd.print(" kHz"); }
  if(f>=100000 && n==1) { f0=f/100000.0; lcd.print(f0,6+r); lcd.print(" MHz"); }
  if(f<100000 && n==1) { f0=f/100.0; lcd.print(f0,3+r); lcd.print(" kHz"); }
  if(f>=10000000 && n==2) { f0=f/10000000.0; lcd.print(f0,6+r); lcd.print(" MHz"); }
  if(f<10000000 && n==2) { f0=f/10000.0; lcd.print(f0,3+r); lcd.print(" kHz"); }

  if(FreqCount.available()) {
    f = FreqCount.read();
    lcd.setCursor(10,1); lcd.print("***");
  }
  delay(200);
  lcd.clear();
}

라이브러리

FreqCount 라이브러리 다운로드 (Paul Stoffregen 제작)

회로도

아두이노 나노 DIY 주파수 카운터 – 6.5MHz까지 측정 가능

완성 및 활용

플라스틱 케이스에 조립해 전자 작업실의 유용한 계측기로 활용할 수 있습니다. 전체 범위에서 높은 정밀도를 보이며, 간단한 보정으로 정확도를 더 높일 수 있습니다.

제조공정

  1. XOR & NOR 게이트로 4비트 조합 잠금 장치 설계
  2. 멀티미터: 아날로그에서 디지털까지 - 종합 가이드
  3. AC 전력 시스템에서 주파수 및 위상 측정
  4. 아두이노로 만드는 레트로 누미트론 클락: 심플하고 신뢰성 높으며 에너지 효율적
  5. 아두이노 나노와 노키아 5110 LCD로 20kHz 오실로스코프 만들기: 쉬운 DIY 가이드
  6. 아두이노 나노로 37개 LED 룰렛 게임 만들기
  7. DIY ADXL335 지진 감지기: 저전력 3축 가속도계 프로젝트
  8. 862D+ 납땜 인두 컨트롤러 DIY: 정밀함과 신뢰성
  9. 아두이노 나노로 테트리스 게임 만들기: DIY 16×8 LED 매트릭스
  10. Never Ride Alone: 스마트 자전거 안전 시스템