步驟1:電池操作無線傳感器設計
434-MHz無線遙控器的設計使用以下部件:
Sensirion SHT31-D - 溫度和濕度傳感器分線板
Sparkfun 434-MHz RF鏈路發送器
10K歐姆電阻器
早期設計決策之一是避免需要穩壓3.3V或5V的器件,以及選擇在寬電壓范圍內工作的器件。這消除了對電池操作設計中的電源浪費的電壓調節器的需要,并且延長了傳感器的工作壽命,因為隨著電池電壓隨時間下降它們將繼續運行更長時間。所選部件的工作電壓范圍如下:
ATtiny85:2.7V至5.5V
SHT31-D:2.4V至5.5V
RF Link Tx:1.5V至12V
允許一定的余量,434-MHz無線遙控器應在功能上運行至3V的電池電壓。如前所述,隨著電池電壓降低,發射功率降低,可以保持RF鏈路可靠性保持良好狀態。
決定使用3節AA電池提供標稱啟動電壓4.5V運行16個月后,測得的最低電池電壓為4.36V。
ATtiny85看門狗定時器(WDT)用于使434-MHz無線遙控器在大多數時間內處于休眠模式。每隔8秒WDT就會喚醒ATtiny85以增加一個10分鐘的計數器;在達到10分鐘的時間間隔后,進行測量并傳輸數據包。
為了進一步降低功耗,SHT31-D和RF鏈路發送器由數字I/O端口引腳供電。 ATtiny85配置為輸出。當I/O引腳被驅動為高電平(1)時會產生電源,當I/O引腳被驅動為低電平(0)時會被移除。通過軟件,只需每隔10分鐘對這些外圍設備供電,持續1-2秒,同時進行測量和傳輸。有關相關軟件的說明,請參閱434-MHz無線遠程軟件。
434-MHz無線遙控器中使用的唯一其他組件是10K歐姆電阻,用于上拉ATtiny85上的復位引腳。
早期的設計在電池上使用了一個電阻分壓器,使ATTINY85上的ADC引腳能夠測量電池電壓。雖然很小,但這個分壓器對電池施加恒定負載。一些研究發現了使用ATtiny85內部1.1V帶隙參考電壓來測量Vcc(電池電壓)的技巧。通過將ADC參考電壓設置為Vcc并測量內部1.1V參考電壓,可以求解Vcc。只要Vcc》 3V,ATtiny85內部1.1V基準電壓就是恒定的。有關相關軟件的說明,請參閱434-MHz無線遠程軟件。
ATtiny85和SHT31-D之間的通信是通過I2C總線實現的。 Adafruit SHT31-D分線板包括用于I2C總線的上拉電阻。
ATtiny85和RF鏈路發送器之間的通信是通過配置為輸出的數字I/O引腳實現的。 RadioHead Packet Radio庫RH_ASK通過此數字I/O引腳用于RF鏈路發送器的開關鍵(OOK/ASK)。
步驟2:434-MHz無線遠程硬件
零件清單:
1 x Adafruit 1/4尺寸面包板,Digikey PN 1528-1101- ND
1 x電池座3 x AA電池,Digikey PN BC3AAW-ND
1 x Adafruit Sensiron SHT31-D分線板,Digikey PN 1528-1540-ND
1 x Sparkfun RF鏈路發送器(434-MHz),Digikey PN 1568-1175-ND
1 x ATtiny85微控制器,Digikey PN ATTINY85-20PU-ND
1 x 8引腳DIP插座,Digikey PN AE10011-ND
1 x 10K ohm,1/8W電阻,Digikey PN CF18JT10K0CT-ND
6.75“/17cm長18AWG漆包銅線
1 x片雙面泡棉膠帶
18“/45cm電線纏繞電線
ATtiny85使用插座,因為不支持在線編程。
SHT31-D分線板,RF Link發射器,8針DIP插座和天線導線焊接在面包板上,如上圖所示。從18AWG天線導線的1/4“處取下琺瑯焊接到面包板之前。
10K歐姆電阻器焊接在8針DIP插座的引腳1和8之間的面包板上。
繞線焊接在面包板上根據上一步驟中所示的無線遠程原理圖,在面包板的背面進行組件之間的鏈接。
電池座的正極和負極引線焊接到一組“+”和“ - ”總線分別位于面包板上。
434-MHz無線遙控器使用無線網橋和LoRa IOT網關進行測試。每次插入電池時,434-MHz無線遙控器將立即發送一個數據包,此后每隔約10分鐘發送一次數據包。從434-MHz傳感器層接收到無線數據包后,無線網橋上的綠色LED閃爍約0.5秒。如果在網關中配置了434-MHz無線遠程站號,則應通過LoRa IOT網關顯示站名,溫度和濕度。
使用編程的ATtiny85測試無線遙控器后,將一塊雙面泡棉膠帶切割成與面包板相同的尺寸,用于將完成的面包板連接到電池座上。
步驟3:434-MHz無線遙控器軟件
434-MHz無線遠程軟件附帶此步驟,評論很好。
我使用Sparkfun Tiny AVR編程器和Arduino IDE對ATtiny85微控制器進行了編程。 Sparkfun有一個關于如何設置驅動程序等的廣泛教程以及如何讓程序員使用Arduino IDE。
我在Tiny AVR Programmer中添加了一個ZIF(零插入力)套接字來制作很容易添加和刪除程序員的芯片。
步驟4:無線網橋硬件
零件清單:
1 x Arduino Uno R3,Digikey PN 1050-1024-ND
1 x Adafruit Proto Shield Arduino Stack V.R3,Digikey PN 1528-1207-ND
1 x Adafruit RFM9W LoRa無線電收發器板(915-MHz),Digikey PN 1528-1667-ND
1 x Sparkfun RF鏈路接收器(434-MHz),Digikey PN 1568-1173-ND
1 x 8針DIP插座,Digikey PN AE10011-ND
6.75“/17cm長度18AWG漆包銅線
3.25“/8.5cm長18AWG漆包銅線
24“/61cm電線纏繞電線
1 x USB電纜A/MicroB,3英尺,Adafruit PID 592
1 x 5V 1A USB端口電源,Adafruit PID 501
按照Adafruit.com上的說明組裝原型屏蔽。
按照Adafruit.com上的說明組裝RFM95W LoRa收發器板.3.25“/8.5cm長度的18AWG導線用于天線,并在從導線上剝去1/4“的琺瑯后直接焊接到收發器板上。
小心地將8針DIP插座切成兩半長度來創建兩組4針SIP插座。
如圖所示,將兩個4針SIP插座焊接到原型屏蔽罩上。這些插座將用于插入RF Link接收器,因此請確保它們位于在焊接之前,正確的孔與RF鏈路發送器匹配。
如圖所示,將RFM9W LoRa收發器板焊接到原型屏蔽。
Arduino Uno和之間建立了以下連接。使用w的RFM9W收發器板將電線纏繞在原型板的頂部:
RFM9W G0 - 》 Arduino數字I/O引腳2,RadioHead庫在此引腳上使用中斷0
RFM9W SCK - 》 Arduino ICSP接頭,引腳3
RFM9W MISO - 》 Arduino ICSP接頭,引腳1
RFM9W MOSI - 》 Arduino ICSP接頭,引腳4
RFM9W CS - 》 Arduino數字I/O引腳8
RFM9W RST - 》 Arduino數字I/O引腳9
以下連接在原型板的底部:
RFM9W VIN - 》原型板5V總線
RFM9W GND - 》原型板接地(GND)總線
RF Link Rx引腳1(GND) - 》原型板接地(GND)總線
RF Link Rx引腳2(數據輸出) - 》 Arduino數字I/O引腳6
RF Link Rx引腳2(Vcc) - 》原型開發板5V總線
原型板綠色LED - 》 Arduino數字I/O引腳7
引腳信息RF鏈路接收器可在www.sparkfun.com上獲得。
從6.75“長度的18AWG電線的1/4‘剝去琺瑯質,并將其插入緊鄰RF Link Rx Pin的原型板孔中8(天線)。一旦插入孔中,將剝離的末端彎曲,使其與RF Link Rx引腳8接觸并將其焊接到位。
使用下一個提供的草圖編程Arduino Uno重置或上電后,綠色LED將閃爍兩次0.5秒。從434-MHz傳感器層接收到無線數據包后,綠色LED閃爍約0.5秒。
-
傳感器
+關注
關注
2564文章
52753瀏覽量
765076 -
監測系統
+關注
關注
8文章
2865瀏覽量
82378
發布評論請先 登錄
如何在米爾-STM32MP257開發板上實現環境監測系統

智慧路燈的環境監測功能如何實現?
離子色譜技術及其在環境監測中的應用

基于STM32設計的倉庫環境監測與預警系統

基于SX1281芯片的醫療環境監測方案
電位在環境監測中的應用案例
倉儲環境監測物聯網系統方案
微型氣象環境監測站組成與應用
如何用LORA模塊進行環境監測
農田生態守護者:智慧農業物聯網環境監測與數據采集系統亮相

環境監測傳感器怎么安裝的
在環境監測系統中一般不常用到的傳感器類型
無線終端ZWS云應用(二)—DTU 云的環境監測行業應用

評論