小聪同学
1
どうやって始めたらいいのか、アイデアはあるけどどうしたらいいのか分からない、誰か作った人がいますか、どうやって作ったのか教えてもらえますか?
設計したセンサーの要件は、画像を分析・処理でき、開発ボードを通じてディスプレイに接続し、特定のオブジェクトの温度を測定することです。どこから始めたらいいのか分からない、または誰か知っている大物がいるのか、推奨してもらえますか。特に良い設計は必要ありません。設計した赤外線サーモグラフィセンサーが基本的な操作を実現できればいいです。開発資料が出ればとても感謝します!!!
通りがかりの皆さん、私を見逃さないでください。子どもの髪の毛も禿げそうです。本当にどうしたらいいのか分かりません。
ABC
2
兄弟、ハゲる前に一呼吸。段階を踏んで分解すれば「赤外+FPGA」はそんなにブラックボックスじゃない。コアは「検出器の小さな電流を画面の温度カラー画像に変える」だけだ。以下に「動く最小構成」を開源/低コストで全部揃えたルートを置いとく。とりあえずこれで画像が出せれば、あとは好きに彫り込め。
- まず「買える」検出器を決める
- TN256 / MLX90640 / AMG8833 など 32×24…256×200 画素アレイが最安。I²C または DVP パラレル出力で数百元。
- 640×512 級のミリ仕様は一旦諦めろ。検出器だけで万元超え、シャッター・TEC・レンズも別途必要。学生には無理。
よって第一段階の目標:TN256(256×200)+自作 FPGA ボード → VGA モニタ 25 fps リアルタイム+中心点温度値。
(CSDN に ikgg っていう先輩が TN256 向け FPGA プロジェクトを完全開源してる。Verilog+ピン割当+回路図付きで Cyclone IV そのまま動く。タダで使える。)
- ハードウェア最小リスト
- 検出器ボード:TN256 モジュール(35° レンズ付き、SPI/パラレル出力)。
- FPGA ボード:Cyclone IV EP4CE15 コアボード(淘宝 120 元、64 Mbit SDRAM 実装、256×200 バッファ十分)。
- 表示:適当な 7 インチ VGA パネル+3 -in-1 駆動ボード(40 元)。
- 電源:12 V アダプタ → 基板内 DCDC で 5 V/3.3 V/1.2 V、検出器は 2.7–3.6 V クリーン供給。
- シャッターモータ:5 V マイクロサーボ(補正用シャッター、開源コードで GPIO 制御)。
- レンズ:モジュールに付いてれば追加不要。ゲルマニウムガラス必須、通常ガラスは 8–14 µm 遮る。
- FPGA ロジック構成(ikkg 開源そのまま合成するだけ)
- トップクロック:50 MHz → PLL で 100 MHz システム+33 MHz VGA+25 MHz ピクセル。
- DVP 受信:VS/HS/PCLK を 3 段ラッチ、8 bit グレー → 16 bit 結合。
- シングル補正:30 秒ごとにシャッター閉じて「背景フレーム」を SDRAM に保存、リアルタイムで「原画-背景+オフセット」で固定ノイズ除去。
- スケール:256×200 → 480×320(Altera VIP Scale コア、ライセンスは 1 h までだがデバッグには足りる)。
- 擬似カラー:8 bit グレー → RGB888 ルックアップ、レインボーかホワイトホットは RAM 初期ファイルで変更。
- VGA タイミング:800×600@60 Hz、SDRAM から読み出してそのまま出力。
- 温度計算:
- 検出器出荷時の「Pixel–T」式、係数は EEPROM に格納→I²C で読出し。
- FPGA 内 14×14 → 28 bit 乗算器、後に区分線形テーブルで絶対温度算出。
- 画面隅に中心点温度を白文字 OSD オーバーレイ。
- UART:115200 で毎フレーム最大/最小/中心温度を出力、PC 側で記録。
- ソフト/アルゴリズム
- Matlab スクリプト:
- 生データを一旦収集→ヒストグラム、PLATEAU 平坦化でダイナミックレンジ確認。
- 「グレー-温度」曲線をフィット、区分ルックアップテーブルを生成、.mif として書出し、FPGA ROM 化。
- ブラックボディ補正:
- 30 °C/50 °C/70 °C のブラックボディを借りて各温度で 100 フレーム平均、2 点補正で gain/offset を Flash に書き込み、起動時ロード。
- ブラックボディが無ければ 0.1 °C 精度 PT100 付き電気ケトルでも代用、誤差 ±2 °C 程度でデモは十分。
- 実装スケジュール(実測 3 日で画像確認)
Day1:配線 → TN256 パラレルを FPGA へ → Signaltap で VS/HS キャッチ → パネル点灯。
Day2:SDRAM 読み書き確認 → raw 画像を Matlab へ → ヒストグラム → ルックアップテーブル生成。
Day3:補正+擬似カラー+UART 温度 → 手でヒートシンクに触れながら撮影、「おおっ」となる。
- もっとやりたくなったら
- 高解像度:FLIR Lepton 3.5(160×120)や Boson 320(320×256)に載せ換え、SPI 出力なのでインターフェース変更のみ。
- GigE 化:Lattice GigE Vision IP を買えば Avalon-ST ストリームを流し込むだけで産業カメラ化。
- AI 热点検知:8 bit グレーを AXI-Stream で Zynq PS へ送り、YOLO-tiny 動作、>60 °C を検出してアラーム。
- TEC 追加:検出器温度ドリフト <0.1 °C、測定安定性が跳ね上がる。
- 開源/資料まとめ(すべて実機確認済)
- ikgg 作 TN256+Cyclone IV 完全 Verilog(Quartus プロジェクト、ピン割、SDRAM タイミング制約付き)
- 低消費電力赤外画像に関する論文:FPGA→ADC 接続、PLATEAU 平坦化の仕組みが詳細記載。
- 特許 CN105827999A:図 2 に「検出器→ADC→FPGA→DRAM→表示」のデータフローが丸写し、コピーで OK。
- モジュール丸買いなら ehiway 製 256×200 シャッター付き 680 元、STM32 サンプル付き。まずはそこで UART 温度を出してから FPGA 移植でも簡単。
最後にひとこと:
「赤外」って字に intimidated されるな。要は低速グレーカメラ+ルックアップテーブル。256×200 を動かせば 640×512・放射率補正・NETD<50 mK などの華やかネタはその後でいい。
今の目的は SCI を書くことじゃなく「画面に温度で色が変わる画像を出す」こと。それが動いた瞬間にモチベは爆上がり。
頑張れ。本当にハゲたら報告しに来い!
「いいね!」 2