基于PIC單片機(jī)的自動(dòng)噴料機(jī)設(shè)計(jì)與應(yīng)用
1 引言
目前,我國(guó)人工養(yǎng)殖業(yè)發(fā)展迅速。但是養(yǎng)殖方法卻很落后,多數(shù)仍舊是采用傳統(tǒng)的人工方式投放飼料,費(fèi)時(shí)費(fèi)料、飼料投放不均、距離不遠(yuǎn),不便于定時(shí)定量地科學(xué)養(yǎng)殖。文中介紹了一種在魚塘里自動(dòng)噴料機(jī)的電路設(shè)計(jì)。經(jīng)過實(shí)踐證明。該自動(dòng)噴料機(jī)不僅能夠定時(shí)定量地噴灑飼料。而且噴料均勻,噴灑距離遠(yuǎn),能明顯節(jié)約飼料。大大提高養(yǎng)殖效益。
2 自動(dòng)噴料機(jī)的硬件設(shè)計(jì)
在漁業(yè)養(yǎng)殖中,大多數(shù)需要在早、中、晚噴灑飼料,每次噴料時(shí)間約在兩三個(gè)小時(shí)。噴飼料是按噴幾十秒、停幾十秒斷續(xù)進(jìn)行,具體一天噴飼料幾次、噴料時(shí)間長(zhǎng)度、噴停時(shí)間長(zhǎng)度,因魚的品種、飼料的品種、魚的養(yǎng)殖密度、環(huán)境氣候等因素而不同,可由用戶根據(jù)具體情況自行設(shè)定。為實(shí)現(xiàn)上述自動(dòng)控制,本設(shè)計(jì)采用以PIC單片機(jī)為核心的電路,配以電源模塊、按鍵顯示、時(shí)鐘電路、驅(qū)動(dòng)控制(包括噴料方向控制。噴料距離控制,噴料的量控制)構(gòu)成完整系統(tǒng),其結(jié)構(gòu)框圖如圖1所示。
2.1 電源模塊的設(shè)計(jì)
自動(dòng)噴料機(jī)硬件電路如圖2所示。由220 V交流電降壓后經(jīng)整流濾波后得到+24 V直流電壓,向驅(qū)動(dòng)控制電路供電;+24 V直流電經(jīng)過7805穩(wěn)壓后向按鍵顯示等電路供電;當(dāng)主電源有電時(shí),主電源向各電路供電并向備份電源(3.6 V充電電池)充電;當(dāng)主電源斷電時(shí),由備份電源向PIC單片機(jī)及時(shí)鐘電路供電,以維持正常走時(shí)和保存預(yù)設(shè)的信
息,而顯示及驅(qū)動(dòng)控制部分電路則停止工作。輸入到PIC單片機(jī)RA5口的模擬電壓經(jīng)A/D轉(zhuǎn)換。若轉(zhuǎn)換值小于154(對(duì)應(yīng)模擬值為3 V),則單片機(jī)進(jìn)入低功耗模式,此時(shí)由備份電池供電,僅保證正常走時(shí)和保存預(yù)設(shè)的信息,按鍵顯示和驅(qū)動(dòng)控制部分電路均停止工作,該情況下電路耗電流僅幾十微安。
2.2 時(shí)鐘電路設(shè)計(jì)
本系統(tǒng)要求時(shí)間相對(duì)精確,故需一個(gè)硬件計(jì)時(shí)電路,該電路主要由PIC單片機(jī)內(nèi)部的16位定時(shí)計(jì)數(shù)器TMR1和外部的32.768 kHz晶體振蕩器電路組成,TMR1工作在計(jì)數(shù)狀態(tài),每當(dāng)計(jì)數(shù)滿16 384時(shí)產(chǎn)生一個(gè)半秒(為方便秒閃編程)中斷輸出,用于精確計(jì)時(shí)。該方法電路簡(jiǎn)單、編程方便、計(jì)時(shí)精確。在低功耗狀態(tài)下,TMR1能正常工作,TMR1每次溢出時(shí)喚醒單片機(jī)檢測(cè)是否有主電源,若有主電源,則由低功耗狀態(tài)轉(zhuǎn)入正常工作狀態(tài)。
2.3 按鍵顯示電路的設(shè)計(jì)
按鍵顯示電路共有12個(gè)按鍵及4位數(shù)碼管,2個(gè)秒閃發(fā)光二極管及8個(gè)狀態(tài)指示發(fā)光二極管。狀態(tài)指示燈也可用于1位數(shù)碼管與另外4位數(shù)碼管進(jìn)行動(dòng)態(tài)掃描顯示,節(jié)省I/O口。12個(gè)按鍵設(shè)計(jì)為2×6按鍵矩陣且與掃描顯示的段位共用I/O口,充分利用單片機(jī)的I/O口資源,同時(shí)為避免按鍵和動(dòng)態(tài)掃描顯示互相影響,增加二極管(IN4148)進(jìn)行隔離。12個(gè)按鍵的功能分別為設(shè)置鍵、右移鍵、上升鍵、下降鍵、噴料最大距離加鍵、噴料最大距離減鍵、噴料的量加鍵、噴料的量減鍵、噴料方向左和右位置檢測(cè)鍵、噴料的量最大和最小檢測(cè)鍵。8個(gè)狀態(tài)指示燈分別指示:設(shè)定時(shí)間狀態(tài)、設(shè)定噴料總長(zhǎng)時(shí)間狀態(tài)、設(shè)定第一二三四次噴料時(shí)間狀態(tài)、設(shè)定噴料時(shí)連續(xù)噴時(shí)間長(zhǎng)度狀態(tài)、設(shè)定噴料時(shí)暫停時(shí)間長(zhǎng)度狀態(tài)。
2.4 驅(qū)動(dòng)控制電路的設(shè)計(jì)
驅(qū)動(dòng)控制電路是系統(tǒng)設(shè)計(jì)的重點(diǎn)。噴灑飼料的方向及飼料的量涉及到電機(jī)轉(zhuǎn)動(dòng)方向控制和左轉(zhuǎn)、右轉(zhuǎn)到位檢測(cè),而噴料的距離則涉及到電機(jī)轉(zhuǎn)速的控制。
2.4.1 噴料方向控制電路
由于噴料機(jī)安裝在魚塘岸邊,為了能將飼料均勻地噴向魚塘,要求噴料方向不斷地轉(zhuǎn)動(dòng)。即由左到右,再由右到左,如此反復(fù)。噴料的方向是由一個(gè)功率為幾十瓦的小直流電機(jī)驅(qū)動(dòng)。本電路采用功率管構(gòu)成橋式結(jié)構(gòu)控制電機(jī)正反轉(zhuǎn),另配合兩個(gè)行程開關(guān)(電路中的按鍵)檢測(cè)是否轉(zhuǎn)動(dòng)到極限位置,避免電機(jī)轉(zhuǎn)動(dòng)到極限位置還繼續(xù)工作,從而損壞電機(jī)或機(jī)械裝置。當(dāng)I/O1和I/O2為00時(shí),Q6、Q7、Q1O、Q11四個(gè)功率管都截止,加在噴料方向電機(jī)上的電壓為O,電機(jī)不轉(zhuǎn)。當(dāng)I/O1和I/O2為01時(shí),Q7、Q11導(dǎo)通且Q6、Q10截止。當(dāng)I/O1和I/O2為10時(shí)。Q7、Q11截止且Q6、Q10導(dǎo)通,這兩種情況流經(jīng)噴料方向電機(jī)上的電流互為相反,電機(jī)轉(zhuǎn)動(dòng)方向也相反。當(dāng)I/O1和I/O2為11時(shí),Q6、Q7、Q10、Q11四個(gè)功率
管都導(dǎo)通,+24 V電源經(jīng)Q7、Q11和Q6、Q10到地,此時(shí)電機(jī)不轉(zhuǎn),但Q6、Q10和Q7、Q11導(dǎo)通時(shí)內(nèi)阻很小,流過的電流很大,會(huì)損壞功率管.處于禁止?fàn)顟B(tài)。
2.4.2 噴料量控制電路
魚類對(duì)飼料量的需求因魚類品種、養(yǎng)殖密度、環(huán)境氣候等因素不同而不同,因此要對(duì)噴灑飼料的量進(jìn)行控制,由用戶根據(jù)不同情況設(shè)定。其工作原理是由一個(gè)小功率減速電機(jī)帶動(dòng)飼料箱口開啟的大小,該電機(jī)在正反轉(zhuǎn)極限位置檢測(cè)按鍵的配合下正反轉(zhuǎn)工作,其電路原理同噴料方向的控制電路。
2.4.3 噴射距離控制電路
為了把飼料均勻噴灑到池塘中,不僅要求噴料方向要左右轉(zhuǎn)動(dòng),而且噴料距離也要由近而遠(yuǎn)或由遠(yuǎn)而近地變化噴灑。噴料最遠(yuǎn)距離可根據(jù)池塘的大小進(jìn)行設(shè)定。飼料的噴灑是由壓縮空氣吹射而完成,噴料的距離由壓縮空氣的速度決定,而壓縮空氣的速度則由電機(jī)轉(zhuǎn)速而定。利用單片機(jī)輸出PWM信號(hào),該信號(hào)的占空比決定了電機(jī)的轉(zhuǎn)速,占空比越大電機(jī)轉(zhuǎn)速越快,反之越小。因此,該控制方法簡(jiǎn)單實(shí)用,可滿足設(shè)計(jì)要求。
3 軟件設(shè)計(jì)
本系統(tǒng)軟件采用模塊化設(shè)計(jì),同時(shí)輔以看門狗、軟件陷阱、軟件冗余等措施提高系統(tǒng)運(yùn)行的可靠性。
為了方便修改,多人配合完成,本系統(tǒng)軟件分為實(shí)時(shí)時(shí)鐘模塊、按鍵掃描模塊、掃描顯示模塊、正常工作模塊、設(shè)定時(shí)間模塊、設(shè)定噴料時(shí)間長(zhǎng)度模塊、設(shè)定第一二三四次噴料時(shí)間模塊、設(shè)定噴料時(shí)連續(xù)噴時(shí)間長(zhǎng)度模塊、設(shè)定噴料時(shí)暫停時(shí)間長(zhǎng)度模塊。主程序采用散轉(zhuǎn)結(jié)構(gòu)便于修改和提高程序運(yùn)行可靠性。主程序流程圖如圖3所示。
4 抗干擾設(shè)計(jì)
系統(tǒng)共有三臺(tái)電機(jī)工作,會(huì)產(chǎn)生較強(qiáng)的電磁干擾。這些干擾信號(hào)很可能導(dǎo)致系統(tǒng)死機(jī)、程序亂飛、破壞系統(tǒng)參數(shù)等不正常現(xiàn)象,因而在硬件和軟件上都相應(yīng)地采取了一些抗干擾措施。
4.1 件抗干擾
控制系統(tǒng)的電源輸入端接入電源濾波器,濾除電網(wǎng)中的高次諧波和脈沖干擾。單片機(jī)選型時(shí)選擇帶硬件看門狗的型號(hào),或者通過外加看門狗電路,能有效地監(jiān)視程序陷入死循環(huán)故障。在每個(gè)器件的電源輸入端與共地端并聯(lián)一只0.1μF去耦電容。PCB板布線時(shí)注意數(shù)字地和模擬地分開布線,大電流電源線應(yīng)單獨(dú)布線,PCB板空白位置采用大面積覆銅設(shè)計(jì)。
4.2 軟件抗干擾
第一,軟件冗余。對(duì)任意的輸出信號(hào)和設(shè)置均不斷重復(fù)刷新,且周期設(shè)定為4 ms。可以有效地避免干擾信號(hào)對(duì)輸出信號(hào)和設(shè)置等關(guān)鍵數(shù)據(jù)的干擾。
第二,軟件陷阱。軟件陷阱技術(shù)是通過跳轉(zhuǎn)指令強(qiáng)行將捕獲到的亂飛程序引入復(fù)位地址0000H,使程序納入正軌。在各程序模塊之間和未使用的程序空間設(shè)置軟件陷阱可以有效地抑制程序亂飛,使程序運(yùn)行更加可靠。
5 結(jié)束語
該自動(dòng)噴料機(jī)已開始批量生產(chǎn),用戶反映本機(jī)不僅可以滿足功能要求,而且可靠性高、故障率低、使用效果良好。
評(píng)論