基于FPGA制作红外热成像传感器,有没有大佬可以给我提提意见和思路呀

어떻게 시작해야 하나요, 저는 이 아이디어가 있지만 어떻게 해야 할지 모르겠습니다. 누군가 이미 만들었나요? 어떻게 만들었는지 말씀해 주실 수 있나요?

설계된 센서의 요구사항은 이미지를 분석하고 처리할 수 있고, 개발 보드를 통해 디스플레이 화면에 연결하여 특정 물체의 온도를 측정할 수 있어야 합니다. 어디서부터 시작해야 할지 모르겠고, 혹시 이를 만든 고수가 있는지 알고 계신 분이 있으면 추천해 주시면 감사하겠습니다. 특별히 잘 설계할 필요는 없고, 설계된 적외선 열화상 센서가 기본 작동을 구현할 수 있으면 됩니다. 개발 자료를 얻을 수 있다면 정말 감사하겠습니다!!!

지나가다가 저를 놓치지 마세요. 아이 머리가 벗겨질 지경입니다. 정말 어떻게 해야 할지 모르겠습니다.

형제, 머리가 빠지기 전에 조급해하지 마. 차근차근 뜯어보면, 적외선 + FPGA는 생각만큼 블랙박스가 아니야. 핵심은 “탐지기에서 나온 작은 전류를 화면의 온도 컬러 이미지로 바꾸는 것”이야. 아래에 “돌아가는” 최소 루트를 줄게. 전부 오픈소스거나 저렴하게 살 수 있으니, 따라 만들면 바로 화면에 뜨고, 뒤는 천천히 다듬으면 돼.


