저비용 열화상 카메라 직접 만들기: DIY 가이드
겨울철 열 신호를 포착하고 싶지만 상업용 열화상 카메라를 살 여유가 없으신가요? 그렇다면 DIY 열화상 카메라가 필요합니다.
열화상 카메라 만들기는 생각만큼 어렵지 않습니다. 사실 이 과정은 카메라 센서의 적외선 빛 감지 능력을 활성화하는 것을 포함합니다.
DIY 열화상 카메라는 최대 200달러까지 하는 가장 저렴한 시크 열화상 카메라보다 훨씬 저렴합니다.
이 글에서는 부드러운 작동으로 쉬운 DIY 열화상 카메라를 만드는 방법과 이 전문 카메라가 어떻게 작동하는지 보여드리겠습니다.
열화상 카메라 회로에 대해 더 배우고 싶다면 이 글도 도움이 될 것입니다.
DIY 열화상 카메라
평균적인 열화상 카메라는 비싼 장치입니다. 대여하려면 하루 50달러가 듭니다. 그러나 더 저렴한 열화상 카메라를 직접 만들 수 있습니다.
간단히 말해 어떤 디지털 카메라도 열화상 카메라로 변환할 수 있습니다. 왜냐면 이 카메라들에 내장된 CCD 센서가 빛의 적외선 스펙트럼을 포착할 수 있기 때문입니다.
열화상 기능이 있는 휴대폰 카메라
하지만 적외선 빛에 장시간 노출되면 센서가 손상될 수 있으므로 대부분의 제조업체는 이 기능을 비활성화하는 적외선 차단 필터를 사용합니다. 그럼에도 불구하고 카메라 렌즈에서 적외선 필터를 제거하면 적외선의 아름다움을 볼 수 있습니다.
이 글에서는 24x32 해상도 또는 768픽셀의 MLX90640 열화상 카메라를 DIY 열화상 카메라에 사용할 것입니다. 또한 MLX90640과 라즈베리 파이 SBC를 페어링하여 적절한 해상도로 온도 맵을 기록할 수 있게 할 것입니다.
파이썬을 사용하여 RPI가 특정 한계를 생성하도록 동기를 부여할 것입니다. 그런 다음 MLX90640을 적절히 배치하여 320x240 해상도로 실행되는 열화상 카메라를 제공할 수 있습니다.
DIY 열화상 카메라가 돌아다니면서 작동하려면 카메라의 라이브 출력을 표시하는 방법과 배터리로 계속 작동하게 하는 방법이 필요합니다. 가장 좋은 점은 이 DIY 열화상 카메라를 보안 카메라로도 사용할 수 있다는 것입니다. 해상도가 충분히 높아 품질 이미지를 포착할 수 있기 때문입니다.
작동 원리
열화상 카메라는 사람의 눈에 보이지 않는 모든 물체의 적외선 영역만 포착할 수 있습니다. 흥미롭게도 대부분의 물체는 적외선 에너지를 생성하며, 이를 열 신호라고도 부릅니다. 따라서 열화상 카메라는 물체의 적외선 에너지를 감지하고 측정합니다.
또한 카메라는 감지하고 측정한 적외선 데이터를 전자 이미지로 변환합니다. 전자 이미지는 측정 중인 물체의 표면 온도를 보여줍니다. 열화상 카메라에는 특수 검출기 칩이나 센서 어레이에 적외선 에너지를 모으는 광학 시스템도 포함됩니다.
열화상 이미지
또한 센서 어레이는 그리드 스타일로 수천 개의 검출기 픽셀을 수용합니다. 가장 좋은 점은 센서 어레이의 각 픽셀이 초점 맞춰진 적외선 에너지를 감지하고 일치하는 전자 신호를 생성한다는 것입니다.
카메라 프로세서는 각 픽셀의 신호를 계산하고 온도를 보여주는 컬러 맵을 생성합니다. 또한 각 온도 값은 다른 색상을 가집니다. 마지막으로 생성된 색상 매트릭스가 카메라 메모리로 이동하여 측정 물체의 열화상 이미지를 표시합니다.
대부분의 열화상 카메라는 자동으로 가시광선을 포착하고 표준 디지털 이미지를 생성하는 표준 카메라와 함께 제공됩니다. 이 이미지들을 혼합하면 열화상 이미지의 문제 영역을 쉽게 감지하고 검사 중인 실제 영역 및 장비와 일치시킬 수 있습니다.
필요한 구성 요소
DIY 열화상 카메라를 만들려면 다음 두 구성 요소가 필요합니다:
- 라즈베리 파이 4 컴퓨터
- MLX90640 열화상 카메라
두 구성 요소 가격은 구매처에 따라 달라질 수 있지만, 프로젝트 비용은 150달러를 넘지 않아야 합니다.
단계
이 프로젝트를 위해 따라야 할 단계는 다음과 같습니다:
1단계: 배선
먼저 MLX90640을 라즈베리 파이에 연결해야 합니다. 아래 이미지를 확인하여 구성 요소 배선 방법을 확인하세요.
또한 라즈베리 파이와 MLX90640은 I2C 프로토콜을 사용하여 통신합니다. 이 I2C 프로토콜은 파이의 하드웨어 핀 5 또는 3(SDA 또는 SCL)을 필요로 합니다.
배선 다이어그램
2단계: MLX90640으로 라즈베리 파이 설정
MLX90640의 브레이크아웃 보드를 프로그래밍하려면 Adafruit 라이브러리가 필요합니다. 따라서 라즈베리 파이 터미널에 다음 코드를 입력하여 파이썬에서 MLX90640 센서를 시각화할 수 있는지 확인하세요:
또한 다음을 수행해야 합니다. 다음 명령어를 사용하세요:
I2C 활성화 여부 확인을 위해 다음 명령어도 사용하세요:
명령어가 RPi의 부트 파일을 시작합니다. 열리면 dtparam=i2c_arm=on으로 이동하여 주석 처리가 비활성화되지 않았는지 확인하세요. I2C 활성화 후 아래 명령어로 RPi를 재시작하세요:
모든 배선이 올바르다면 재부팅 후 I2C 포트를 확인하여 RPI가 MLX90640을 등록하는지 볼 수 있습니다.
터미널에서 다음 결과를 얻어야 합니다:
명령 결과
터미널에서 숫자 33이 보이면 좋습니다. MLX90640의 I2C 주소가 0x33이기 때문입니다. 그러나 데이터시트에서 이를 확인하세요.
이제 라즈베리 파이가 MLX90640의 브레이크아웃 보드를 읽을 수 있어야 합니다. 하지만 Adafruit 라이브러리로 작업 중이므로 몇 가지 다른 라이브러리를 설치해야 합니다. 다음 명령어가 도움이 될 수 있습니다:
다음으로 파이썬 IDLE(통합 개발 및 학습 환경)을 설치할 수 있지만 필수 단계는 아닙니다. 그러나 다음 코드로 IDLE을 설치할 수 있습니다:
마지막으로 IDLE을 열고 다음 테스트 코드로 Adafruit에서 MLX90640 라이브러리를 임포트해 보세요:
테스트 코드
위 코드 결과는 MLX90640이 읽는 평균 온도의 출력이어야 합니다. MLX90640 읽기 중 새로고침 속도 오류가 발생해도 당황하지 마세요.
RPi에서 I2C 장치의 속도를 높여 문제를 해결할 수 있습니다. 따라서 'config.txt' 파일에 다음 명령어로 몇 가지 조정이 필요합니다:
주석 처리되지 않은 'dtparam=i2c_arm=on' 섹션으로 이동하고 다음 줄을 추가하여 I2C 속도를 1Mbit/s로 높이세요: 'i2c_arm_baudrate=1000000'.
3단계: MLX90640 실시간 열화상 카메라 시각화
파이썬을 사용하면서 MLX90640 출력을 시각화하는 방법에는 여러 가지가 있습니다. 그 중 하나는 'imshow'로 모든 이미지를 볼 수 있게 합니다.
아래는 imshow를 사용한 파이썬 MLX90640 시각화의 간단한 구현입니다:
시각화 코드
4단계: MLX90640 보간
위 시각화 코드는 MLX90640 열화상 어레이에서 디스플레이를 얻는 빠르고 간단한 방법일 뿐입니다. 마지막 단계로 열화상 카메라의 해상도와 일반 플로팅 속도를 개선해야 합니다.
첫째, 파이썬 라이브러리에서 'ndimage' 도구 상자가 필요하여 줌 기능을 활성화합니다. 이 명령어로 카메라의 24x32 출력을 240x320으로 보간할 수 있습니다. 그런 다음 위 시각화 코드에 명령을 추가하세요:
다음으로 'matplotlib'에서 '블리팅(blitting)' 방법을 활성화하여 보간된 이미지의 업데이트된 프레임 속도를 얻어야 합니다. 이에 필요한 코드는 다음과 같습니다:
블리팅 코드
마무리
저렴한 DIY 열화상 카메라는 주머니를 비우지 않고 적외선 이미지를 포착하는 좋은 방법입니다. 하나를 만든 후 열화상 이미저로 온도 차이를 빠르게 조사할 수 있습니다.
고해상도 이미지에 온도를 표시하는 열 센서도 만들 수 있습니다. DIY 열화상 카메라의 해상도는 상용 변형과 비교할 수 없지만, 지역이나 물체의 열 누출이나 온도 변화를 감지하기에는 충분합니다.
질문이 있으신가요? 연락 주시면 기꺼이 답변하고 추가로 도와드리겠습니다.