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

아두이노, 고압 부스트, 20x4 LCD로 맞춤형 가이거-뮐러 계수기 만들기

부품 및 소모품

아두이노 UNO 아두이노 장치라면 어떤 것이든 가능하며, 반드시 UNO일 필요는 없습니다. 1
DC-DC 1.5-3V ~ 300-400V 380V 고압 부스트 스텝업 전압 인버터 모듈 이상적인 최종 전압은 400V이나, GM 튜브의 전력 범위인 350-450V 사이면 됩니다. 1
STS-5 가이거-뮐러 튜브 이베이에서 구매 가능(저렴). 우크라이나발 배송일 수 있으며 2-3주 소요될 수 있습니다. 1
SunFounder IIC I2C TWI 시리얼 2004 20x4 LCD 모듈 실드 배선 수가 적어 편리합니다. 20x4 규격이라면 어떤 제품이든 무방합니다. 1

필요 도구 및 장비

프로젝트 소개

⚠ 안전 경고: 이 장치는 고전압(400V)을 사용하며 매우 위험합니다. 전류는 낮지만, 인체에 전압이나 전류가 흐르면 심장 부정맥을 유발해 사망에 이를 수 있습니다. 이 제품을 제작하는 사람은 전자공학 경험이 있어야 하며, 고전압 회로 다루는 데 각별한 안전 수칙을 준수해야 합니다.

본 프로젝트는 AdNovea의 작업을 바탕으로, 사용자가 직접 프로그래밍할 수 있는 가이거-뮐러 계수기를 만드는 것이 목표입니다. AdNovea 버전은 수정하기 어려운 스크립트를 사용했지만, 이를 단순화하여 GM 튜브의 물리 원리를 더 잘 이해하고, 사용자 필요에 맞게 커스터마이징할 수 있게 했습니다.

아두이노, 고압 부스트, 20x4 LCD로 맞춤형 가이거-뮐러 계수기 만들기
단순화된 회로도

제작은 회로도를 따라 매우 직관적입니다. 가장 어려운 점은 부품 수급(GM 튜브, 고압 컨버터)이었습니다. 두 부품 모두 이베이에서 저렴하게 구했으나, 우크라이나와 중국발이라 3-4주 걸렸습니다.

브레드보드에서 먼저 회로를 구성해 테스트한 후, 납땜용 기판에 옮겨 실장했습니다. AdNovea 회로에서 부저, 이더넷 모듈, GM 튜브 연결 저항은 제외했습니다(해당 설계로는 튜브에 충분한 전류가 흐르지 않아 작동하지 않았음).

아두이노, 고압 부스트, 20x4 LCD로 맞춤형 가이거-뮐러 계수기 만들기
완성된 회로 기판

아두이노 UNO를 사용했지만, 공간 절약을 위해 나노를 써도 무방합니다. GM 튜브는 전기 테이프로 기판에 고정하고, 고압 변환기 단자도 테이프로 감아 안전성을 높였습니다. 아두이노 키트 박스를 케이스로 활용했으며, 상단에 LCD가 들어가게 구멍을 뚫고 테이프로 보강했습니다.

아두이노, 고압 부스트, 20x4 LCD로 맞춤형 가이거-뮐러 계수기 만들기
LCD 장착부

측면에는 USB 전원 케이블 통과용 구멍을 냈습니다. 9V 배터리는 금방 소모되어 결국 USB 전원을 사용했습니다. 회로와 종이 상자 접촉 부위에는 화재 및 신호 손실 방지를 위해 추가로 테이핑했습니다.

아두이노, 고압 부스트, 20x4 LCD로 맞춤형 가이거-뮐러 계수기 만들기
USB 전원 입력부

소프트웨어 설계

프로그램은 GM 튜브가 30초간 감지한 계수에 2를 곱해 CPM(분당 계수)을 추정합니다. 이를 업계 표준 단위인 µSv/h로 환산해 표시합니다. 누적 측정값의 평균과 표준오차(SD/√n)도 함께 출력합니다. 표본이 모집단(자연 방사선 평균)에서 추출된 것이므로 표준편차보다 표준오차가 더 적절합니다.

