物聯網 (IoT) 前景光明,將為消費者和企業提供多種全新的應用和服務。作為消費者,我們注意到 IoT 正緩步進入千家萬戶,但許多專家認為最大的獲利者將是制造業,因為這一行業中,工業物聯網 (IIoT) 一詞已經廣為流行。和所有基于 IoT 的應用一樣,它實質上由常見的遠程傳感器和致動器構成,可切實發揮 IIoT 的作用。IIoT 將實現規模空前的有關制造和流程操作的數據可見性。另外,它將顯示制造設備的能效和性能數據,再輔以預測性維護機制,將達到相得益彰的效果。用于此類應用的傳感器可能是簡單、小型、無源和/或半導體元器件,但這些元器件所在的工業環境中存在著極端溫度、振動和濕度的影響。由于需要快速部署可在上述條件中正常工作的傳感器和邊緣節點設備,眾多 IoT 開發人員采用了基于模塊的方法將傳感器集成到各自的設計中。
鑒于分立解決方案存在的各種挑戰,模塊有理由成為優先之選。例如,溫度測量可以通過將負溫度系數 (NTC) 熱敏電阻與電阻器串聯來實現,以便產生的結電壓能夠隨環境溫度而變化。然后,產生的結電壓可以由主微控制器的模數轉換器 (ADC) 進行讀數,并利用公式計算溫度。但 NTC 熱敏電阻的溫度/電阻具有非線性特征,需要在整個工作溫度范圍內進行最佳擬合線性化。此外,還需考慮溫度補償和漂移特性。主微控制器額外執行的處理過程需要占用更多的 MCU 資源,且所有終端傳感器都應在制造期間完成校準。用于密封 NTC 電阻器的封裝是另一個主要考慮因素,需要確保所需元器件免受環境影響。
圖 1: SHT35 溫度和濕度傳感器。
相較于上述方案,我們可以采用溫度模塊,現以 Sensirion 的 SHT35 數字溫度和濕度傳感器為例(圖 1)。這款表面貼裝低功耗設備尺寸僅為 2.5 x 2.5 x 0.9 mm,在 2.4 至 5.5 VDC 供電電壓下工作,測量時電流消耗僅為 800 μA,休眠模式下電流低至 0.2 μA。小型封裝內置測量濕度的電容式傳感器和測量溫度的帶隙傳感器。這種傳感器可以測量的溫度范圍為 -40 至 +125°C,相對濕度范圍為 0 至 +100%。由于提供完全校準的數字輸出,傳感器元件可連接到信號處理電路與一個 14 位 ADC,其中 ADC 的溫度和相對濕度精度分別達到 +/- 0.3°C 和 +/- 2%。
圖 2: SHT35 與主微控制器通信。
圖 2 所示為與主微控制器的通信過程。兩者通過 I2C 串行接口實現通信,只需增加極少的上拉電阻器和去耦電容器。溫度和濕度測量需要使用圖 3 指定的命令。傳感器數據一經讀取,將以兩個字節加上單字節 CRC 校驗和(灰色模塊)的形式傳輸。
圖 3: SHT3x 單步運算模式測量命令。
如果要使用 SHT3x 系列協助傳感器的原型設計,分線式評估板是一個不錯的選擇。這款評估板由 Adafruit 推出,可讓傳感器簡單快速地連接到 Arduino 或兼容平臺。有關連接到 SHT3x 的詳細指南和 Arduino Sketch 代碼示例,請點擊此處。
Bosch BME280 是另一個數字溫度和濕度傳感器的例子。這是一款全封閉 LGA 封裝設備,具有金屬頂蓋,還配備一個絕對氣壓傳感器。藉由低功耗設計和極其緊湊的尺寸,BME280 適用于多種電池供電的便攜式應用,從工業自動化控制到個人健身監測設備,不一而足。圖 4 為 BME280 功能框圖。
圖 4: 結合濕度、壓力和溫度傳感器的 Bosch BME280 功能框圖。
傳感器模擬和數字模塊可由 1.7 至 3.6 V 的 DC 電源和 1.2 至 3.6 V 的獨立數字接口電源提供,具體取決于應用要求。傳感器支持 SPI 和 I2C 接口,且能夠以三種不同的功耗模式工作。主 MCU 可觸發測量功能,或讓傳感器以預先確定的速率自動測量。功耗在休眠模式下低至 0.1 μA,待機模式為 0.2 μA,而壓力測量期間最高可達 714 μA。三種傳感器工作模式為休眠、強制和普通。默認模式為休眠模式,在此模式下,將無任何 ADC 操作,且所有寄存器均可訪問。
圖 5: BME280 傳感器模式轉換示意圖。
強制模式通過主微控制器發出 SPI 或 I2C 請求才能調用,且每次僅執行一次測量。保存測量結果之后,傳感器恢復到休眠模式。普通模式可持續執行多次測量,保存測量結果之后,傳感器恢復到休眠模式。
BME280 上的規格書詳細解釋了工作模式、串行通信和訪問測量結果寄存器的方法。另外,本文檔還專門針對不同應用使用案例推薦了一些傳感器設置配置文件,應用領域從天氣監測到游戲,一應俱全。這些設置配置文檔讓各種不同應用的功率節省、采樣率、噪聲過濾和數據輸出率各方面達到了最佳平衡狀態。
對于希望基于 BME280 進行原型設計的工程師,建議嘗試 Adafruit BME280 傳感器分線板,如圖 6 所示。
圖 6: Adafruit BME280 結合式傳感器分線板
Adafruit 提供詳細的傳感器使用指南,點擊此處即可下載。使用指南包括連接 Arduino UNO 或兼容性單板計算機的方法,另外還提供 Arduino BME280 庫(從 Adafruit GitHub 存儲庫獲取)的鏈接。圖 7 顯示 BME280 測試草圖(由庫提供)代碼片段。圖片上方重點介紹將 SPI 引腳連接分配到 Arduino 的方法,而圖片下方突出顯示使用庫讀取數值的簡單之處。
圖 7: Adafruit BME280 測試草圖代碼片段。
差壓傳感器是燃氣鍋爐、燃料電池和 HVAC 系統等眾多工業應用中另一種常見的傳感器類型。以 Sensirion SDP8xx 系列為例,這款傳感器專門用于測量大容量應用的空氣或非腐蝕性氣體的壓力。SDP810 傳感器是一款數字差壓傳感器,可以測量 +/- 500 Pa 范圍內的氣壓,精度高達 0.1 Pa。通過 I2C 接口實現與主 MCU 的通信。圖 8 為功能框圖和傳感器圖片。
圖 8: Sensirion SDP810 框圖和圖片。
差壓傳感器可用于測量氣體流速,如圖 9 所示。在此示例中,旁路氣流用于計算通過主要通道或管道的氣流。報告測量結果時可使用容積流量 (l/min) 或質量流量(每分鐘標準立方厘米)。其中后者通常用于加熱應用中,基準點為特定溫度和氣壓。
圖 9: 使用差壓傳感器進行流量測量
和 BME280 傳感器一樣,SDP810 可以在觸發或持續運轉的模式下工作。在 I2C 總線構建命令序列過程中,可使用簡單協議。我們還提供了 SDP810 傳感器的 SDP816 版本,該版本可實現模擬輸出。模擬輸出可以配置為與差壓呈線性關系,或者平方根轉換。
結論
本文僅涉及到一小部分用于各種工業應用的傳感器模塊。由于無需應對分立方案存在的挑戰,使用數字傳感器模塊進行設計可以為開發團隊節省大量的時間和精力。
-
傳感器
+關注
關注
2565文章
52987瀏覽量
767302 -
物聯網
+關注
關注
2930文章
46236瀏覽量
392336 -
模數轉換器
+關注
關注
26文章
3359瀏覽量
128260
發布評論請先 登錄
評論