董桂菊,劉斯達,陳海霞,呂信超,馮 江
(東北農業大學 電氣與信息學院,哈爾濱 150030)
我國是一個人口大國,隨著人民生活水平的提高,對動物性食品的需求增加,推動了我國養殖業的發展。改革開放以來,我國養殖業生產規模不斷擴大,畜產品總量大幅增加,使得養殖業生產方式發生積極轉變。倘若繼續沿用人工管理養殖場的方式,已難以適應現代化養殖的需求。我國在養殖智能化設備方面起步較晚,技術與經驗仍有不足,國外許多大中型養殖場都已使用大量高度自動化與機械化結合的養殖設備,如智能化禽舍環境監測系統、智能一體化有機畜牧管理系統及畜牧自動稱重分群管理控制系統等[1]。智能化的養殖設備是今后畜牧業發展的必然趨勢和重要標志。
電子秤因其準確可靠的特點在各行業中廣為應用,早期的稱重系統基于模糊量稱重傳感器,稱重過程完全由人工控制和讀取,易受人為因素的影響,導致準確度和效率都很低。自從周祖濂提出數字稱重系統的概念以來,各種稱重系統廣泛的應用于各種行業的稱重,人們對稱重提出新的要求,自動稱重(或稱智能稱重)應運而生[2-3]。目前,我國許多養殖場在養殖過程中仍采用人工稱重的方法對牲畜進行稱重,不僅耗費大量的人力資源,而且在稱重效率及精度上都十分低下。針對上述問題,設計了一種智能化養殖裝置,以單片機為核心控制器,通過硬件搭配實現對養殖的畜牧進行身份識別、自動稱重、自動分欄等功能,不僅解放了人力資源,而且效率及精度相比于人工稱重有非常大的提高。
本文設計的羊群智能化養殖裝置,主要包括以下3個功能,即羊只稱重、自動分群及羊只身份識別。
系統開始運行后,通過稱重臺入口門的紅外識別傳感器,檢測到羊只進入稱重臺,稱重臺底部的壓力變化器開始工作,采集羊只質量,并將采集的羊只質量數據傳輸給主控制器進行后續數據處理與保存。
在稱重臺內部兩側,分別安裝射頻識別傳感器,每只羊的耳朵上都有記錄羊只身份信息的耳標。在羊只進入稱重臺稱重時,射頻識別傳感器自動讀取羊只耳標中的信息,主控制器將羊只質量數據處理后,通過射頻識別傳感器將本次測量的羊只質量數據及羊只進入的分欄信息等全部刷新到羊只的耳標中,進行保存。
用戶在系統開始工作前,通過顯示與操作單元,預先設定將羊只分群的質量參數,在LCD中將參數設定并保存;對稱重臺內的羊只進行稱重后,主控制器將測量的羊只質量與預先設定的分群參數進行比較,確定該質量的羊只應進入的分欄;通過485總線將控制信號傳輸給對應分欄的氣閥門控制器,控制對應分欄門的開關,使該質量的羊只進入相應質量的分欄,完成羊只自動分群操作。
通過傳感器和控制器之間的密切配合,裝置可以自動完成對羊只的稱重、身份識別及自動分群等操作,并將測量的羊只質量數據及羊只身份的相關信息全部顯示在LCD屏幕上,以便工作人員進行查看,同時傳感器測量的數據都會存儲到SD卡中。
整個控制系統根據功能,可以分為主控與存儲單元、稱重單元、羊只身份信息識別單元、顯示與操作單元、氣閥門控制單元及遙控單元。系統總體結構框圖如圖1所示。

