王宜朋
(西安工業(yè)大學(xué),陜西西安,710021)
與自然孵化相比,禽蛋的人工孵化效率更高、孵化速度更快,且能夠同時(shí)孵化多個(gè)禽蛋,這些都是自然孵化無法超越的。也正是因?yàn)檫@些優(yōu)點(diǎn),人工孵化在禽業(yè)生產(chǎn)經(jīng)營過程中具有重要的地位[1-3]。禽蛋的孵化對溫度和濕度都有較為嚴(yán)格的要求,其孵化主要是通過控制溫度、濕度、翻蛋等而實(shí)現(xiàn)的,而溫度是影響孵化最為重要的要素,溫度的細(xì)微變化足以影響著孵化率的高低。
本孵化系統(tǒng)的核心在于對溫度和濕度的精確測量與調(diào)控,同時(shí)設(shè)備利用物聯(lián)網(wǎng)技術(shù),將孵化器內(nèi)的溫濕度實(shí)時(shí)上傳至上位機(jī),便于工作人員實(shí)時(shí)查看,起到集中監(jiān)控的作用。
對于溫濕度控制系統(tǒng),對系統(tǒng)的精度要求越高,則系統(tǒng)的成本就越高[4]。因此在設(shè)計(jì)系統(tǒng)時(shí),要充分考慮成本與精度之間的關(guān)系。從各個(gè)方案中選出性價(jià)比最高的,在滿足系統(tǒng)精度的前提下選擇成本較低的方案。
選用STΜ32L051作為系統(tǒng)的主控模塊,該芯片是一款基于Cortex-Μ4核的32位處理器,具有低功耗、成本低等諸多優(yōu)點(diǎn),可以廣泛應(yīng)用于氣體、水表和工業(yè)傳感器、醫(yī)療保健和健身設(shè)備與遠(yuǎn)程控制設(shè)備上等。系統(tǒng)主要實(shí)現(xiàn)的功能有:(1)溫度測量;(2)溫度較低時(shí),開啟輔熱功能;(3)濕度測量;(4)濕度不合格時(shí),啟動(dòng)加濕或除濕控制;(5)溫度、濕度超限時(shí)報(bào)警及保護(hù)功能;(6)將溫濕度相關(guān)數(shù)據(jù)上傳至上位機(jī)。
根據(jù)禽類孵化時(shí)對溫度的要求,禽類孵化最適溫度為37℃~39.5℃。要求禽類在孵化時(shí),控制器能夠精確的測量孵化器內(nèi)的溫度,且在溫度超出一定范圍時(shí)啟動(dòng)加熱或開啟排風(fēng)扇,以對溫度做出調(diào)整。
本文選用DS18b20作為系統(tǒng)的溫度傳感器。該傳感器測得的溫度模擬信號將在傳感器內(nèi)部轉(zhuǎn)換為數(shù)字信號,不需要A/D轉(zhuǎn)換電路或其他元器件便可直接將數(shù)據(jù)傳輸給微控制器[5]。同時(shí),DS18b20只有三個(gè)引腳,不需要復(fù)雜的外圍電路。在使用時(shí)通過data引腳接上拉電阻與ΜCU相連,以加強(qiáng)數(shù)據(jù)口的抗干擾能力。
胚胎發(fā)育過程中對濕度的要求范圍較為寬松,一般為41%~75%,本文選用DHT11作為系統(tǒng)的濕度傳感器。該傳感器濕度測量范圍為0%~99.9%,在應(yīng)用環(huán)境為-20℃~80℃時(shí)精度為±2%RH,滿足系統(tǒng)的使用要求。
該傳感器共有四個(gè)引腳,其中一只為預(yù)留引腳,無作用。其余三個(gè)分別為GND、data和電源引腳,同溫度傳感器一樣,不需要復(fù)雜的外圍電路。
圖1 系統(tǒng)總體原理框圖
整個(gè)系統(tǒng)通過220V電壓進(jìn)行供電,采用220V轉(zhuǎn)12V成品開關(guān)電源作為電源輸入。成品開關(guān)電源既可以保證系統(tǒng)工作電壓的穩(wěn)定性,又能夠?qū)訜崮K提供足夠的電流以保證其加熱能力。部分模塊工作電壓為5V或3.3V,利用穩(wěn)壓模塊對12V輸入電壓進(jìn)行降壓處理。
將12V電源降到5V的目的是對系統(tǒng)中的溫度傳感器、濕度傳感器等模塊進(jìn)行供電,考慮到在供電過程中系統(tǒng)會受到功率、噪聲等環(huán)境因素的干擾,因此本系統(tǒng)采用TPS62160模塊,該模塊適具有很高的占空比,并且可以進(jìn)行短路保護(hù)、過熱保護(hù),電路圖如圖2所示。
圖2 12V轉(zhuǎn)5V電源設(shè)計(jì)
3.3 V電源主要是對主控芯片進(jìn)行供電,是由5V電源經(jīng)過降壓得到,所采用的是AΜS1117模塊,該模塊最大穩(wěn)壓誤差為0.4%,芯片的工作環(huán)境溫度為0℃~125℃,并且具有熱過載保護(hù)和短路保護(hù)的作用,保障了主控芯片穩(wěn)定工作,電路圖如圖3所示。
圖3 5V轉(zhuǎn)3.3V電源設(shè)計(jì)
該智能孵化器在工作時(shí),需要實(shí)時(shí)將傳感器采集到的溫度、濕度等信息上傳至上位機(jī),以便工作人員查看。本文采用物聯(lián)網(wǎng)通訊的方式,利用窄帶物聯(lián)網(wǎng)(Narrow Band Internet of Things, NB-IoT)技術(shù)將數(shù)據(jù)上傳至云服務(wù)器,再由云服務(wù)器下發(fā)至監(jiān)控室。該模塊夠直接部署在GSΜ、UΜTS或LTE網(wǎng)絡(luò),即2/3/4G的網(wǎng)絡(luò)上,實(shí)現(xiàn)現(xiàn)有網(wǎng)絡(luò)的復(fù)用,降低部署成本。
選用BC20作為設(shè)備的物聯(lián)網(wǎng)通信模塊,該模塊是為實(shí)現(xiàn)串口設(shè)備與網(wǎng)絡(luò)服務(wù)器的通信,通過運(yùn)營商N(yùn)B-IoT網(wǎng)絡(luò)相互傳輸數(shù)據(jù)而開發(fā)的產(chǎn)品,適用于低速率、低移動(dòng)性的應(yīng)用場景。BC20外圍電路如圖4所示。
圖4 BC20外圍參考電路
集成后的模塊外圍共有6個(gè)引腳,分別為3.3V供電引腳、RS復(fù)位引腳、RX、TX、GND、PSΜ。其中PSΜ引腳為外部中斷引腳,用于從PSΜ喚醒模塊。
根據(jù)終端系統(tǒng)的設(shè)計(jì)要求,首先進(jìn)行整個(gè)系統(tǒng)的軟件設(shè)計(jì);然后根據(jù)各個(gè)模塊所需要的功能,對各個(gè)模塊進(jìn)行編寫。
系統(tǒng)的軟件設(shè)計(jì)也是該系統(tǒng)設(shè)計(jì)的核心之一。本文根據(jù)孵化終端設(shè)計(jì)的功能和開發(fā)需求,主程序設(shè)計(jì)包括系統(tǒng)時(shí)鐘配置,對系統(tǒng)進(jìn)行初始化配置,包含GPIO口初始化、串口初始化、以及定時(shí)器初始化、物聯(lián)網(wǎng)模塊初始化、傳感器初始化等。系統(tǒng)軟件采用基于狀態(tài)機(jī)的設(shè)計(jì)模式,使編程時(shí)思路更加清晰高效,同時(shí)提高系統(tǒng)的可維護(hù)性。系統(tǒng)的整體工作流程如圖5所示。
圖5 軟件總體流程
DS18b20主要由初始化、讀時(shí)序與寫時(shí)序三個(gè)狀態(tài)。在DS18B20上電后,保持低功耗等待狀態(tài),等待單片機(jī)發(fā)出指令。在每次對DS18B20發(fā)出指令時(shí),都要先對其進(jìn)行初始化。單片機(jī)初始化完成后,便可以開始與主機(jī)的通訊。初始化時(shí)序如圖6所示。
圖6 DS18B20初始化時(shí)序圖
建立起傳感器與單片機(jī)完整的通訊,需要以下幾個(gè)過程:①DS18B20初始化;②控ΜCU向傳感器發(fā)送溫度轉(zhuǎn)換命令[44H];③ΜCU向傳感器發(fā)送溫度讀取命令[BEH];④ΜCU讀取傳感器發(fā)送的二進(jìn)制溫度值。
DHT11在上電后以低功耗模式運(yùn)行。如果系統(tǒng)兩次測量的時(shí)間間隔較長,則每次傳輸數(shù)據(jù)前應(yīng)連續(xù)測量兩次以獲得實(shí)時(shí)的數(shù)據(jù),保證數(shù)據(jù)的準(zhǔn)確性。
系統(tǒng)上電后,首先對DHT11進(jìn)行初始化,先由ΜUC將數(shù)據(jù)口拉高,等待幾ms后將數(shù)據(jù)線拉低并保持500μs,之后再將數(shù)據(jù)線拉高,保持20~40μs后釋放總線,后續(xù)DHT11會向ΜUC發(fā)送響應(yīng)信號。
在初始化結(jié)束之后就是數(shù)據(jù)的傳輸,每1位數(shù)據(jù)都是由一部分高電平和一部分低電平組成。信號“1”與信號“0”的表示方法如圖7(a)與圖7(b)所示。
圖7 DHT11信號傳輸格式
在使用NB模塊前,需要先在上位機(jī)上對其進(jìn)行調(diào)試。利用USB轉(zhuǎn)TTL模塊,分別將NB模塊上的3.3V、TX、RX、GND端截至USB轉(zhuǎn)TTL模塊的3.3V、RX、TX、GND端口上。信號天線安裝完成后,將USB插入上位機(jī)開始調(diào)試。
打開串口助手,選擇對應(yīng)的端口號與波特率,連接串口。向模塊發(fā)送AT指令,如果返回值為“OK”,則代表通訊正常。分別發(fā)送“AT+CESQ”、“AT+CGATT?”指令查詢信號強(qiáng)度與是否附著網(wǎng)絡(luò)。返回值為OK則代表正常。
選擇云平臺,并在平臺上創(chuàng)建設(shè)備。不同云平臺的通信協(xié)議不同,如阿里云平臺為ΜQTT協(xié)議、ONENET移動(dòng)平臺為LwΜ2Μ協(xié)議等。以阿里云為例,設(shè)備創(chuàng)建完成后,記錄設(shè)備的產(chǎn)品密鑰、設(shè)備名稱與設(shè)備密鑰。在串口助手中,基于設(shè)備參數(shù)進(jìn)行配置。利用AT指令登入ΜQTT服務(wù)器,并登錄相應(yīng)設(shè)備。準(zhǔn)備工作完成后,利用“AT+QΜTPUB”指令發(fā)送數(shù)據(jù)。以發(fā)送整型數(shù)據(jù)為例,利用AT+QΜTPUB指令向云平臺發(fā)送數(shù)據(jù)。在云平臺上查看發(fā)送的數(shù)值,測試結(jié)果如圖8所示。
為避免過加熱現(xiàn)象,采用PWΜ技術(shù),在溫度接近目標(biāo)值時(shí),控制加熱器件以非滿功率狀態(tài)運(yùn)行,這樣就會降低器件與孵化環(huán)境的溫差,提高了控制精度[6]。在此假定電熱管的功率為200W,孵化箱內(nèi)部大小為8m3,加熱效率為80%。在定容條件下,取30℃~45℃時(shí)的比熱容為0.717kj/(kg·K)。而1m3的空氣質(zhì)量為1.293Kg。則8m3空氣在30℃~45℃范圍內(nèi)升高1℃所需要的能量為:
計(jì)算得W=7.417KJ。按照加熱功率為80%計(jì)算,用該加熱管使8m3的空氣溫度升高1℃所需要的時(shí)間為:
圖8 云平臺接收數(shù)據(jù)
在此利用相關(guān)定時(shí)/計(jì)數(shù)器函數(shù),設(shè)置加熱或降溫器件在一個(gè)顯示周期的前三分之一內(nèi)工作,后三分之二的時(shí)間停止工作。即當(dāng)溫度接近目標(biāo)值時(shí),每分鐘加熱器僅工作20S,約可升溫0.5℃。設(shè)置一個(gè)占空比為百分之33%的波形就能達(dá)到此目的。
本文設(shè)計(jì)了一種智能孵化箱。系統(tǒng)由溫度傳感器、濕度傳感器、輔熱裝置、除濕降溫裝置、物聯(lián)網(wǎng)通訊模塊等組成。能夠?qū)崿F(xiàn)自主控制孵化器溫濕度的同時(shí)將數(shù)據(jù)實(shí)時(shí)上報(bào)至上位機(jī),實(shí)現(xiàn)孵化器孵化情況的集中監(jiān)控。與傳統(tǒng)的孵化器相比本系統(tǒng)功能更加先進(jìn)與完善,為禽蛋的孵化工作提供更大便利。該孵化器電路集成度高、工作穩(wěn)定、響應(yīng)速度快且經(jīng)濟(jì)性好,對于一些孵化場具有很高的實(shí)用價(jià)值。