官網: http://www.heimannsensor.com
器件型號
不同的型號有不同的含義,手冊中有詳細說明,比如HTPA32x32dR1L5.0/0.5F7.7eHiC,代表了: 解析度32x32,帶有數字輸出的版本號為1,5mm焦距,光圈0.8, 濾波特性F7.7(μm, bandpass), 帶有外部光圈,高靈敏度,帶有保存在eeprom的校準數據
專業詞彙
K: 開爾文,溫度單位, 273.15K = 0℃ 更多看單位介紹 , 維基
dK: DeciK, 十分之一開爾文, 比如2731.5dK = 273.15K = 0℃, 在線轉換器: calculand.com
PTAT: (proportional to absolute temperature,與絕對溫度成正比)
驅動
驅動流程
這裡是主要的流程,具體每一步的計算及其公式需要仔細閱讀手冊或看示例代碼
掃描器件初始化:
從eeprom讀取校準數據計算 pix_c 的值可以根據讀到的出廠校準使用的參數來初始化傳感器,如果不使用校準時使用的值出來的數據可能會不準連續採集:
設置blind位,啟動轉換,讀取 electrical_offsets, 分為上下部共256個uint16 值, 注意下部的順序不設置blind位,啟動轉換,讀取像素值,上下兩部分,共1024個int16值,注意下部的順序; 以及同時獲取到ptats共 8個uint16值獲取VDD值,上下部,共8個uint16值.這裡需要注意的是由於vdd和ptats的值都是伴隨像素值的讀取同時一次讀取出來的, 所以為了加快幀率,實際上不必為了讀這兩種數據而啟動兩次轉換,而是在兩次讀取像素值中,一次讀取vdd,一次讀取ptats,這樣可以增加一倍的讀取速率
熱量補償: 根據 ptats和eeprom讀出的校準數據計算得到新的像素值2電子補償: 根據獲取到的 electrical_offsets 校準得到新的像素值3, 經過這一步數值(的絕對值)就會變得比較小了電壓補償: 根據獲得的VDD值以及eeprom讀取到的數據校準得到新的像素值4靈敏度補償: 根據 eeprom 讀取到的數據和設定的靈敏係數(PCSCALEVAL(10^8))得到新的像素值5根據廠商提供的表,轉換得到溫度值,單位是dK, 將其轉換成攝氏度即可廠商會提供很多型號的表,當前傳感器具體使用哪個表可以讀取eeprom的TN(table number)值, 然後使用對應的table number的表
通信
通信方式: IIC 通信地址: 兩個地址, 0x1A和 0x50, 一個是用來發送命令和讀取數據,另一個是用來讀取內部eeprom速度: 讀取eeprom最高支持400KHz, 讀寫傳感器最高支持1MHz數據分為上下兩部分,這兩部分是同時測量的,每個部分又分為4個塊,這4個塊需要分別發送命令啟動測量,也就是要獲得一個完整的圖片需要啟動4次測量
設置0x01寄存器的blind位, VDD_MEAS位設置被傳輸的值是PTAT還是VDD,來獲取電子補償,比如寫值0x0f到寄存器0x01, 然後讀取0x0A,讀取共258個字節,然後同樣是0x0B 258個字節,注意必須一次性讀完258個字節.
要十分注意得到的數據實際在傳感器的哪個位置,具體的一定要仔細閱讀手冊
比如第一次讀到[0,31]以及[992,1023],而不是[0,31]和[512,543]
實際數據示例
採集到的像素值獲取到的值如果直接顯示會發現毫無規律的樣子,如圖:
從eeprom讀取的數據計算得出的pix_c
溫度校準後
電子校準
然後經過vdd 和 靈敏度校準,最後查表和轉換單位得到溫度
得到的圖像:
放大到240x240:
調試過程中容易遇到的問題
數據讀取順序以及最終儲存到內存的順序高低位(MSB還是LSB), eeprom都是LSB, 傳感器是MSB查表需要弄清需要哪個表(根據TN(table number))數據比較大,在內存不大的單片機驅動時注意內存的使用,如果內存重複使用,一定要注意別把後面需要用到的數據給覆蓋了數據可以參考官方給的數據和我的截圖,對比分析配置一定要使用eeprom中讀出來的校準時用的配置關於提高幀率
對於這款32x32的傳感器,按照出廠校準時的參數,可以達到8幀左右的輸出,加上計算,大概7幀多一點.
主要時間花費在採集electrical_offset和pixels兩個過程,以I2C頻率為1MHz為例,前者大概需要30ms,後者大概需要120ms.
這其中,VDD的值和PTAT的值還是在兩次採集pixels的過程中分別一起採集的,也就是說一次VDD/PTAT的值要給兩次數據用,或者使用某種算法進行融合也可以, 同樣,如果electrical_offset也每隔一次pixels採集一次,理論上也可以減少15ms左右的時間.
相關文章
K210+MLX90640紅外熱像儀:https://neucrack.com/p/189
參考
HTPA32x32d規格書https://www.hardkr.com/download-3674
github/loganwilliams/thermografree
其它熱傳感器
https://www.melexis.com
https://www.boselec.com
【版權聲明:本文為 neucrack 的原創文章 原鏈:https://neucrack.com/p/199】
【找硬體資料,上硬氪網】