上海電機學院(上海 200240) 陳 梅
單片機具有集成度高、功能強、體積小、價格低、抗干擾能力等優于一般CPU的優點,因此,在要求較高控制精度和較低成本的工業測控系統中,往往采用單片機作為數字控制系統取代模擬控制系統。本文介紹一種基于AT89S52的沙漿稱重系統的研制方法,利用單片機和傳感器實現對重量的高精度測量。
基于AT89S52單片機的沙漿稱重系統硬件電路如圖1所示。

圖1 系統硬件結構圖
系統工作原理:先由稱重傳感器負責實時采集現場鋼制儲料罐、支架及水泥物料等所有物體的總重量信號,并把重量信號直接轉換為0~20mV的微弱信號。AD7705采用了成本較低但能獲得極高分辨率的∑-Δ轉換技術,可以獲得16位無誤碼數據輸出,AD7705片內的增益可編程放大器PGA通過指令設定實現對輸入信號的放大,再進行A/D轉換后轉換電路以數字形式傳送給AT89S52單片機。AT89S52單片機取得相應的數據后,根據用戶設置(總重量或凈重量等)顯示要求進行分析與運算。數碼驅動及鍵盤控制芯片CH451,通過可以級聯的串行接口接收單片機的運算結果數據,并直接驅動六個數碼管顯示當前所測物體的重量。
本系統硬件主要包括單片機的最小系統、重量采集電路、模數轉換電路、顯示電路和外圍控制電路等。
稱重傳感器是本系統的關鍵部件,是一種將質量信號轉換成可測量電信號的輸出裝置,它的性能和精度直接關系到重量檢測系統的檢測精度。傳感器的輸出信號經過濾波電路,消除信號中的串模、共模干擾以及高頻干擾信號后進入A/D轉換器。
2.1.1 稱重傳感器
混凝土攪拌樓稱重傳感器為電阻應變式,主要部分由電阻應變片、彈性體和檢測電路組成。彈性體在外力作用下產生彈性變形,使粘貼在他表面的電阻應變片也隨之產生變形,其阻值發生變化,再經相應的測量電路把電阻變化轉換為電壓信號,從而完成將外力變換為電信號的過程。
混凝土攪拌樓站中稱重傳感器處于相當惡劣的運行條件中,環境溫度、濕度、大氣壓力、震動、磁場、電場等諸多因素均可能產生換能誤差、零點漂移和靈敏度的變化。差動式惠斯登電橋的靈敏度高,各臂參數一致,各種干擾的影響可以相互抵消,還可以方便地解決稱重傳感器的補償問題,故稱重傳感器均采用箔式雙軸片連接成的差動式惠斯登電橋作為測量電路。稱重傳感器的電阻應變計能夠達到溫度自補償,還可以通過線路補償來彌補傳感器的零點溫度漂移和輸出靈敏度的變化。
使用過程中傳感器結構、容量、技術參數選擇等都會使測量結果產生誤差,故需要合理選擇額定容量,稱重傳感器的額定容量 =K(皮重+最大稱重)/傳感器組合個數。(K是安全系數,取決于振動、沖擊、偏載等因素;皮重指秤斗及其上面各附件的重量)。傳感器數量的選擇是根據秤體需要支撐的點數 (根據秤體幾何重心和實際重心重合的原則)而定。故選用四只量程為20T,靈敏度為2 mV/V,精度為0.2%,供電電壓為10V,滿量程輸出為20mV的SM40-A型稱重傳感器組成并聯輸出電路,如圖2所示,總稱重為80T。并聯輸出電路的四只稱重傳感器由一個供橋電源供電,既節省設備、簡化系統,又提高了稱量的可靠性;總輸出阻抗的減小,也增強了系統的抗干擾能力。利用平均值電路原理,每只傳感器的輸出阻抗相等,則橋路輸出點電壓ΔU為各個橋路輸出的算術平均值。

圖2 四稱重傳感器并聯電路圖
稱重傳感器除了固有的非線性等系統誤差外,所有其它的誤差均為隨機誤差。隨機誤差通常按高斯定律分布,其分布的鐘形曲線如圖3所示。隨機誤差分布的基本度量是方差 !2,在數學上定義為:

隨機函數分布如圖3所示,若方差大,則誤差分布曲線平坦(如圖3曲線b所示);如果方差小,誤差分布曲線就十分尖銳(如圖3曲線c所示)。高斯誤差分布函數的數學性質中,99.7% 的誤差位于3!間。n個稱重傳感器系統是由同樣量程的稱重傳感器組成的,隨機誤差的分布是相同的。在多只傳感器組合使用時,其綜合誤差為


