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

아두이노 고속 RPM 카운터 – 레이저 + IR 센서 싱글샷 알고리즘으로 40ms 초고속 측정

부품 및 소모품

부품 수량 비고
아두이노 우노 1
IR 근접 센서 (적외선 수신) 1 추천 모델 사용 권장
적색 레이저 다이오드 655nm (레이저 포인터) 1 청/녹색 레이저는 IR 성분 부족으로 작동 안 함
DC 모터 (테스트용) 1 팬 블레이드 장착
9V 배터리, 점퍼 와이어 3개, USB 케이블 1식

필요 도구

프로젝트 소개

단일 IR 센서와 적색 레이저 포인터, 아두이노만으로 모터 RPM을 고정밀 측정하는 장치입니다. 독자 개발한 싱글샷 감지 알고리즘(Single Shot Detection)으로 40ms 이내에 RPM을 계산하며, 매 1/n 회전(블레이드 n개)마다 측정값을 갱신해 미세한 속도 변화도 실시간 포착합니다.

아두이노 고속 RPM 카운터 – 레이저 + IR 센서 싱글샷 알고리즘으로 40ms 초고속 측정
아두이노 고속 RPM 카운터 – 레이저 + IR 센서 싱글샷 알고리즘으로 40ms 초고속 측정

작동 원리

  1. 레이저 빔 차단: 모터 축에 부착된 팬 블레이드가 회전하며 레이저 빔을 주기적으로 차단
  2. IR 센서 감지: 적색 레이저는 미량의 적외선 성분을 포함 → IR 센서가 수신. 블레이드 통과 시 신호 차단(LOW), 통과 후 수신(HIGH)
  3. 싱글샷 알고리즘: 차단 시작→끝 시간을 측정해 블레이드 폭/반지름 기반 각속도 계산 → RPM 환산

핵심: 싱글샷 감지 알고리즘

기존 방식: 고정 시간(예: 1초) 동안 펄스 카운트 → 평균 RPM

본 방식: 매 차단 이벤트마다 즉시 RPM 계산

설치 및 보정

  1. 레이저 포인터와 IR 센서를 마주보게 고정 (거리 5~20cm)
  2. 모터 팬 블레이드가 레이저 빔을 지나는 위치에 오도록 정렬
  3. 코드 상수 수정:
    • wid: 블레이드 폭 (미터 단위, 예: 0.012 = 12mm)
    • rad: 감지 지점 반지름 (미터 단위, 예: 0.045 = 45mm)
  4. 모터 구동 후 시리얼 모니터(9600 baud)로 RPM 확인

코드

// 고속 RPM 카운터 - 싱글샷 알고리즘
// by YASH36

const int sen = A0;
const float wid = 0.012;   // 블레이드 폭 (m) - 실측값으로 수정
const float rad = 0.045;   // 감지 반지름 (m) - 실측값으로 수정
const float konst = 6.2832; // 2 * PI

float time_1, time_2, vel, diff, tnet, rpm;

void setup() {
  Serial.begin(9600);
  pinMode(sen, INPUT);
  Serial.println("모터 시작 후 3초 대기...");
  delay(3000);
}

void loop() {
  // 레이저 차단 시작 감지 (아날로그 값 하강)
  if(analogRead(sen) < 950) {
    time_1 = millis();
    delay(30);  // 디바운스/노이즈 필터
  }
  
  // 레이저 차단 종료 감지 (아날로그 값 상승)
  if(analogRead(sen) > 950) {
    time_2 = millis();
    diff = time_2 - time_1;           // 차단 지속 시간 (ms)
    vel = wid / diff;                 // 선속도 (m/ms)
    tnet = (konst * rad) / vel;       // 한 바퀴 도는 시간 (ms)
    rpm = 60000.0 / tnet;             // RPM 환산
  }
  
  Serial.print("RPM: ");
  Serial.println(rpm, 2);  // 소수점 2자리 출력
}

회로도

아두이노 고속 RPM 카운터 – 레이저 + IR 센서 싱글샷 알고리즘으로 40ms 초고속 측정
아두이노 고속 RPM 카운터 – 레이저 + IR 센서 싱글샷 알고리즘으로 40ms 초고속 측정

장점 및 한계

장점 한계/주의사항
초고속 응답 (<40ms) 적색 레이저 필수 (청/녹색 불가)
매 1/n 회전마다 측정값 갱신 블레이드 폭/반지름 정확한 측정 필요
소수점 2자리 고해상도 외란광(태양광 등) 차단 필요
저가 부품으로 구현 가능 단일 블레이드/마크만 있는 경우 측정 주기 길어짐

개선 아이디어

제조공정

  1. 라즈베리 파이와 습도 센서로 자동 에어로포닉스 시스템 만들기
  2. MAX6675 IC로 아두이노 포텐타 H7에 열전대 센서 연동하기
  3. 아두이노 나노와 MPU-6050으로 실시간 자이로스코프 게임 만들기
  4. DHT11 온습도 센서 + LED 표시등 + 피에조 부저 프로젝트
  5. K30 CO2 센서: 실시간 실내 공기질 모니터링
  6. Unopad: 아두이노 우노로 만드는 에이블턴 라이브용 MIDI 컨트롤러
  7. 아두이노 DHT11 이더넷 실드 온습도 데이터 로거
  8. 스마트 IoT 자 제작: ESP8266, 아두이노 & 초음파 센서로 실시간 모니터링
  9. 아두이노로 간단한 장애물 센서 만들기 - IR LED & 포토다이오드 튜토리얼
  10. 아두이노 나노 + 128x64 OLED로 실시간 셀룰러 오토마타 (생명 게임) 구현