회로

MLX90640 및 ESP32가 포함 된 적외선 열 이미징 카메라 (70 USD 미만) : 4 단계

Getting Started with FLIR Lepton® Development

Getting Started with FLIR Lepton® Development

차례:

Anonim

여보세요!

7 년 전에 나는 온도 센서 Melexis를 사용하여 간단한 적외선 열 화상 카메라를 만들었습니다.

MLX90614 DCI 및 두 개의 서보 모터.

링크 : http : //forum.mosfetkiller.de/viewtopic.php? f = 6 & t …

그것은 효과가 있었지만 한 가지 그림이 노출되는 데 몇 분이 걸리는 큰 단점이 있습니다. 게다가 기온은 컴퓨터로 보내 져서 거기에 저장되어 색칠 된 그림을 만들어야했습니다.

두 달 전에 Melexis에는 하나 이상의 픽셀이 포함 된 새로운 적외선 센서 인 MLX90640 (http://www.melexis.com/en/documents/documentation/datasheets/datasheet-mlx90640)이 있음을 알게되었습니다. MLX90640은 24 행 32 열로 배열 된 768 픽셀로 구성됩니다.

PCB (Printed Circuit Board)가없는 센서 만 사면 SDA 및 SCL 라인에 2.2 kOhm 풀업 저항 2 개가 필요합니다. 센서에 3.3V 이상을 공급하지 마십시오. 그렇지 않으면 손상 될 것입니다.

용품:

1 단계 : 필요한 부품과 총비용

예를 들어 sparkfun (sparkfun MLX90640), aliexpress (MLX90640 aliexpress) 또는 mouser (mouser MLX90640)에서 MLX90640을 얻을 수 있습니다.

110 ° x75 ° 시야 (MLX90640BAA)와 55 ° x35 ° fov (MLX90640BAB)의 두 가지 센서 유형이 있습니다. 가격에는 차이가 없습니다 …

그렇다면 ESP32가 필요합니다. 그것은 6 달러 미만을 위해 몇몇 상점 또는 eBay에서 팔릴 수있다.

그래프를 그리기 위해서는 디스플레이가 필요합니다. 내가 aliexpress (ILI9341 디스플레이)에서 320x240 ILI9341 디스플레이를 선택했습니다. 터치 스크린과 SD 카드 슬롯을 제공하지만 열 화상 카메라의 경우 디스플레이 및 전원 공급 장치 용으로 9 핀이 필요합니다.

마지막으로 ESP, 디스플레이 및 센서 (듀폰 와이어) 사이의 연결을 위해 여성 - 여성 듀퐁 와이어가 필요합니다.

이 프로젝트의 비용 :

  • Melexis MLX90640 …………… 50-70 USD
  • ESP32 ……………………………. 5 USD
  • ILI9341 320x240 디스플레이 ……. 8 USD
  • 듀폰 와이어 ……………………… 1 USD

-------------------------------------------------

총 최소 = 64 USD

2 단계 : 첫 번째 테스트에 필요한 라이브러리 및 코드

MLX90640의 스파크 펀 (sparkfun)에서 arduino 코드를 찾을 수 있습니다.

http : //github.com/sparkfun/SparkFun_MLX90640_Ardu …

Arduino Due와 함께 코드를 실행하려고했지만 성공하지 못했습니다. 웹에서 arduino 보드와 비슷한 문제가있는 다른 사용자의 스레드 몇 개를 발견했습니다. 나는 기온을 얻지 못했지만 값은 "숫자가 아니"다.

그래서 나는 ESP32 보드로 전환했다. Arduino-IDE로 ESP32를 설치하는 것은 매우 간단합니다. 유용한 자습서를 찾을 수 있습니다.

http : //randomnerdtutorials.com/installing-the-esp …

잠시 후 Arduino-IDE의 보드 관리자에서 많은 ESP32 보드 중에서 선택할 수 있습니다. 내 보드의 경우 "ESP32 Dev Module"을 선택합니다.

디스플레이에는 adafruit의 두 라이브러리가 필요합니다.

  • ILI9341 라이브러리 : http://github.com/adafruit/Adafruit_ILI9341
  • GFX 라이브러리 : http://github.com/adafruit/Adafruit-GFX-Library

ESP32로 디스플레이를 테스트하려면 다음 프로그램을 권장합니다.

http : //github.com/MartyMacGyver/ESP32_Adafruit_IL …

선, 직사각형 등을 그리는 데 필요한 코드를 찾을 수있을뿐만 아니라 올바른 색상을 결정할 수 있습니다.

그런 다음 ESP32에서 Sparkfun-MLX90640 코드를 실행하려고했습니다. 나는 다시 한번 잘못된 온도 (nan)를보기 위해 매우 좌절했다.

다행히 누군가의 MLX90640 센서가 센서의 메모리 / 레지스터에 특별한 값으로 작동한다는 것을 알았습니다. 위치 0x800D의 값은 1901 (HEX) = 6401 (DEC)이어야합니다. 나는 라인을 삽입했다.

arduino 프로그램의 설정 루틴에서. 그러나이 수정으로 나는 코드를 컴파일하는 동안 여전히 오류 메시지를 얻었습니다. 또 다른 힌트는 매우 유용했습니다. 라인을 추가해야합니다. #포함 ; 파일의 시작 부분에 MLX90640_I2C_Driver.cpp !

이제 MLX90640 센서에서 적절한 값을 얻어야합니다. 어쩌면 일부 픽셀이 작동하지 않거나 잘못된 온도를 표시 할 수 있습니다. 이 경우 수동으로 픽셀 값을 변경해야합니다. 나는 두 개의 이웃 픽셀을 가지고 간단한 선형 보간법을 선택했다. f.e. 1 * 32 + 21 번째 픽셀이 잘못되었습니다. 코드는 다음과 같습니다.

하지만 이것은 결함있는 픽셀이 그림의 양면 중 하나에 정확하게 있지 않을 때만 작동합니다 …

3 단계 : 온도의 시각화

768 온도를 시각화하기 위해 0,180과 RGB 값 사이의 간단한 값 변환을 만들었습니다. 모든 픽셀의 온도는 180 * (T_pixel - T_minimum) / (T_maximum - T_minimum) 함수로 구간 0,180으로 변환됩니다. 그래서 당신은 회사의 색다른 사람들에게서 알 수있는 것과 비슷한 색을 얻습니다. 위 온도는 무작위로 테스트를 볼 수 있습니다 …

4 단계 : 전체 회로, 코드 및 결과

프로그램을 복사 한 후에는 디스플레이를 ESP32에 연결해야합니다 (그림과 코드 추가 참조). 업로드하는 동안 먼저 ESP32의 BOOT-putton을 눌러야합니다. 그런 다음 반드시 EN 버튼을 눌러야합니다. 그런 다음 모든 것이 잘 작동하면 적외선 열 화상이 디스플레이에 표시됩니다.

전체 카메라는 ESP32에 + 5V를 제공하기 위해 스텝 - 업 컨버터가 뒤 따르는 하나의 리튬 이온 배터리에 의해 전력이 공급 될 것이다. 5V보다 많이 올라가지 마십시오. 그렇지 않으면 온보드 전압 조절기가 너무 뜨거워집니다. 지금은 배터리 홀더를 기다리고 있습니다. 그럼이 프로젝트는 끝날거야 …

어쩌면 내 다른 물리학 프로젝트 (http : //www.youtube.com/user/stopperl16/videos? vi …)를보고 싶을 것입니다.

그리고 마지막으로, Remix-contest에서 나를 투표 할 수 있다면 매우 행복 할 것입니다.

http://www.instructables.com/contest/remix2019/

고맙습니다 …