圖3 隨機函數分布曲線
2.1.2 高精度A/D轉換
稱重傳感器的輸出為mV級的微弱信號,傳統的測量方法是在A/D轉換之前加一級高精度的放大器,電路復雜。本系統采用AD7705,器件包括由緩沖器和增益可編程放大器組成的前端模擬調節電路,∑-Δ調制器,可編程數字濾波器等部件,能直接將傳感器測量到的多路微小信號進行A/D轉換,減少了信號調理環節,避免了放大電路產生的漂移。器件采用三線串行接口,有兩個全差分輸入通道,用E-V轉換技術能達到0.003%非線性的16位無誤碼數據輸出,其增益和數據輸出更新率均可編程設定。它包括自校準和系統校準選項,以消除器件本身或系統的增益和偏移誤差,與內部增益可設定的特點相結合,能有效地避免弱信號以及信號調理電路帶來的漂移影響。
本系統采用X5045看門狗芯片,常用接線如圖3所示。它是單片機系統中廣泛應用的一種可編程控制電路,它把上電復位、看門狗定時器、電壓監控和E2PROM四種常用功能組合在單個芯片里,以降低系統成本、節約電路板空間。X5045中的看門狗在系統發生故障而超過設置時間時,通過RESET信號向CPU做出反應,X5045提供三個時間值供用戶選擇使用。它所具有的電壓監控功能還可以保護系統免受低電壓的影響:當電源電壓降到允許范圍以下時,系統將復位,直到電源電壓返回到穩定值為止。X5045的存儲器與CPU通過串行通信方式接口,512 x 8個字節的E2PROM用于存儲單片機系統的重要數據。

圖3 X5045常用接線圖
很多以單片機為核心的儀器儀表都需要數碼管顯示和鍵盤掃描。本系統采用CH451,CH451是一個整合了數碼管顯示驅動和鍵盤掃描控制以及μP監控的多功能外圍芯片。CH451內置RC振蕩電路,可以動態驅動8位數碼管或者64只LED發光管,具有BCD譯碼、閃爍、移位等功能;同時還可以進行64鍵的鍵盤掃描,并內置去抖動電路,可提供按鍵中斷與按鍵釋放標志位等功能;CH451通過可以級聯的串行接口與單片機等交換數據;并提供上電復位和看門狗等監控功能。
基于AT89S52單片機的沙漿稱重系統的軟件主要由以下幾個模塊組成,即系統的主控模塊、數據采集模塊、數據處理模塊、系統保護模塊和數據顯示模塊。
設計選用AT89S52單片機,采用匯編語言進行編程。系統初始化階段需完成:將單片機的定時器T0設置為模式1(16位計數);啟動CH451的顯示驅動和鍵盤掃描,設置BCD譯碼方式,掃描極限為6,亮度為10/16;AD7705初始化:選時鐘寄存器,選通道1,轉換頻率為50Hz,自校準,單極性,緩沖模式,增益128;X5045初始化:設置寫允許,開看門狗。
首先通過稱重傳感器將采集到的重量信息轉換為微弱的電壓信號,然后通過AD7705轉化成16位數據輸出,AT89S52單片機取得相應的數據后,根據設置要求經主程序分析與運算以后,利用CH451直接驅動六個數碼管,顯示當前所測物體的重量。主程序流程圖如圖4所示。

圖4 主程序流程圖
沙漿稱重系統經過設置過程后,自動進入重量動態顯示狀態,以5位數字的形式顯示當前所測得的重量。面板上有移位、遞增、遞減、編程和清零按鍵,在重量動態顯示狀態下,除編程按鍵之外各鍵均處于無效狀態。系統編制了多條功能指令即選擇參數號以實現各種操作。
參數設置狀態的進入和退出,通過編程鍵、移位、遞增、和遞減鍵的操作實現。進入參數設置狀態后,首先應設置密碼,只有在確認密碼正確以后,才能對其它參數進行設置,否則即使選擇了參數號,也無法進入該參數進行操作。裝置內置的密碼值可通過參數號進行修改。傳感器所測得的重量,包括鋼制儲料罐、支架及水泥物料等所有物體的總重量,要得到水泥物料的凈重,必須在總重量中扣除除了水泥物料之外所有器件的重量,即扣除皮重,通過功能指令,可將當前重量作為皮重存儲到裝置中,使以后所測量的總重量自動扣除皮重后進行顯示;如果需要顯示的是包括鋼罐在內的總重量,或要對原來保存的皮重重新設置,也可以將存儲在裝置內的皮重加以清除或修改。選擇參數號還可以對AD轉換的倍率進行修正,裝置內置的初始倍率為16進制數值2E90H,即傳感器20mV的測量信號電壓對應顯示重量80000kg。
本沙漿稱重系統,充分發揮了AT89S52單片機強大的控制能力,通過稱重傳感器、16位分辨率的A/D轉換器和數碼管驅動及鍵盤控制芯片,實現了對沙漿重量的高精度測量和顯示。系統具有實現簡單,系統控制器穩定,數據傳送可靠性高等優點,在實際使用中取得了良好的效果。
[1] 段晨東.單片機原理及接口技術[M].北京:清華大學出版社,2008,381~390
[2] 張毅剛.彭喜元.單片機原理與應用設計[M].北京:電子工業出版社,2008,289~290
[3] 張毅剛.新編MCS-51單片機應用設計(第二版)[M].哈爾濱工業大學出版社,2003
[4] 數碼管驅動及鍵盤控制芯片CH451中文手冊
[5] 8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52 Atmel英文手冊
[6] 蔡美琴.張為民等.MCS-51系列單片機系統及其應用(第二版)[M].北京:高等教育出版社,2004,154~156
[7] 劉偉.傳感器原理及實用技術[M].北京:電子工業出版社,2006.3
[8] 孟立凡.藍金輝.傳感器原理及應用[M].北京:電子工業出版社,2007,8