圖1 系統總體結構框圖Fig.1 The system structure diagram
遙控器具有系統的最高控制權限,可以在系統運行前進行故障檢測,在運行中對系統進行控制。工作人員通過操作與顯示單元對系統進行操作,并通過LCD屏幕實時監測系統的運行狀況。羊只身份識別單元讀取羊只耳標信息及羊只質量信息;氣閥門控制單元控制裝置各個門的開關,使羊只進入相應的門;主控制器處理傳感器采集的各部分數據,控制系統按照設定的要求運行,并將測量的數據存儲到SD卡中。
穩定的電源是整個系統正常工作的前提,由于系統電路較為復雜,用到的元器件較多,會產生不同的電壓等級需要。在遙控器部分,采用12V鋰電池,通過電壓轉換電路,將電壓降為5V為控制器,為數傳模塊等器件供電,并留出充電接口。主控部分、氣閥門控制部分、羊只身份識別部分采用線性穩壓電源為控制器和液晶顯示屏供電,同樣通過電壓轉換電路,降壓后供電。在為氣閥和壓力傳感器供電時,選用開關電源進行供電。在系統各部分電路中,選用不同的轉壓穩壓芯片,將電壓進行轉換后對不同電壓等級的元器件進行供電[4]。
主控與存儲單元包括主控制器、SD存儲卡及紅外傳感器。主控制器是系統的核心控制器,負責處理系統各部分反饋的指令及各傳感器采集的數據,并且根據系統當前的運行狀況,向系統各個部分發送相應的控制指令,控制系統各部分按照要求運行。
系統運行前,工作人員通過顯示與操作單元,設定羊只分群的質量參數,保存到主控制器中;在后續羊只稱重及分群中,通過傳感器反饋的羊只質量信息,與設定的分群參數進行比較,確定羊只應進入的分欄,發送相應的控制信號給該分欄對應的氣閥門控制器,控制相應的分欄門打開,使羊只準確的進入對應重量的分欄,完成分群操作。SD卡與主控制器通過SPI總線的方式進行通信,傳感器測量的羊只質量、羊只身份信息等數據,主控制器在處理后,會保存到SD卡中。系統的主控制器選用STM32F103ZET6芯片[5-6],采用自主設計集成電路板,并對控制電路進行封裝。
氣閥門控制單元包括氣閥門控制器、電磁閥氣閥及氣缸。氣閥門控制器的芯片選用STM32F103RBT6芯片,自主設計電路板。
整個裝置共有5個門需要控制,包括稱重臺入口門、出口門及羊只分群的3個分欄門,每個門上均安裝有氣缸,通過氣缸的伸縮控制門的開關。設計時,將電磁閥氣閥分別與每個門的氣缸進行連接,并利用繼電器設計控制開關電路,通過控制繼電器的開關,達到控制電磁閥氣閥開關的目的。由于每個門均安裝了電磁閥氣閥和氣缸,為了使系統穩定運行,分別對電磁閥氣閥和氣缸配置氣閥門控制器;為了防止因為線長及電磁閥氣閥的干擾,氣閥門控制器與主控制器之間采用485通訊的方式進行連接[7]。主控制器處理完羊只質量和身份信息等數據后,將控制信號通過485總線發送給相應的氣閥門控制器,信號經過光耦隔離送到繼電器,控制與該氣閥門控制器相連接的電磁閥氣閥和氣缸動作,確保羊只進入其應進入的分欄門,保證系統穩定運行。
稱重單元由壓力變換器與濾波放大電路組成,與主控制器相連,將測量的羊只質量數據反饋給主控制器進行處理。壓力信號是稱重的重要信號,在設計中選用懸臂梁壓力傳感器測量羊只質量。在稱重臺下方四角位置,分別安裝懸臂梁壓力傳感器,通過電橋電路將懸臂梁壓力傳感器進行連接,提取出總的輸出信號[8]。在對羊只質量數據進行采樣的過程中,會夾雜著部分干擾信號,故要先對信號進行相應的硬件處理。在壓力傳感器的輸出端,設計一個綜合轉換電路,將輸出的四路電流信號進行濾波、I-U變換、差動放大和反相放大,最后對信號進行模數轉換,將轉換后的信號發送給控制器進行處理。信號處理流程如圖2所示。

