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

智慧路燈的環(huán)境監(jiān)測(cè)功能如何實(shí)現(xiàn)?
離子色譜技術(shù)及其在環(huán)境監(jiān)測(cè)中的應(yīng)用

基于STM32設(shè)計(jì)的倉(cāng)庫(kù)環(huán)境監(jiān)測(cè)與預(yù)警系統(tǒng)

基于SX1281芯片的醫(yī)療環(huán)境監(jiān)測(cè)方案
電位在環(huán)境監(jiān)測(cè)中的應(yīng)用案例
倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)物聯(lián)網(wǎng)系統(tǒng)方案
微型氣象環(huán)境監(jiān)測(cè)站組成與應(yīng)用
如何用LORA模塊進(jìn)行環(huán)境監(jiān)測(cè)
農(nóng)田生態(tài)守護(hù)者:智慧農(nóng)業(yè)物聯(lián)網(wǎng)環(huán)境監(jiān)測(cè)與數(shù)據(jù)采集系統(tǒng)亮相

環(huán)境監(jiān)測(cè)傳感器怎么安裝的
在環(huán)境監(jiān)測(cè)系統(tǒng)中一般不常用到的傳感器類型
無(wú)線終端ZWS云應(yīng)用(二)—DTU 云的環(huán)境監(jiān)測(cè)行業(yè)應(yīng)用

評(píng)論