基于DSP的稱重控制器設(shè)計(jì)
1 引言
在玻璃行業(yè)中, 通過(guò)電振機(jī)或絞龍電機(jī)供料是技術(shù)成熟并被廣泛采用的方法, 其優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單控制方便。在此基礎(chǔ)上設(shè)計(jì)的稱重控制器大多以傳統(tǒng)單片機(jī)為核心。相對(duì)傳統(tǒng)單片機(jī), 數(shù)字信號(hào)處理器在實(shí)時(shí)性,高速運(yùn)算等方面的優(yōu)勢(shì)巨大,將逐步成為工業(yè)控制的主流選擇。本設(shè)計(jì)針對(duì)玻璃配料過(guò)程中存在的稱重精度不高, 自動(dòng)化程度不高等問(wèn)題, 采用了高性能數(shù)字信號(hào)處理器TMS320F2812(F2812)作為核心器件??刂破髟谠O(shè)計(jì)了友好人機(jī)界面的基礎(chǔ)上,專門(mén)設(shè)計(jì)了與F2812內(nèi)置模數(shù)轉(zhuǎn)換器相匹配的放大電路,并在A/D 采樣過(guò)程中加入了采樣校準(zhǔn)的方法,保證采樣數(shù)據(jù)更加準(zhǔn)確;采取數(shù)字濾波方法處理采樣數(shù)據(jù),濾除采樣數(shù)據(jù)中的干擾。
2 配料系統(tǒng)工作流程
玻璃配料系統(tǒng)一般包括稱重控制器、備料斗、計(jì)量斗和相關(guān)動(dòng)力裝置。備料斗用來(lái)存儲(chǔ)一定量的待測(cè)物料, 備料斗下方的出料口由電振機(jī)的驅(qū)動(dòng), 通過(guò)改變電振機(jī)的振動(dòng)速度可以改變備料斗的出料的速度。備料斗下方是計(jì)量斗,它是一個(gè)放置在稱重傳感器上的懸浮容器,控制器通過(guò)解讀傳感器的數(shù)據(jù)得到計(jì)量斗內(nèi)的物料質(zhì)量。
當(dāng)開(kāi)始稱重過(guò)程時(shí), 稱重控制器發(fā)出控制信號(hào), 備料斗開(kāi)始快速下料, 物料進(jìn)入計(jì)量斗后, 由計(jì)量斗下方的傳感器測(cè)得重量信號(hào), 信號(hào)經(jīng)處理還原為物料的重量。控制器自動(dòng)比較當(dāng)前的物料重量與目標(biāo)重量的偏差,當(dāng)偏差值E 縮小到一定范圍時(shí)(如10%,即達(dá)到目標(biāo)重量的90%),發(fā)出信號(hào)并驅(qū)動(dòng)備料斗進(jìn)行慢速下料,使測(cè)得的重量值變化減緩,有利于精確控制。每當(dāng)控制器發(fā)出停止加料信號(hào)時(shí),會(huì)有一定量的物料剛剛脫離電振機(jī)出口正在下落(即“飛料”),使最終稱得的物料重量要大于系統(tǒng)判定的目標(biāo)重量。一般采取的解決辦法是在達(dá)到目標(biāo)值之前提前停止加料, 等待“飛料”落下, 待檢測(cè)值穩(wěn)定后,控制器再進(jìn)行偏差值的判斷并進(jìn)行下一步的控制(即點(diǎn)動(dòng)加料模式), 直至重量達(dá)到目標(biāo)值。然后控制器發(fā)出信號(hào), 打開(kāi)計(jì)量斗排出稱重完畢的物料,完成一次稱重控制過(guò)程。結(jié)合以上工作過(guò)程控制器設(shè)計(jì)如下。
3 控制器硬件實(shí)現(xiàn)
控制器硬件框圖由圖1 給出, 主要由F2812、信號(hào)調(diào)理電路、顯示/ 鍵盤(pán)模塊、串口通信模塊組成。F2812作為一款32 位的數(shù)字信號(hào)處理器, 采用哈佛總線結(jié)構(gòu),計(jì)算能力強(qiáng),最高運(yùn)行速度達(dá)到150MIPS,能夠處理包括稱重控制和軟件濾波等多種算法;內(nèi)部包括128KB 的閃存(FLASH)和128KB 的只讀存貯器(ROM),存儲(chǔ)空間大可滿足大部分程序設(shè)計(jì)要求;支持45 個(gè)外圍中斷, 響應(yīng)迅速,方便子程序的快速調(diào)用;片上集成了12 位A/D轉(zhuǎn)換器,能夠快速地進(jìn)行模數(shù)轉(zhuǎn)換,在系統(tǒng)設(shè)計(jì)時(shí)不必增加額外的硬件;具有兩個(gè)串行通信接口(SCI)以及一個(gè)串行外圍接口(SPI),可簡(jiǎn)化通訊接口設(shè)計(jì),使系統(tǒng)緊湊。
圖1 系統(tǒng)硬件框圖。
3.1 信號(hào)調(diào)理電路
圖2 放大電路原理圖。
信號(hào)調(diào)理電路主要完成模數(shù)轉(zhuǎn)換前的信號(hào)的濾波和放大, 由于本設(shè)計(jì)采取軟件濾波, 所以主要考慮信號(hào)的放大問(wèn)題。在現(xiàn)場(chǎng)應(yīng)用中,以10V 電壓激勵(lì)靈敏度為2mV/V 的稱重傳感器,其滿量程輸出信號(hào)電壓為20mV。F2812 內(nèi)置A/D 轉(zhuǎn)換器的輸入電壓為0-3V,所以必須設(shè)置放大電路。設(shè)計(jì)采用由3 個(gè)運(yùn)算放大器組成的儀用放大電路(圖2)。電路中左側(cè)兩個(gè)OP07 組成第一級(jí)差分放大電路,右側(cè)OP07 為第二級(jí)差分放大, 調(diào)節(jié)1k Ω可變電阻即可調(diào)節(jié)電路的增益。經(jīng)計(jì)算要使增益調(diào)節(jié)達(dá)到15 0 倍,需要將可變電阻R 調(diào)節(jié)到1.33 Ω。采用此種電路輸入阻抗高,共模抑制比高。為了防止意外情況下輸入電壓超過(guò)DSP 的工作電壓而損壞芯片,在信號(hào)輸入DSP 引腳之前還需外接一個(gè)3V 的穩(wěn)壓管。
3.2 A/D 轉(zhuǎn)換與采樣校準(zhǔn)
A/D 轉(zhuǎn)換的精度將很大程度上決定稱重控制器的精度。本設(shè)計(jì)采用F2812 自帶的模數(shù)轉(zhuǎn)換器,這樣可以在達(dá)到控制器所要求轉(zhuǎn)換精度的基礎(chǔ)上簡(jiǎn)化電路設(shè)計(jì)。
增益誤差和偏移誤差是影響A/D 轉(zhuǎn)換精度的主要因素。增益誤差是指實(shí)際傳輸函數(shù)的斜率與理想傳輸函數(shù)的斜率的差別;偏移誤差是指輸入為零時(shí)實(shí)際輸出與零的偏差。本設(shè)計(jì)采用了采樣校準(zhǔn)的方法補(bǔ)償增益誤差和偏移誤差。F2812 的一組A/D 轉(zhuǎn)換單元內(nèi)8 個(gè)通道之間的誤差典型值小于0.2%,通過(guò)采樣另外2 個(gè)采樣通道的已知參考電壓H x 、L x , 得出A / D 轉(zhuǎn)換結(jié)果H y 、L y ,再利用求解線形方程組的原理計(jì)算出增益誤差和偏移誤差,然后計(jì)算出較精確的轉(zhuǎn)換結(jié)果。y 為待校正量, 則校正后的結(jié)果x 可由式1 表示:
F2812 芯片本身設(shè)計(jì)有A/D 轉(zhuǎn)換采樣校準(zhǔn)的參考電壓,分別由ADCREFP、ADCREFM 引腳輸出,電壓分別為2V、1V。使用時(shí)外接10 μ F 的低等效串連電阻陶瓷旁路電容到地,可直接使用。但是其電壓輸出精度有限,所以另外設(shè)計(jì)了參考電壓生成電路[6],電路示意圖如圖3 。其中A0、A6、A7 為同一組A/D 轉(zhuǎn)換通道的三個(gè)輸入腳。A0 為待測(cè)模擬信號(hào)輸入引腳,A6、A7 為已知電壓信號(hào)的輸入引腳。為了盡量減少了數(shù)字電路對(duì)模擬電路的干擾,本設(shè)計(jì)在PCB 布局時(shí)將ADCINxx 引腳模擬線遠(yuǎn)和數(shù)字信號(hào)線分開(kāi)放置,并將A/D 模塊的功率引腳線所連的電源和地與數(shù)字電源和地分開(kāi)放置。
圖3 A/D 采樣校準(zhǔn)參考電源示意圖。
3.3 鍵盤(pán)和數(shù)碼管驅(qū)動(dòng)電路
稱重控制器的人機(jī)交互通過(guò)6 位LED 數(shù)碼管和3 ×4 矩陣鍵盤(pán)實(shí)現(xiàn)。3 × 4 矩陣鍵盤(pán)中的10 個(gè)鍵對(duì)應(yīng)數(shù)字0 至9,外加一個(gè)“確定鍵”和一個(gè)“功能鍵”。數(shù)碼管和按鍵較多會(huì)不利于使用軟件控制,所以采用數(shù)碼管驅(qū)動(dòng)及鍵盤(pán)控制芯片CH451 來(lái)檢測(cè)按鍵和驅(qū)動(dòng)數(shù)碼管。
CH451 是一款集數(shù)碼管顯示驅(qū)動(dòng)、鍵盤(pán)掃描控制于一體的多功能外圍芯片, 可以方便地與D S P 組成系統(tǒng)。
CH451 通過(guò)復(fù)用DIGx 和SEGx 引腳,定期在顯示驅(qū)動(dòng)掃描過(guò)程中插入鍵盤(pán)掃描。數(shù)碼管的個(gè)數(shù)決定需要使用SEG0-SEG7 的8 個(gè)引腳和DIG0-5 的6 個(gè)引腳。矩陣鍵盤(pán)的結(jié)構(gòu)為3 行4 列,設(shè)計(jì)使用SEG0-3 這4 個(gè)引腳與DIG0-2 這3 個(gè)引腳。DCLK、DIN、LOAD 和DOUT管腳連接F2812 對(duì)應(yīng)管腳,具體硬件連接圖見(jiàn)圖4。
圖4 CH451 接口電路:
為了便于遠(yuǎn)程監(jiān)控, 稱重控制器設(shè)計(jì)有串行通信接口[8]。設(shè)計(jì)利用主控芯片F(xiàn)2812上自帶的兩個(gè)全雙工SCI(Serial Communication Interface,串行通信接口)完成。
RS232 標(biāo)準(zhǔn)定義邏輯“1”信號(hào)相對(duì)于地為3V 至25V,而邏輯“0”相對(duì)于地為- 3V 至- 25V。所以需要一個(gè)RS232 驅(qū)動(dòng)器來(lái)轉(zhuǎn)換電平,本設(shè)計(jì)采用MAX3250 芯片。
MAX3250 是一款支持3.0v 到5.5v 輸入電壓的串口通訊芯片, 具有兩路串口通信能力。該芯片使用簡(jiǎn)單, 電路連接圖便不再給出。
4 軟件設(shè)計(jì)
軟件設(shè)計(jì)主要在CCS 軟件下由C語(yǔ)言設(shè)計(jì)完成。主程序流程圖由圖5 表示。程序主要包括:初始化,標(biāo)定程序, 顯示程序, 串口通訊程序, 參數(shù)設(shè)置程序, 計(jì)算質(zhì)量程序, 自動(dòng)控制程序等模塊。
軟件濾波相對(duì)于硬件濾波更為方便,靈活。傳統(tǒng)的單片機(jī)由于性能的局限所采用的濾波算法一般為限副濾波,中值濾波,算術(shù)平均濾波,滑動(dòng)平均濾波法等。
上述方法編程容易、對(duì)處理器要求不高,缺點(diǎn)是算法相對(duì)簡(jiǎn)單,濾波效果不理想。本設(shè)計(jì)采用數(shù)字濾波器對(duì)數(shù)據(jù)濾波,數(shù)字濾波器是由MATLAB 中的濾波器設(shè)計(jì)工具箱設(shè)計(jì)的無(wú)限沖激響應(yīng)濾波器。軟件濾波程序作為自動(dòng)控制程序的一個(gè)子程序在稱重控制開(kāi)始后被調(diào)用。
圖5 主程序流程圖。
在自動(dòng)控制算法上, 不采用前述的偏差值E 比較法,而是加入模糊控制思想。除了把偏差值E 作為參考量外,還把偏差變化率Δ E 也引入到控制中來(lái)。在鄰近速度切換的閾值時(shí), 同時(shí)考慮偏差變化率的大小, 結(jié)合實(shí)際效果恰當(dāng)編制控制規(guī)則表,使出料速度在到達(dá)閾值之前就做出變化, 削弱“飛料”對(duì)控制精度的影響,優(yōu)化控制器的性能。
5 結(jié)束語(yǔ)
本設(shè)計(jì)針對(duì)玻璃企業(yè)原有配料系統(tǒng)特點(diǎn), 給出了一種稱重控制器的設(shè)計(jì)方法。經(jīng)過(guò)現(xiàn)場(chǎng)運(yùn)行得知,完全可以適應(yīng)玻璃配料的工作要求, 控制器運(yùn)行速度快, 稱重精度優(yōu)于原有系統(tǒng), 完全達(dá)到了控制器的設(shè)計(jì)要求, 具有一定實(shí)用價(jià)值。