圖2 信號處理流程Fig.2 Signal processing flow
羊只在稱重臺進行稱重時,由于羊只的跑動、電磁閥和分欄門開合時產生的震動,會以高頻的形式夾雜在有效信號中,所以第1步的處理是加入低通濾波電路,設計時采用二階壓控電壓源型低通濾波器,濾除振動干擾。在信號檢測電路中,會混有由于電源產生的50Hz工頻干擾,在進行低通濾波后,需要用陷波器,對工頻50Hz干擾信號進行濾除。在工頻干擾濾除后,還要對共模干擾進行處理。所謂的共模干擾,就是在輸出的正負兩端都產生的干擾,設計時采用由三極管直接搭建的差動放大電路,對共模信號進行濾除。經過上述硬件濾波電路處理后,各干擾信號已被濾除,且差動放大電路已對信號進行了一定程度的放大,但輸出的信號還遠遠不能達到被ADC采樣的程度,需要進行2~3級的放大,才能得到所需要的信號。采用儀用放大器電路,對輸出信號進行放大,在放大信號的同時能夠提高共模抑制比。
將上述濾波和放大電路,搭建在壓力傳感器的輸出端,由于羊只的體重范圍較大,在滿足稱重精度的要求下,采用芯片內部的12位A/D轉換器。由于壓力傳感器輸出的信號為電流信號,故要將濾波和放大后的信號進行I-U轉換,將電流信號轉換成芯片引腳能夠識別的電壓信號,發送給主控制器,對輸出的信號進行模數轉換。
羊只身份信息識別單元由控制器、射頻識別器及安裝在羊只耳朵上的耳標組成,控制器芯片選用STM32F103RBT6芯片,自主設計電路板。
羊只耳標中的信息包括羊只編號和質量,稱重臺內部兩側均安裝射頻識別器。羊只進入稱重臺后,壓力傳感器采集羊只質量數據,同時射頻識別器讀取羊只耳標中的信息,控制器將讀取的羊只信息通過485總線發送給主控制器;主控制器處理完數據后,通過LCD顯示屏顯示羊只編號和稱量的質量信息,并將數據傳輸到SD卡中進行存儲,以便工作人員調用;同時,最新測量的羊只質量數據會通過射頻識別器更新到羊只耳標中。
顯示與操作單元包括LCD顯示屏及用于操作的矩陣鍵盤。LCD顯示屏通過串口與主控制器進行通訊,工作人員通過此部分對系統進行操作,在整個系統運行之前,工作人員要對系統進行分群重量參數的設定。系統有3個分欄,需要設定兩個分群質量參數,通過顯示與操作單元輸入要設定的分群質量參數;主控制器對分群質量參數進行保存,在后續的羊只稱重中與測量的羊只質量進行對比,確定羊只應進入的分欄,控制系統各部分作出相應動作;主控制器在處理各傳感器采集的數據后,會在LCD顯示屏上顯示出羊只的質量、羊只編號及系統各部分的運行情況,以便工作人員查看,隨時掌握系統的工作狀態。
遙控單元包括控制器、矩陣按鍵、無線通訊模塊及鋰電池,控制器芯片選用STM32F103RBT6芯片,自主設計電路板。由于系統較為復雜,需要控制的部分較多,為了防止系統在運行過程中發生故障燈原因,設計了遙控單元。遙控器具有系統最高的控制權限,在整個系統運行前工作人員可以通過手持遙控器對系統進行檢驗,查看系統是否能正常運行。在系統運行過程中,若出現故障或運行錯誤,可以用遙控器控制系統運行狀況,排出故障和糾正錯誤。遙控器與主控制器之間,通過無線通訊模塊進行通訊,與主控制器之間時刻進行一個字節的傳輸,不同的按鍵代表不同的字節,對應著相應要執行的功能。
整個控制系統中單片機的軟件部分都是通過Keil軟件開發系統進行編譯,用C語言編寫程序后下載到單片機中進行調試[9]。系統的軟件流程如圖3所示。
整個系統開始運行前,系統內部各單元會進行初始化設定,包括各個控制器內部時鐘、串口初始化及各傳感器的初始化;初始化完成后,工作人員通過顯示與操作單元,設定羊只分群的質量參數,保存到主控制器中;整個系統開始運行,稱重臺入口門打開,處于可稱重狀態,等待羊只進入稱重臺。
當稱重臺入口門的紅外傳感器檢測到有羊只進入稱重臺后,主控制器向稱重臺入口門的氣閥門控制器發送指令,關閉稱重臺入口門,壓力傳感器開始采集羊只質量數據。由于羊只上下稱重臺時會發生跑動、顛簸等動作,壓力傳感器采集的數據并不平穩,在軟件設計中只采集信號相對平穩的中間時段信號作為有用的質量數據,且采用取均值的方法保留相對精準的測量信號;信號經過硬件電路濾波、放大、轉換等處理后,通過算法處理將采集的信號轉換成質量數據。由于壓力傳感器存在非線性度問題,導致輸入值與輸出值之間并不是一個嚴格的線性關系,在設計中采用曲線擬合法對壓力傳感器進行非線性的校正[10],擬合出壓力傳感器采集的電壓和羊只質量之間的回歸方程,將壓力傳感器采集的電壓信號,通過算法轉換成羊只質量數據。
在壓力傳感器采集羊只質量數據時,稱重臺內部兩側的射頻識別器同時開始工作,讀取羊只耳標中的信息,通過控制器將羊只信息發送給主控制器;待壓力傳感器采集完羊只重量數據后,通過射頻識別器在將本次測量的羊只質量數據更新到羊只的耳標中。
在羊只稱重和羊只身份信息讀取操作完成后,主控制器將測量的羊只質量數據,與預先設定的羊只分群參數進行對比,確定出該羊只應進入的分欄,并發送控制信號給該分欄對應的氣閥門控制器及稱重臺出口門的氣閥門控制器;控制稱重臺出口門和羊只應進入的分欄門打開,通過該分欄門上安裝的紅外傳感器確認羊只是否離開稱重臺進入相應分欄。
主控制器在處理傳感器采集的信號時,會將測量的羊只質量、羊只身份信息及羊只進入的分欄等相關信息顯示到LCD顯示屏上,以便工作人員查看。
為了檢驗裝置的功能性及系統的準確性,將控制系統連接后進行試驗,試驗前先用較為精準的電子秤提前稱量羊群中每只羊的質量,做為羊只的實際質量,與裝置稱量的羊只質量進行對比,判斷裝置稱重和羊只分群的準確性。系統運行前,設定羊只分群的質量參數,因本次試驗羊只較多,質量范圍大,設定的羊只分群參數分別為40kg和60kg。由于羊只較多,提取部分數據作為參考驗證本次試驗,將測量的數據與實際數據進行對比,如圖4所示。

圖4 稱量質量與實際質量對比圖Fig.4 Comparison of weight and actual weight
表1為部分試驗數據。

表1 實驗數據匯總Table 1 Experimental data aggregation
通過試驗分析可知:裝置稱量的羊只質量與羊只的實際質量基本一致,稱量后根據羊只質量將羊只分群準確,驗證了裝置中控制系統運行的穩定性及裝置稱重部分和分群部分的準確性。
設計并實現了一種以單片機為控制器核心對養殖的羊只進行自動稱重并根據稱量的質量實行分群管理的智能化養殖裝置。所設計的控制系統安全可靠,裝置運行穩定。與傳統的人工稱重相比,極大地提高了稱重效率,降低了人工的勞動強度,因此自動稱重等智能化養殖裝置有著廣闊的發展與應用前景。本裝置中的控制系統作為養殖業中自動稱重與分群設備的研究,證明了自動稱重與分群設備的可行性,為后續相似的智能化養殖裝置的研究提供了借鑒與參考。