摘 要:為了精確計量粉料的使用生產(chǎn)情況和計算、統(tǒng)計生產(chǎn)成本,有必要對粉料儲料倉轉(zhuǎn)送到壓機(jī)的粉料進(jìn)行計量。本文描述了單片機(jī)在粉料流量累積中的軟硬件設(shè)計,并提出了一些應(yīng)用中的注意事項。
關(guān)鍵詞:陶瓷粉料計量;單片機(jī)AT89S52;速度測定;重量測定
1引 言
為提高生產(chǎn)效率、降低人工操作強度和生產(chǎn)成本,實現(xiàn)連續(xù)化、自動化與精確化生產(chǎn),是陶瓷行業(yè)的發(fā)展方向。但對于設(shè)備自動化水平不高的陶瓷行業(yè)原料車間來說,實現(xiàn)精確管理和精確統(tǒng)計生產(chǎn)成本,確是一個有相當(dāng)難度的課題。一直以來,原料車間輸送到壓機(jī)車間的粉料數(shù)量是個模糊、沒有明確量化的一個數(shù)字,精確統(tǒng)計成本更是無從談起。
目前,市場上較為成熟的稱重技術(shù)和設(shè)備不少,如西門子的稱重積算儀BW500,其性能優(yōu)良、穩(wěn)定,但價格不菲。如果能尋找到一種價格適中、性能又能滿足要求的計量設(shè)備,相信能解決不少陶企的難題。
2陶企粉料測量的現(xiàn)狀和需求
對陶企而言,動態(tài)測量粉料重量,直觀地給出粉料的累積數(shù)字,可以充分掌握粉料的實時應(yīng)用情況,對球磨工序和造粒工序起著直接的指導(dǎo)作用。而傳統(tǒng)的計量方式和管理方式并不能滿足現(xiàn)代化工廠精益生產(chǎn)、精益管理的要求,筆者所在的單位也面臨著同樣的困惑。對陶企而言,用最簡單經(jīng)濟(jì)的方式實現(xiàn)工廠的計量需求,無疑是最實用與有效的。
在現(xiàn)代自動化控制系統(tǒng)中,單片機(jī)出色的表現(xiàn)、優(yōu)異的性能使其在嵌入式系統(tǒng)中占據(jù)著相當(dāng)重要的位置,而價格低廉更是令其它控制設(shè)備如PLC等無法與它相提并論。但單片機(jī)并不完美,它復(fù)雜的編程語言和指令系統(tǒng)、抗干擾能力不強等,限制了它在陶瓷行業(yè)的大規(guī)模應(yīng)用。如果能妥善設(shè)計電路板,編寫出比較優(yōu)秀的控制代碼,則可望實現(xiàn)粉料的實時測量,本文重點講述一種基于單片機(jī)的電子稱的硬件搭配和軟件的編寫。
3硬件搭配
3.1 主要電子元件
主要電子元件清單如表1所示。
除主要元件外,還需要電阻、電容、三端穩(wěn)壓管、指示燈、光藕等。這些元件都是電子市場的常用品,價格不高,容易采購。
3.2 硬件連接
圖1為硬件連接示意圖。本例采用AT89S52單片機(jī)作為主控制器,采用74LS47芯片作數(shù)碼管接口,采用74LS154 芯片作為數(shù)碼管位控制,AD0804作為重量信號的采集,編碼器作為速度信號的采集,七段數(shù)碼管其中8位作為粉料累積重量的顯示,其中4位作為當(dāng)前皮帶速度的顯示,剩下4位作為當(dāng)前重量代碼的顯示。
需要說明的是,因為要采集的I/O數(shù)量較多,為了節(jié)省I/O口開銷,采用74LS47和74LS154硬件譯碼集成電路。74LS47是數(shù)碼管譯碼集成電路,它把輸入的數(shù)字0~9轉(zhuǎn)化成A~G七段數(shù)碼輸出,其功能表見表2。
74LS154是4~16譯碼集成電路,它把輸入的0~F數(shù)字轉(zhuǎn)化成16個位輸出,分別用于控制16位數(shù)碼管的位控制,其功能表見表3。
從表3可看出,為了使其工作正常,必須使E0、E1為低電平。當(dāng)A0、A1、A2、A3分別為0000時,Y0輸出有效(低電平有效),當(dāng)它們?yōu)?111時,Y15輸出(低電平有效),其它類推。
AD0804是A/D轉(zhuǎn)換芯片,它對輸入模擬量信號的要求是:
(1) 信號單極性,電壓范圍是0~5V,若信號太小,必須進(jìn)行放大;
(2) 輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣以維持電路正常;
(3) A/D0804轉(zhuǎn)換精度為1/255,要使其工作正常,必須在4腳輸入振蕩信號,工作頻范圍為10~1280kHz,當(dāng)頻率范圍為500kHz時,其轉(zhuǎn)換時間為128?滋s。
ADC0804電壓輸入與數(shù)字輸出關(guān)系如表4所示。
4軟件設(shè)計
4.1 稱量原理
正確計量陶瓷粉料質(zhì)量的兩個必要條件是:一是正確測算出電子稱皮帶單位時間內(nèi)的移動距離,二是正確計算出單位時間內(nèi)電子稱皮帶上的單位長度上的質(zhì)量,在本例中速度和重量的測算由中斷程序完成。然后通過數(shù)學(xué)公式,計算出單位時間內(nèi)電子稱皮帶上粉料的瞬時進(jìn)出料重量,再通過流量累積,就可以得到正確的粉料累積重量,最后由數(shù)碼管顯示出來。為使系統(tǒng)更適合陶瓷廠復(fù)雜的電磁環(huán)境,解決電子稱安裝位置不準(zhǔn)可能引起的振動而導(dǎo)致的系統(tǒng)精度下降等問題,在公式中引入必要的修正系數(shù)k1、k2。
KG=50×k1×kg/255/long+k2 (1)
式中:
KG——單位時間測得的瞬時重量;
kg——當(dāng)前測得的重量代碼;
long——電子皮帶總長度;
k1——補償系數(shù)1;
k2——補償系數(shù)2;
50——S型稱重傳達(dá)室感器的量程,0~50kg。
上式的功能是把瞬時重量換算成單位長度皮帶上的瞬時重量。
流量累積公式:
TKG=TKG+KG×cur_distance (2)
式中:
TKG——累積重量;
cur_distance——當(dāng)前測得的皮帶移動速度
KG——單位時間內(nèi)測得的瞬時重量
4.2 系統(tǒng)框圖
系統(tǒng)框圖如圖2所示,下面詳細(xì)說明:
4.2.1 速度計算
為了正確測量電子稱皮帶運轉(zhuǎn)速度,采用增量型旋轉(zhuǎn)編碼器,該編碼器和電子稱皮帶從動輪按1:1柔性連接,從動輪每旋轉(zhuǎn)一圈,發(fā)出固定數(shù)量的脈沖,故測量在單位時間內(nèi)的編碼器發(fā)出的脈沖數(shù)就可以間接測量從動輪旋轉(zhuǎn)速度,通過下面公式可以計算出單位時間內(nèi)皮帶移動的距離。
(1) 從動輪旋轉(zhuǎn)速度的測定
為了正確測定從動轉(zhuǎn)旋轉(zhuǎn)速度(單位R/M),需要使用中斷功能,通過外部中斷0累加脈沖總量;定時中斷0設(shè)置為2秒定時中斷,當(dāng)2秒定時時間到后,立即計算單位時間內(nèi)采集到的脈沖數(shù),由公式3計算出當(dāng)前皮帶單位時間的移動距離。
cur_distance=3.14×D×total_pulse/1000/2 (3)式中:
cur_distance——皮帶單位時間內(nèi)移動的距離(單位m);
D——皮帶輪的直徑(單位m);
total_pulse——2秒內(nèi)采集到的脈沖總數(shù);
1000——增量型編碼器每轉(zhuǎn)發(fā)出的脈沖數(shù);
2——2秒。
(2) 移動距離的計算程序
下面是KEILC 關(guān)于計算移動距離的程序,程序中沒有說明的變量全為全局變量。
//定時器中斷,累積2秒內(nèi)總的脈沖數(shù)
void into_int() interrupt 0
{cur_pulse++;}
//使用1000pulse/R encoder
//計算皮帶單位時間移動距離
void int1_int() interrupt 1
{TH0=0x4C;//50ms中斷
TL0=0x00;
cur_ms++;
if(cur_ms>=20)
{ET0=0; //關(guān)閉定時器0中斷
TR0=0;
EX0=0;//關(guān)閉外部中斷0
cur_ms=0;
cur_n=cur_pulse/2/1000.0;/* (R/sec),cur_n為從動輪旋轉(zhuǎn)速度,單位圈/秒。
cur_pulse=0;//總脈沖數(shù)清零
//計算流量累積:2秒計算一次 ;
//1.2為稱帶長度////sszl為計算出的瞬時重量
mps=cur_n*0.628;////mps當(dāng)前轉(zhuǎn)速:米/秒,輪子 周長0.628m=2pai*直徑;輪子直徑為10cm。
ET0=1;//重新開放計數(shù)/定時功能
EX0=1;
TR0=1; }}
在上面的程序中,當(dāng)定時時間開啟,進(jìn)入計算階段后,需要禁止外部中斷和定時中斷,計算完畢后才重新開啟。
4.2.2 重量信號的測定
我們使用AD0804集成電路完成重量信號的測定,配合轉(zhuǎn)換程序,達(dá)到實時測量、轉(zhuǎn)換的目的。為了保證測量的準(zhǔn)確性和增強抗振動和抗干擾性,我們引入了數(shù)字濾波。本例中數(shù)字濾波由平均值濾波和中值濾波組成。首先連續(xù)采樣三次,取得中值后放進(jìn)第一個寄存器,然后再連續(xù)采樣兩次,分別放進(jìn)兩個寄存器。由這三個寄存器取平均值后,得出最終的采樣結(jié)果。使用這兩種濾波后,能有效地對隨機(jī)干擾和偶然性干擾進(jìn)行濾除,圖3是AD轉(zhuǎn)換框圖。
下面對這兩種濾波方式進(jìn)行簡單說明:
(1) 平均值濾波
int aver()
{int temp,I1,I2,I3;
I1=zhongzhi();
I2=zhongzhi();
I3=zhongzhi();
Temp=(I1+I2+I3)/3;
Return temp;}
在這個函數(shù)中,temp為返回值,返回給主調(diào)函數(shù)。
算術(shù)平均濾波法的優(yōu)缺點如下:
1) 優(yōu)點:
適用于對一般具有隨機(jī)干擾的信號進(jìn)行濾波,這種信號的特點是有一個平均值,信號在某一數(shù)值范圍附近上下波動。
2) 缺點:
對于測量速度較慢或要求數(shù)據(jù)計算速度較快的實時控制不適用,比較浪費RAM。
(2) 中值濾波
Int zhongz()
{int A1,A2,A3,temp,da,xiao;
A1=rd0804();//采樣A/D數(shù)據(jù)
Delay(2);//延時函數(shù)
A2=rd0804();
Delay(2);
A3=rd0804();
Delay(2);
If(a1>=a2)
{da=A1;xiao=A2;}
Else
{da=A2;xiao=A1;}
//判斷
If((da>=a3)(xiao>=a3)temp=xiao;
If((da>=a3)(xiao If((da<=a3)(xiao<=a3)temp=da; Return temp;//返回值} 中值濾波的優(yōu)點和缺點: 1) 優(yōu)點: 能有效克服因偶然因素引起的波動干擾,對溫度、液位等變化緩慢的被測參數(shù)有良好的濾波效果。 2) 缺點: 對流量、速度等快速變化的參數(shù)不宜。 4.3 顯示接口 顯示接口由16位七段數(shù)碼管和74LS47、74LS154集成電路組成,74LS154主要負(fù)責(zé)數(shù)碼管位控制,74LS47主要實現(xiàn)0~9到七段碼的轉(zhuǎn)換工作。整個顯示接口采用動態(tài)掃描的方法,分時顯示各個待顯示數(shù)字,因這部分比較簡單,故程序和流程圖從略。 5結(jié) 語 本文詳細(xì)論述了一種成本低、能實現(xiàn)重量實時累積的陶瓷廠粉料重量測量設(shè)備,在實際應(yīng)用中,要充分考慮陶瓷廠的工作環(huán)境和較強的振動源,有效采集重量信號,并做好電路板的防塵工作。 參考文獻(xiàn) [1] 周興華.手把手教你學(xué)單片機(jī)[M].北京:北京航空航天工業(yè) 出版社,2005. [2] 劉建清.從零開始學(xué)單片機(jī)C語言[M].北京:國防工業(yè)出版社,2006. [3] 何立民.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計系統(tǒng)配置與接口技術(shù)[M]. 北京:北京航空航天大學(xué)出版社,1992.