我們所居住的嵌入式世界是由數千種不同的MCU和CPU共同開發的。為了支持數據和信息的自由流動,許多數據和信息是相互聯系的,而且通常都是無這種數據交換提供了更方便和更安全的生活方式。 Digi-Key氣象中心說明了如何連接各種MCU以便與手持智能手機進行無線通信。氣象中心是一個太陽能供電的多節點項目,各種MCU和傳感器通過無線網絡連接在一起。這些聯網節點提供了天氣狀況和太陽能電池板陣列功率輸出的快照,為主要氣象中心的電力總線供電。
PIC24FJ192GA110 MCU實現
PIC24FJ192GA110 MCU用作天氣節點,可以從各個傳感器返回溫度,濕度和Lux(光通量密度)的無線讀數。該節點還通過使用高阻分壓器和電壓跟隨器監控其自身電壓。這些模擬信號通過片內ADC以十六進制平均值讀取。人機界面通過密封的觸覺按鈕開關和LCD屏幕使用更改通知(CN)中斷,以使用當前傳感器數據更新本地用戶。
該節點的平均電流消耗僅為9.25 mA,在設計時考慮了低功耗和無線連接。該系統以57,600波特率運行,使用PIC的UART2端口作為與直通模式下XBee Pro單元(XBP24-BWIT-004-ND)串行通信的方式。這允許即插即用連接,就像PIC的UART端口在硬線上物理連接一樣。
大多數情況下,PIC MCU實際上處于低功耗狀態。系統通過兩個事件之一喚醒和更新;通過按下按鈕的用戶交互或來自網關的系統請求將強制系統喚醒和更新。如果發生按鈕按下事件,則觸發改變通知中斷,并且相應的處理程序設置用于改變程序流程并在LCD屏幕上更新天氣數據的標志。 LCD屏幕驅動程序通過并行主端口接收數據。這允許用戶選擇顯示哪個讀數。如果網關通過XBee Pro設備上的引腳聲明請求,則系統喚醒,讀入輸入并在返回休眠之前發送適當的數據。程序流程如下圖1所示。使用V-Infinity 500 mA DC-DC轉換器(102-1709-ND)有效地將太陽能充電鉛酸電池的電源電壓與PIC和其他節點的外設。該穩壓器允許32 V輸入,并提供低紋波輸出,效率高達96%。
圖1:程序流程。
外圍設備,傳感器和硬件
并行主端口用于更新Newhaven顯示器(NHD-0208AZ-RN-YBW-3V-ND)。選擇此顯示器的原因是其占地面積小,兼容的電源電壓和可用性。
對于Lux傳感,由于其溫度穩定性和近似人眼光譜響應,使用了Microsemi Lux傳感器(LX1971IDU-ND)。這意味著傳感器輸入(Lux)和輸出(電壓)之間的關系導致平方根傳遞函數。這允許通過使用分支語句進行分段轉換以確定輸出是否位于傳遞函數的彎曲部分或線性部分上。找到曲線的正確部分后,計算輸出。對于日光條件,大部分輸出是線性的。因此,針對大多數環境光測量計算快速線性縮放。
對于濕度測量,使用霍尼韋爾HIH-5031濕度傳感器(480-3284-1-ND)。選擇該傳感器是因為它具有0到100%的相對濕度操作范圍,具有+/- 3%的低滯后。為了獲得更好的精度,可以通過考慮溫度和電源電壓測量來補償溫度和電壓的變化。這兩種測量均可用于計算更精確的濕度讀數。
使用Microchip(TC1047AVNBCT-ND)溫度傳感器測量溫度。該傳感器采用低至35μA的電源電流工作,并呈現線性響應,從而降低了處理器的計算負荷。如上所述,溫度傳感器還用于在計算相對濕度時補償溫度的變化。
PIC24FJ192GA110天氣節點的電路如下圖2和圖3所示。
圖2:傳感器和開關電路。
圖3:電源輸入和外設電路。
設計挑戰
高電阻分壓器減少了電源電流流出量(如圖3所示),它還會導致PIC的ADC阻抗不匹配,導致讀數不準確。對于從任何電壓源到ADC的最大輸入阻抗,PIC的數據表建議不要超過2.5KΩ。分頻器產生的近似輸出阻抗為388KΩ。通過使用Microchip高精度運算放大器(MCP6031T-E/OTTR-ND)緩沖分壓器的輸出來解決這種阻抗失配問題。由于其低成本和低靜態電流消耗0.9μA,這款特殊運算放大器是此應用的理想選擇。事實證明,這是整個系統功耗的一個小因素。
由于MCU大多數時間都處于休眠狀態,因此需要雙速啟動以及從XBee觸發的引腳更改(RD1)中斷,以確保在網關請求時立即將UART傳輸到XBee模塊。在雙速啟動模式下,MCU使用快速RC(FRC)振蕩器從睡眠模式喚醒,頻率為8 MHz +/- 2%,典型啟動時間為15μs。這允許從8 MHz內部FRC振蕩器開始從睡眠中快速,低功耗喚醒,并且一旦PLL鎖定,最終切換到32 MHz的外部晶體振蕩器。 PLL本身通常需要2 ms才能鎖定。
NEMA認證的外殼(377-1459-ND)和C& K密封的IP67級觸覺按鈕開關(CKN10004-ND)用于準備惡劣天氣的裝置。 C& K開關是單刀單擲常開觸覺開關。對于引腳更改通知中斷,引腳被拉高并通過使用并聯電容器反彈至地。這確保了通過避免觸覺開關中固有的機械顫動,開關致動將僅被讀取一次。密封外殼(蓋子已移除)和電路板布局如下圖5所示。
圖4:密封外殼。
展示了將各種組件無線連接為子系統(或MCU節點)以支持完成更大任務的便利性。每個子系統在檢測天氣特征變化方面起著很小的支持作用。這個過程很好地轉化為許多其他應用,其中子系統在網狀網絡上無線通信是很重要的。
-
傳感器
+關注
關注
2554文章
51582瀏覽量
757799 -
mcu
+關注
關注
146文章
17401瀏覽量
353260 -
無線網絡
+關注
關注
6文章
1444瀏覽量
66182
發布評論請先 登錄
相關推薦
野外無人自動氣象站聯網方案
如何使用樹莓派制作小氣象站
你知道生活中的“氣象員”嗎?請隨我來了解一下-小型氣象站
DIY一個基于ESP8266的wifi氣象站
使用ESP8266和ST7735 TFT顯示屏設計氣象站
怎樣對自動氣象站的傳感器進行維護保養?
氣象站是什么,氣象站的作用是怎樣的
一文了解什么是小型氣象站?和自動氣象站一樣嗎?

基于Arduino的無線氣象站
如何將MKR FOX 1200和I2C傳感器變成電池供電氣象站

評論