上海電機(jī)學(xué)院(上海 200240) 陳 梅
單片機(jī)具有集成度高、功能強(qiáng)、體積小、價(jià)格低、抗干擾能力等優(yōu)于一般CPU的優(yōu)點(diǎn),因此,在要求較高控制精度和較低成本的工業(yè)測(cè)控系統(tǒng)中,往往采用單片機(jī)作為數(shù)字控制系統(tǒng)取代模擬控制系統(tǒng)。本文介紹一種基于AT89S52的沙漿稱重系統(tǒng)的研制方法,利用單片機(jī)和傳感器實(shí)現(xiàn)對(duì)重量的高精度測(cè)量。
基于AT89S52單片機(jī)的沙漿稱重系統(tǒng)硬件電路如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
系統(tǒng)工作原理:先由稱重傳感器負(fù)責(zé)實(shí)時(shí)采集現(xiàn)場(chǎng)鋼制儲(chǔ)料罐、支架及水泥物料等所有物體的總重量信號(hào),并把重量信號(hào)直接轉(zhuǎn)換為0~20mV的微弱信號(hào)。AD7705采用了成本較低但能獲得極高分辨率的∑-Δ轉(zhuǎn)換技術(shù),可以獲得16位無誤碼數(shù)據(jù)輸出,AD7705片內(nèi)的增益可編程放大器PGA通過指令設(shè)定實(shí)現(xiàn)對(duì)輸入信號(hào)的放大,再進(jìn)行A/D轉(zhuǎn)換后轉(zhuǎn)換電路以數(shù)字形式傳送給AT89S52單片機(jī)。AT89S52單片機(jī)取得相應(yīng)的數(shù)據(jù)后,根據(jù)用戶設(shè)置(總重量或凈重量等)顯示要求進(jìn)行分析與運(yùn)算。數(shù)碼驅(qū)動(dòng)及鍵盤控制芯片CH451,通過可以級(jí)聯(lián)的串行接口接收單片機(jī)的運(yùn)算結(jié)果數(shù)據(jù),并直接驅(qū)動(dòng)六個(gè)數(shù)碼管顯示當(dāng)前所測(cè)物體的重量。
本系統(tǒng)硬件主要包括單片機(jī)的最小系統(tǒng)、重量采集電路、模數(shù)轉(zhuǎn)換電路、顯示電路和外圍控制電路等。
稱重傳感器是本系統(tǒng)的關(guān)鍵部件,是一種將質(zhì)量信號(hào)轉(zhuǎn)換成可測(cè)量電信號(hào)的輸出裝置,它的性能和精度直接關(guān)系到重量檢測(cè)系統(tǒng)的檢測(cè)精度。傳感器的輸出信號(hào)經(jīng)過濾波電路,消除信號(hào)中的串模、共模干擾以及高頻干擾信號(hào)后進(jìn)入A/D轉(zhuǎn)換器。
2.1.1 稱重傳感器
混凝土攪拌樓稱重傳感器為電阻應(yīng)變式,主要部分由電阻應(yīng)變片、彈性體和檢測(cè)電路組成。彈性體在外力作用下產(chǎn)生彈性變形,使粘貼在他表面的電阻應(yīng)變片也隨之產(chǎn)生變形,其阻值發(fā)生變化,再經(jīng)相應(yīng)的測(cè)量電路把電阻變化轉(zhuǎn)換為電壓信號(hào),從而完成將外力變換為電信號(hào)的過程。
混凝土攪拌樓站中稱重傳感器處于相當(dāng)惡劣的運(yùn)行條件中,環(huán)境溫度、濕度、大氣壓力、震動(dòng)、磁場(chǎng)、電場(chǎng)等諸多因素均可能產(chǎn)生換能誤差、零點(diǎn)漂移和靈敏度的變化。差動(dòng)式惠斯登電橋的靈敏度高,各臂參數(shù)一致,各種干擾的影響可以相互抵消,還可以方便地解決稱重傳感器的補(bǔ)償問題,故稱重傳感器均采用箔式雙軸片連接成的差動(dòng)式惠斯登電橋作為測(cè)量電路。稱重傳感器的電阻應(yīng)變計(jì)能夠達(dá)到溫度自補(bǔ)償,還可以通過線路補(bǔ)償來彌補(bǔ)傳感器的零點(diǎn)溫度漂移和輸出靈敏度的變化。
使用過程中傳感器結(jié)構(gòu)、容量、技術(shù)參數(shù)選擇等都會(huì)使測(cè)量結(jié)果產(chǎn)生誤差,故需要合理選擇額定容量,稱重傳感器的額定容量 =K(皮重+最大稱重)/傳感器組合個(gè)數(shù)。(K是安全系數(shù),取決于振動(dòng)、沖擊、偏載等因素;皮重指秤斗及其上面各附件的重量)。傳感器數(shù)量的選擇是根據(jù)秤體需要支撐的點(diǎn)數(shù) (根據(jù)秤體幾何重心和實(shí)際重心重合的原則)而定。故選用四只量程為20T,靈敏度為2 mV/V,精度為0.2%,供電電壓為10V,滿量程輸出為20mV的SM40-A型稱重傳感器組成并聯(lián)輸出電路,如圖2所示,總稱重為80T。并聯(lián)輸出電路的四只稱重傳感器由一個(gè)供橋電源供電,既節(jié)省設(shè)備、簡(jiǎn)化系統(tǒng),又提高了稱量的可靠性;總輸出阻抗的減小,也增強(qiáng)了系統(tǒng)的抗干擾能力。利用平均值電路原理,每只傳感器的輸出阻抗相等,則橋路輸出點(diǎn)電壓ΔU為各個(gè)橋路輸出的算術(shù)平均值。
圖2 四稱重傳感器并聯(lián)電路圖
稱重傳感器除了固有的非線性等系統(tǒng)誤差外,所有其它的誤差均為隨機(jī)誤差。隨機(jī)誤差通常按高斯定律分布,其分布的鐘形曲線如圖3所示。隨機(jī)誤差分布的基本度量是方差 !2,在數(shù)學(xué)上定義為:
隨機(jī)函數(shù)分布如圖3所示,若方差大,則誤差分布曲線平坦(如圖3曲線b所示);如果方差小,誤差分布曲線就十分尖銳(如圖3曲線c所示)。高斯誤差分布函數(shù)的數(shù)學(xué)性質(zhì)中,99.7% 的誤差位于3!間。n個(gè)稱重傳感器系統(tǒng)是由同樣量程的稱重傳感器組成的,隨機(jī)誤差的分布是相同的。在多只傳感器組合使用時(shí),其綜合誤差為
圖3 隨機(jī)函數(shù)分布曲線
2.1.2 高精度A/D轉(zhuǎn)換
稱重傳感器的輸出為mV級(jí)的微弱信號(hào),傳統(tǒng)的測(cè)量方法是在A/D轉(zhuǎn)換之前加一級(jí)高精度的放大器,電路復(fù)雜。本系統(tǒng)采用AD7705,器件包括由緩沖器和增益可編程放大器組成的前端模擬調(diào)節(jié)電路,∑-Δ調(diào)制器,可編程數(shù)字濾波器等部件,能直接將傳感器測(cè)量到的多路微小信號(hào)進(jìn)行A/D轉(zhuǎn)換,減少了信號(hào)調(diào)理環(huán)節(jié),避免了放大電路產(chǎn)生的漂移。器件采用三線串行接口,有兩個(gè)全差分輸入通道,用E-V轉(zhuǎn)換技術(shù)能達(dá)到0.003%非線性的16位無誤碼數(shù)據(jù)輸出,其增益和數(shù)據(jù)輸出更新率均可編程設(shè)定。它包括自校準(zhǔn)和系統(tǒng)校準(zhǔn)選項(xiàng),以消除器件本身或系統(tǒng)的增益和偏移誤差,與內(nèi)部增益可設(shè)定的特點(diǎn)相結(jié)合,能有效地避免弱信號(hào)以及信號(hào)調(diào)理電路帶來的漂移影響。
本系統(tǒng)采用X5045看門狗芯片,常用接線如圖3所示。它是單片機(jī)系統(tǒng)中廣泛應(yīng)用的一種可編程控制電路,它把上電復(fù)位、看門狗定時(shí)器、電壓監(jiān)控和E2PROM四種常用功能組合在單個(gè)芯片里,以降低系統(tǒng)成本、節(jié)約電路板空間。X5045中的看門狗在系統(tǒng)發(fā)生故障而超過設(shè)置時(shí)間時(shí),通過RESET信號(hào)向CPU做出反應(yīng),X5045提供三個(gè)時(shí)間值供用戶選擇使用。它所具有的電壓監(jiān)控功能還可以保護(hù)系統(tǒng)免受低電壓的影響:當(dāng)電源電壓降到允許范圍以下時(shí),系統(tǒng)將復(fù)位,直到電源電壓返回到穩(wěn)定值為止。X5045的存儲(chǔ)器與CPU通過串行通信方式接口,512 x 8個(gè)字節(jié)的E2PROM用于存儲(chǔ)單片機(jī)系統(tǒng)的重要數(shù)據(jù)。
圖3 X5045常用接線圖
很多以單片機(jī)為核心的儀器儀表都需要數(shù)碼管顯示和鍵盤掃描。本系統(tǒng)采用CH451,CH451是一個(gè)整合了數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制以及μP監(jiān)控的多功能外圍芯片。CH451內(nèi)置RC振蕩電路,可以動(dòng)態(tài)驅(qū)動(dòng)8位數(shù)碼管或者64只LED發(fā)光管,具有BCD譯碼、閃爍、移位等功能;同時(shí)還可以進(jìn)行64鍵的鍵盤掃描,并內(nèi)置去抖動(dòng)電路,可提供按鍵中斷與按鍵釋放標(biāo)志位等功能;CH451通過可以級(jí)聯(lián)的串行接口與單片機(jī)等交換數(shù)據(jù);并提供上電復(fù)位和看門狗等監(jiān)控功能。
基于AT89S52單片機(jī)的沙漿稱重系統(tǒng)的軟件主要由以下幾個(gè)模塊組成,即系統(tǒng)的主控模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理模塊、系統(tǒng)保護(hù)模塊和數(shù)據(jù)顯示模塊。
設(shè)計(jì)選用AT89S52單片機(jī),采用匯編語言進(jìn)行編程。系統(tǒng)初始化階段需完成:將單片機(jī)的定時(shí)器T0設(shè)置為模式1(16位計(jì)數(shù));啟動(dòng)CH451的顯示驅(qū)動(dòng)和鍵盤掃描,設(shè)置BCD譯碼方式,掃描極限為6,亮度為10/16;AD7705初始化:選時(shí)鐘寄存器,選通道1,轉(zhuǎn)換頻率為50Hz,自校準(zhǔn),單極性,緩沖模式,增益128;X5045初始化:設(shè)置寫允許,開看門狗。
首先通過稱重傳感器將采集到的重量信息轉(zhuǎn)換為微弱的電壓信號(hào),然后通過AD7705轉(zhuǎn)化成16位數(shù)據(jù)輸出,AT89S52單片機(jī)取得相應(yīng)的數(shù)據(jù)后,根據(jù)設(shè)置要求經(jīng)主程序分析與運(yùn)算以后,利用CH451直接驅(qū)動(dòng)六個(gè)數(shù)碼管,顯示當(dāng)前所測(cè)物體的重量。主程序流程圖如圖4所示。
圖4 主程序流程圖
沙漿稱重系統(tǒng)經(jīng)過設(shè)置過程后,自動(dòng)進(jìn)入重量動(dòng)態(tài)顯示狀態(tài),以5位數(shù)字的形式顯示當(dāng)前所測(cè)得的重量。面板上有移位、遞增、遞減、編程和清零按鍵,在重量動(dòng)態(tài)顯示狀態(tài)下,除編程按鍵之外各鍵均處于無效狀態(tài)。系統(tǒng)編制了多條功能指令即選擇參數(shù)號(hào)以實(shí)現(xiàn)各種操作。
參數(shù)設(shè)置狀態(tài)的進(jìn)入和退出,通過編程鍵、移位、遞增、和遞減鍵的操作實(shí)現(xiàn)。進(jìn)入?yún)?shù)設(shè)置狀態(tài)后,首先應(yīng)設(shè)置密碼,只有在確認(rèn)密碼正確以后,才能對(duì)其它參數(shù)進(jìn)行設(shè)置,否則即使選擇了參數(shù)號(hào),也無法進(jìn)入該參數(shù)進(jìn)行操作。裝置內(nèi)置的密碼值可通過參數(shù)號(hào)進(jìn)行修改。傳感器所測(cè)得的重量,包括鋼制儲(chǔ)料罐、支架及水泥物料等所有物體的總重量,要得到水泥物料的凈重,必須在總重量中扣除除了水泥物料之外所有器件的重量,即扣除皮重,通過功能指令,可將當(dāng)前重量作為皮重存儲(chǔ)到裝置中,使以后所測(cè)量的總重量自動(dòng)扣除皮重后進(jìn)行顯示;如果需要顯示的是包括鋼罐在內(nèi)的總重量,或要對(duì)原來保存的皮重重新設(shè)置,也可以將存儲(chǔ)在裝置內(nèi)的皮重加以清除或修改。選擇參數(shù)號(hào)還可以對(duì)AD轉(zhuǎn)換的倍率進(jìn)行修正,裝置內(nèi)置的初始倍率為16進(jìn)制數(shù)值2E90H,即傳感器20mV的測(cè)量信號(hào)電壓對(duì)應(yīng)顯示重量80000kg。
本沙漿稱重系統(tǒng),充分發(fā)揮了AT89S52單片機(jī)強(qiáng)大的控制能力,通過稱重傳感器、16位分辨率的A/D轉(zhuǎn)換器和數(shù)碼管驅(qū)動(dòng)及鍵盤控制芯片,實(shí)現(xiàn)了對(duì)沙漿重量的高精度測(cè)量和顯示。系統(tǒng)具有實(shí)現(xiàn)簡(jiǎn)單,系統(tǒng)控制器穩(wěn)定,數(shù)據(jù)傳送可靠性高等優(yōu)點(diǎn),在實(shí)際使用中取得了良好的效果。
[1] 段晨東.單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2008,381~390
[2] 張毅剛.彭喜元.單片機(jī)原理與應(yīng)用設(shè)計(jì)[M].北京:電子工業(yè)出版社,2008,289~290
[3] 張毅剛.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)(第二版)[M].哈爾濱工業(yè)大學(xué)出版社,2003
[4] 數(shù)碼管驅(qū)動(dòng)及鍵盤控制芯片CH451中文手冊(cè)
[5] 8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52 Atmel英文手冊(cè)
[6] 蔡美琴.張為民等.MCS-51系列單片機(jī)系統(tǒng)及其應(yīng)用(第二版)[M].北京:高等教育出版社,2004,154~156
[7] 劉偉.傳感器原理及實(shí)用技術(shù)[M].北京:電子工業(yè)出版社,2006.3
[8] 孟立凡.藍(lán)金輝.傳感器原理及應(yīng)用[M].北京:電子工業(yè)出版社,2007,8