王海燕
摘 要:為了很好的掌握禽舍內(nèi)的氨氣濃度變化,提高養(yǎng)殖業(yè)的產(chǎn)量,系統(tǒng)采用ATmega16(L)單片機(jī)為核心,由Cyber-TX氨氣濃度傳感器組成的氨氣濃度數(shù)據(jù)采集電路、LCD顯示電路、報(bào)警電路、鍵盤電路等功能模塊組成設(shè)計(jì)了一種氨氣濃度智能監(jiān)測系統(tǒng)。首先介紹了監(jiān)測系統(tǒng)的功能和結(jié)構(gòu)框圖,隨后闡述了其硬件和軟件的設(shè)計(jì)與實(shí)現(xiàn)。實(shí)驗(yàn)證明,本系統(tǒng)對禽舍內(nèi)的氨氣濃度能進(jìn)行很好的監(jiān)測,且具有簡單、低功耗、低成本、高可靠性、易于實(shí)現(xiàn)和維護(hù)的優(yōu)點(diǎn),具有很好地推廣及應(yīng)用前景。本系統(tǒng)對氨氣濃度采集、LCD顯示電路進(jìn)行了重點(diǎn)設(shè)計(jì)。LCD液晶顯示已經(jīng)是人機(jī)界面的關(guān)鍵技術(shù)。同傳統(tǒng)的LED顯示屏不同的是,它可以存儲(chǔ)大量的文字信息,通過內(nèi)置微處理器控制文字、字體的顯示方式,定時(shí)顯示功能等。
關(guān)鍵詞:監(jiān)測系統(tǒng) LCD顯示 氨氣傳感器 報(bào)警電路
中圖分類號:TP216 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-9082(2018)05-0-01
一、設(shè)計(jì)背景與意義
氨氣是影響畜禽養(yǎng)殖的一大危害因素,禽舍內(nèi)的氨氣主要來自糞便、飼料殘?jiān)约俺睗駢|料等有機(jī)物構(gòu)成的厭氧成分。隨著畜牧生產(chǎn)規(guī)?;?、集約化程度的不斷提高,畜禽及其廢棄物所產(chǎn)生的氨氣日趨增多,它不但影響了人類正常的生產(chǎn)和生活,而且危害畜禽的健康,降低生產(chǎn)性能。尤其在秋冬季節(jié),通風(fēng)量下降,舍內(nèi)氨氣含量直線上升,嚴(yán)重危害畜禽的生長和生產(chǎn)。給養(yǎng)禽業(yè)造成嚴(yán)重的經(jīng)濟(jì)損失。
本課題針對禽舍缺乏氨氣濃度自動(dòng)監(jiān)測的實(shí)際問題,提出氨氣濃度智能監(jiān)測儀設(shè)計(jì)任務(wù),對禽舍內(nèi)各監(jiān)測點(diǎn)的氨氣濃度進(jìn)行實(shí)時(shí)監(jiān)控,當(dāng)氨氣濃度高于報(bào)警閾值時(shí),發(fā)出聲光報(bào)警信號并啟動(dòng)通風(fēng)凈化設(shè)備,以迅速降低禽舍內(nèi)的氨氣濃度,避免造成家禽和飼養(yǎng)人員受到危害。其意義非常重大。
二、氨氣濃度監(jiān)測儀組成
氨氣濃度監(jiān)測儀屬于智能化監(jiān)測儀器,以單片機(jī)為核心,主要包括氨氣濃度檢測單元(氨氣濃度智能傳感器Cyber-TX)、鍵盤電路、LCD顯示器、報(bào)警電路、控制功能擴(kuò)展電路和電源電路等部分構(gòu)成。
1.單片機(jī)系統(tǒng)設(shè)計(jì)
單片機(jī)是整個(gè)設(shè)計(jì)系統(tǒng)的核心部件,它直接影響整機(jī)的硬件和軟件設(shè)計(jì)。它對系統(tǒng)的功能以及研制周期起決定性作用。一般兼有數(shù)據(jù)處理任務(wù)的控制類智能儀表,大多采用數(shù)據(jù)處理型的單片機(jī)。
ATmega系列單片機(jī)是ATmel公司推出的基于AVR增強(qiáng)型RISC結(jié)構(gòu)新型高檔單片機(jī)。它采用的單時(shí)鐘周期指令,其數(shù)據(jù)吞吐率可達(dá)1MIPS/MHz, 從而可以緩減系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16(L)作為ATmega系列中的一員,支持16MHz(8MHz)的時(shí)鐘頻率,有l(wèi)6KB的系統(tǒng)內(nèi)可編程FLASH程序存儲(chǔ)器(具有同時(shí)讀寫的能力,即RWW),lK+32字節(jié)的RAM(包括32個(gè)8位通用工作寄存器),512字節(jié)的EEPROM和一個(gè)10位的逐次逼近型ADC,三個(gè)具有比較模式的靈活的定時(shí)器,計(jì)數(shù)器(T/C)可編程串行接口;除此之外,ATmega16L還支持與IEEE 1149.1標(biāo)準(zhǔn)相兼容的AVR JTAG接口,能實(shí)現(xiàn)邊界掃描功能測試PCB,對非易失性存儲(chǔ)器、熔絲位和鎖定位進(jìn)行編程和片上調(diào)試OCD等。
基于如此強(qiáng)大的功能,本設(shè)計(jì)選用了ATmega16L單片機(jī)作為本設(shè)計(jì)系統(tǒng)的核心處理器。
2.基于OCMJ4X8C的顯示電路設(shè)計(jì)
方案一:使用LED進(jìn)行顯示,多個(gè)數(shù)碼管分別實(shí)現(xiàn)不同的氨氣濃度等值,數(shù)碼管具有控制簡單,軟件編程量少,但硬件電路較復(fù)雜,只能顯示幾種符號,將無法顯示完美的氨氣濃度界面,系統(tǒng)變動(dòng)時(shí)將比較困難,所以不使用該方案。
方案二:使用字符點(diǎn)陣系列OCMJ4X8C液晶顯示器對氨氣濃度實(shí)時(shí)進(jìn)行顯示、滿足系統(tǒng)的要求,本設(shè)計(jì)采用此方案。
3.鍵盤電路設(shè)計(jì)
氨氣濃度智能監(jiān)測系統(tǒng)具有手動(dòng)按鍵設(shè)定高低限的功能。主要是為了更好的監(jiān)測禽舍內(nèi)的氨氣濃度度。不同的禽舍內(nèi)不同季節(jié)對氨氣濃度的要求也是不一樣的。這些報(bào)警高低限都是通過鍵盤手動(dòng)設(shè)定的。在此電路中,設(shè)計(jì)了四個(gè)按鍵,它們分別為:設(shè)置鍵、增加鍵、減小鍵、復(fù)位鍵。
4.報(bào)警電路設(shè)計(jì)
禽舍內(nèi)氨氣濃度監(jiān)測系統(tǒng)報(bào)警電路采用聲光報(bào)警。當(dāng)被測氨氣濃度超出限定范圍時(shí)就會(huì)立即報(bào)警。此電路是由一個(gè)發(fā)光二極管、一個(gè)三極管、二個(gè)電阻和一個(gè)蜂鳴器組成的。
5.控制功能擴(kuò)展
禽舍氨氣濃度監(jiān)測系統(tǒng)的設(shè)計(jì)中在監(jiān)測的基礎(chǔ)上加了報(bào)警以后的自動(dòng)控制處理功能。控制電路由固態(tài)繼電器、直流電機(jī)、風(fēng)扇、三極管和電阻等組成。
三、氨氣濃度監(jiān)測儀軟件設(shè)計(jì)
本監(jiān)測儀以ATmega16L單片機(jī)為核心,用以C語言進(jìn)行編程,在ICCAVR軟件環(huán)境下運(yùn)行。程序設(shè)計(jì)結(jié)構(gòu)主要分為主程序和功能模塊,其中功能模塊包括數(shù)據(jù)處理、數(shù)值處理、按鍵顯示和鍵盤等模塊。
當(dāng)程序開始運(yùn)行時(shí),首先,給中斷、氨氣濃度報(bào)警值等設(shè)定值初始化。第二步,進(jìn)入數(shù)據(jù)采集環(huán)節(jié),本程序執(zhí)行的是四路循環(huán)采集,并按公式計(jì)算轉(zhuǎn)換成氨氣濃度值送到顯示子程序中通過液晶顯示屏顯示它們當(dāng)前值。第三步,采集的數(shù)據(jù)還會(huì)與報(bào)警子程序中設(shè)定的值相比較。如果大于氨氣濃度的第一個(gè)報(bào)警值或大于氨氣濃度的第二個(gè)報(bào)警值時(shí)報(bào)警,無報(bào)警則返回主程序繼續(xù)采集數(shù)據(jù)。一旦報(bào)警就進(jìn)入控制輸出子程序作出相應(yīng)的處理措施。如:啟動(dòng)一個(gè)換氣風(fēng)機(jī)或啟動(dòng)三個(gè)換氣風(fēng)機(jī),使禽舍內(nèi)的氨氣濃度恢復(fù)到設(shè)定的范圍內(nèi)。
四、氨氣濃度監(jiān)測儀制作與調(diào)試
1.氨氣濃度監(jiān)測儀的制作
在設(shè)計(jì)過程中,單片機(jī)和傳感器是核心部分,其設(shè)計(jì)和制作的水平直接影響整個(gè)系統(tǒng)的工作情況,在單片機(jī)的設(shè)計(jì)中人機(jī)交互的主要通過鍵盤和顯示。氨氣濃度數(shù)據(jù)采集過程也是本設(shè)計(jì)采集過程的核心,我針對傳感器進(jìn)行了多次程序檢測和硬件連接的檢查,以確保系統(tǒng)工作的可靠性基本實(shí)現(xiàn)了氨氣濃度實(shí)時(shí)顯示的要求。
2.氨氣濃度監(jiān)測儀系統(tǒng)調(diào)試
系統(tǒng)的調(diào)試分為兩部分:硬件和軟件。
硬件調(diào)試分為氨氣濃度傳感器的輸出信號檢測、ATmega16L單片機(jī)的調(diào)試。
軟件調(diào)試是本設(shè)計(jì)的主要工作。首先檢測的是數(shù)據(jù)采集程序,通過氨氣傳感器采集一個(gè)標(biāo)準(zhǔn)信號,利用ATmega16L的開發(fā)板,使采進(jìn)來的數(shù)賦予液晶顯示屏顯示,若能顯示正確的采集信號,則證明此程序可以運(yùn)行;再就是檢測數(shù)據(jù)轉(zhuǎn)換程序,當(dāng)液晶顯示為0ppm時(shí),測測傳感器輸出電壓是否為0.5V,當(dāng)液晶顯示為100ppm時(shí),測測傳感器輸出電壓是否為4V,如果一切正常,則程序可以使用。