1단계: “살 수 있는” 탐지기 정하기

  1. TN256 / MLX90640 / AMG8833 같은 32×24…256×200 어레이가 제일 싸. I²C나 DVP 병렬 출력에 몇 백 위안이면 끝.
  2. 640×512 군용급을 원해? 일단 포기해. 탐지기 하나만 만 원 넘고, 셔터·TEC·렌즈까지 사야 해. 학생에겐 무리야.
    그러니 1단계 목표: TN256(256×200) + 자작 FPGA 보드 → VGA 화면 실시간 25 fps + 중심점 온도값.
    (CSDN에 ikkg라는 형이 TN256용 FPGA 프로젝트를 통째로 오픈소스로 올려 놨어. Verilog + 핀 제약 + 회로도, Cyclone IV에서 바로 돌아가니 그냥 가져가.)

  1. 최소 시스템 하드웨어 목록
  2. 탐지기 보드: TN256 모듈(35° 렌즈 포함, SPI/병렬 출력).
  3. FPGA 보드: Cyclone IV EP4CE15 코어 보드(타오바오 120 위안, 64 Mbit SDRAM 탑재, 256×200 버퍼 충분).
  4. 디스플레이: 아무 7인치 VGA 모니터 + 3-in-1 영상 드라이브 보드(40 위안).
  5. 전원: 12 V 어댑터 → 보드 내장 DCDC로 5 V/3.3 V/1.2 V, 탐지기는 2.7–3.6 V 깨끗한 전원 필요.
  6. 셔터 모터: 5 V 미니 서보(차단판 보정용, 오픈소스 코드에 GPIO로 제어 예제 있음).
  7. 렌즈: 모듈에 딸려 있으면 그대로 써. 게르마늄 글래스여야 8–14 µm이 통과해, 일반 유리는 안 됨.

  1. FPGA 로직 흐름(ikkg 오픈소스에 이미 작성돼 있음, 당신은 종합만 하면 됨)
  2. 탑클락: 50 MHz 입력 → PLL로 100 MHz 시스템 + 33 MHz VGA + 25 MHz 픽셀.
  3. DVP 수신: VS/HS/PCLK 3단 레지스터 싱크, 8 bit 그레이 스케일을 16 bit로 합침.
  4. 싱글 포인트 보정: 30초마다 셔터 닫고 “배경 프레임”을 SDRAM에 저장, 실시간으로 “원본 – 배경 + 오프셋” 해 고정 잡음 제거.
  5. 스케일: 256×200 → 480×320(Altera VIP Scale 코어, 오픈 라이선스는 1시간만 돌아가지만 디버깅엔 충분).
  6. 의사칼라: 8 bit 그레이 → RGB888 룩업테이블, 무지개 또는 화이트핫 택일, RAM 초기화 파일에서 매핑 테이블만 바꾸면 됨.
  7. VGA 타이밍: 800×600@60 Hz, SDRAM에서 프레임 읽어 바로 출력.
  8. 온도 계산:
    • 탐지기 출하 시 “Pixel–T” 식이 포함, 계수는 EEPROM에 I²C로 읽음.
    • FPGA 내 14×14→28 bit 곱셈기, 끝에 구간선형 테이블 한 번 더 봐서 절대온도 도출.
    • 화면 모서리에 중심점 온도값을 흰 글씨로 OSD 오버레이.
  9. 시리얼: 115200 baud로 매 프레임 최대/최소/중심 온도 출력, 상위 PC에서 로깅.

  1. 소프트웨어/알고리즘
  2. Matlab 스크립트:
    • 탐지기 raw 데이터를 먼저 받아 히스토그램·플래툼 이퀄라이제이션(PE) 돌려 다이내믹 레인지 확인.
    • “그레이–온도” 커브 피팅해서 FPGA용 구간 룩업테이블 생성, .mif 파일로 익스포트 후 FPGA ROM 인스턴스화.
  3. 흑체로 교정:
    • 30 °C/50 °C/70 °C 흑체를 연구실에서 빌려 각 온도점에서 100 프레임 평균, 2점 교정로 gain/offset을 Flash에 기록, 전원 온 시 로드.
    • 흑체 없으면 전기주전자 + 0.1 °C 정밀도 PT100 프로브로 어림잡아도 됨. 오차 ±2 °C 정도, 데모용으론 충분.

  1. 통합 시험 절차(직접 해보니 3일 만에 화면 나옴)
    1일차: 납땜 → TN256 병렬을 FPGA에 연결 → SignalTap으로 VS/HS 잡고 → 화면 점등.
    2일차: SDRAM R/W 정상 → raw 이미지를 Matlab로凍結 → 히스토그램 보고 룩업테이블 생성.
    3일차: 보정 + 의사칼라 + 시리얼 온도 추가 → 방열판 만지는 영상 찍으면 “우와” 나옴.

  1. 업그레이드는 나중에?
  • 고해상도로 교체: FLIR Lepton 3.5(160×120)나 Boson 320(320×256)은 SPI 출력이라 인터페이스만 바꾸면 됨.
  • 기가비트 이더넷: Lattice 기가비전 IP 사서 FPGA가 Avalon-ST 스트림을 밀어넣으면 산업용 카메라 됨.
  • AI 열점 검출: 8 bit 그레이를 AXI-Stream으로 Zynq PS에 넣어 YOLO-tiny 돌리다 60 °C 넘으면 알람.
  • TEC 추가해 온도 안정화: 탐지기 드리프트 0.1 °C 미만, 측정 열 안정성 급상승.

  1. 오픈소스/자료 묶음(전부 실측 돌아감)
  2. ikkg TN256 + Cyclone IV 풀버전 Verilog(Quartus 프로젝트, 핀, SDRAM 타이밍 제약 포함)
  3. 저전력 열화상 논문, FPGA가 ADC 어떻게 물리고 플래툼 히스토그램 이퀄라이제이션 어떻게 돌리는지 상세 기술.
  4. 특허 CN105827999A, 도 2에 “탐지기→ADC→FPGA→DRAM→디스플레이” 데이터 흐름이 그대로 나와 있어 베끼면 틀림없음.
  5. 그냥 모듈 사고 싶으면 ehiway 256×200 셔터 내장 모듈 680 위안, STM32 예제 줌 → 시리얼 온도 먼저 나오고 FPGA로 포팅도 식은 죽 먹기.

마지막 잔소리:
“적외선” 두 글자에 겁먹지 마. 그냥 느린 그레이 카메라 + 룩업테이블일 뿐이야. 256×200부터 돌려라. 640×512·복사 교정·NETD<50 mK 같은 고급은 그 다음.
지금 목표는 SCI 발표가 아니라 “화면에 온도 따라 색 바뀌는 사진 하나 띄우기”야. 일단 되면 자신감이 폭발할 거야.

화이팅, 진짜 대머리 되면 꼭 인증샷 남겨!

2개의 좋아요

谢谢回答,你这回答真的太棒了! :+1: :face_blowing_a_kiss:

1개의 좋아요