아두이노 메모리 제약으로 100개 항목 배열만 가능해, 약 50분간 정확한 통계가 나옵니다(충분한 표본 크기). 향후 개선점으로는 CPM이 배경 방사선을 넘으면 부저 경보 울리기, 로그 주기 단축으로 더 빠른 측정 구현 등이 있습니다.

소스 코드

#include <LiquidCrystal_I2C.h>
#include <Wire.h>

unsigned long counts = 0;
unsigned long previousMillis = 0;
float averageCPM = 0;
float sdCPM = 0;
int currentCPM = 0;
float calcCPM = 0;

LiquidCrystal_I2C lcd(0x27, 20, 4);
float CPMArray[100];
#define LOG_PERIOD 30000  // 30초 로그 주기 (밀리초)

void setup() {
  counts = 0;
  currentCPM = 0;
  averageCPM = 0;
  sdCPM = 0;
  calcCPM = 0;
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);
  pinMode(2, INPUT);
  attachInterrupt(digitalPinToInterrupt(2), impulse, FALLING);
}

void loop() {
  lcd.setCursor(0, 2);
  lcd.print("CPM Count: ");
  lcd.print(counts);

  unsigned long currentMillis = millis();
  if (currentMillis - previousMillis > LOG_PERIOD) {
    previousMillis = currentMillis;
    CPMArray[currentCPM] = counts * 2;
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("uSv/hr: ");
    lcd.print(outputSieverts(CPMArray[currentCPM]));
    counts = 0;
    averageCPM = 0;
    sdCPM = 0;

    // 평균 계산
    for (int x = 0; x < currentCPM + 1; x++) {
      averageCPM += CPMArray[x];
    }
    averageCPM /= (currentCPM + 1);

    // 표준오차 계산
    for (int x = 0; x < currentCPM + 1; x++) {
      sdCPM += sq(CPMArray[x] - averageCPM);
    }
    sdCPM = sqrt(sdCPM / currentCPM) / sqrt(currentCPM + 1);

    Serial.println("Avg: " + String(averageCPM) + " +/- " + String(sdCPM) + " ArrayVal: " + String(CPMArray[currentCPM]));
    currentCPM++;
    displayAverageCPM();
  }
}

void impulse() {
  counts++;
}

void displayAverageCPM() {
  lcd.setCursor(0, 1);
  lcd.print("Avg: ");
  lcd.print(outputSieverts(averageCPM));
  lcd.print("+/-");
  lcd.print(outputSieverts(sdCPM));
}

float outputSieverts(float x) {
  return x * 0.0057;  // CPM → µSv/h 변환 계수
}

회로도

프리칭(Fritzing) 파일로 제공되며, 열면 부품 배치가 자동 조정될 수 있습니다.
geiger_counter_4LAnJvZEpC.fzz

제조공정

  1. 라즈베리 파이 가이거 계수기 제작 – 오픈 하드웨어 방사선 센서 튜토리얼
  2. 아두이노로 태양광 패널 실시간 모니터링 - 저비용 데이터 수집 시스템
  3. 블루투스 제어 아두이노 스파이봇(Spybot) 만들기
  4. 플릭모트(FlickMote): 스마트 홈을 위한 제스처 제어 IR 리모컨
  5. DIY 아두이노 TV B-Gone: 모든 TV를 끄는 만능 리모컨
  6. 아두이노로 만드는 대형 LED 마스터 시계 (알람 기능 포함, 12m 거리에서도 식별 가능)
  7. 가스 온수기 파일럿 라이트 감시 시스템 – 열전대 전압 모니터링으로 안전 확보
  8. 아두이노와 블루투스로 만드는 스마트 물건 찾기 'Find Me'
  9. 아두이노로 만드는 맞춤형 '펀처블' 키보드 버튼: 단계별 가이드
  10. 발렌타인데이 선물: DIY 교제일수 카운터 만들기