咨詢電話
ENGLISH0755-88840386發(fā)布時間:2020-09-28 11:01:52 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
0引言
稱重計量技術(shù)在冶金、交通、電力、建材和化工等領(lǐng)域有著非常廣泛的應(yīng)用。在生產(chǎn)過程或工藝流程中,對各種配料稱重、定量稱重及動態(tài)稱重技術(shù)的要求越來越高。衡器已成為工藝技術(shù)、預(yù)包裝技術(shù)、收發(fā)貨業(yè)務(wù)及商貿(mào)行業(yè)中必不可少的組成部分,稱重傳感器及智能稱重儀表作為衡器的心臟部件,在工業(yè)過程控制和貿(mào)易結(jié)算等方面倍受重視⑴。
目前,稱重傳感器主要分為壓電式、壓磁式和電阻應(yīng)變式,其中電阻應(yīng)變式稱重傳感器是現(xiàn)階段應(yīng)用廣泛、性能穩(wěn)定、準確度高且技術(shù)成熟的稱重傳感器⑴。它利用金屬彈性體的應(yīng)變效應(yīng)進行轉(zhuǎn)換,在力的作用下,彈性體發(fā)生形變,帶動應(yīng)變片發(fā)生形變,產(chǎn)生電阻的變化,電阻的變化反映力的大小。
為了解決傳統(tǒng)稱重儀表設(shè)計方法上的不足,本文對國產(chǎn)基手CSU60和ATmegal6L設(shè)計的智能稱重儀表結(jié)構(gòu)原理介紹如下。
1簡化結(jié)構(gòu)設(shè)計
在給定激勵電壓10-12V的條件下,電阻應(yīng)變式稱重傳感器的輸出電壓在0~30mV,如此微弱的信號只有在智能稱重儀表的配合下,將傳感器的信號轉(zhuǎn)化成重量,并通過各種通信接口輸出給上位機[2~4]o稱重儀表的組成結(jié)構(gòu)如圖1所示⑸。信號調(diào)理電路主要由濾波電路、抗混疊電路等組成;放大電路主要由運算放大器構(gòu)成,用來將毫伏級信號
放大到伏級,以便A/D電路將其轉(zhuǎn)化成數(shù)字量。
圖1稱重儀表組成結(jié)構(gòu)
上述電路中,半導(dǎo)體集成度不高、器件多、溫度補償不好控制并且可靠性低。而由深圳生產(chǎn)的CS1160是16位高精度、低功耗Sigma-Delta模數(shù)轉(zhuǎn)換芯片,可以在2.7-5.5V電源電壓條件下工作⑸。CS1160的1~128倍可編程增益放大器,當工作在128倍時,CS1160有效分辨力可達16bitso備有一個二階Sigma-Delta調(diào)制器,芯片的FIR濾波器提供50Hz和60Hz陷波濾波,有效提高了芯片的抗干擾性能。
該芯片不僅集成了信號調(diào)理電路、放大電路和數(shù)模轉(zhuǎn)換電路,還提供了非常適合儀表產(chǎn)品的校正功能。因此,可將圖1簡化為圖2所示的設(shè)計簡圖。
圖2稱重儀表設(shè)計簡圖
2改進硬件設(shè)計
隨著信息技術(shù)的高速發(fā)展,微控制器(MCU)的性能大幅度提高,為高度智能化儀表的設(shè)計制造提供了平臺。本文智能稱重儀表設(shè)計采用Atmel公司的ATmegal6L高性能、低功耗8位AVR微處理器。它采用先進的RISC結(jié)構(gòu),工作于16MHz時性能高達16MIPS;內(nèi)置16kB的系統(tǒng)內(nèi)可編程Flash、512B的EEPROM、lkB的片內(nèi)SRAMJTAG接口支持擴展的片內(nèi)調(diào)試功能;2個8位定時器/計數(shù)器、1個16位定時器/計數(shù)器、4通道PWM、8路10位ADC.TWI兩線接口、SPI串行接口、串行USART接口等。
基于CS1160和ATmegal6L設(shè)計的智能稱重儀表具備以下特點:自動調(diào)零、自動平衡、自動補償和自選量程等信息處理功能;數(shù)據(jù)自動采集、預(yù)處理、相關(guān)濾波,且由傳感器本身消除異常值和例外值,提供比傳統(tǒng)傳感器更全面、更真實的信息;能夠隨機標定;具有一定程度的記憶與處理功能,內(nèi)含特定算法并可根據(jù)需要進行改變;能輸出數(shù)字信號,具有遠程通信能力和良好的人機界面。依照上述要求設(shè)計的智能稱重儀表外圍電路如圖3所示。集成芯片CS1160有16個管腳,模擬電源(+12V,AGND)、數(shù)字電源(卩cc,DGND)、參考電壓(匕Q都是單獨分開的,數(shù)模轉(zhuǎn)換的時鐘由一個4.9152MHz外部晶振實現(xiàn),參考電壓5V由TI431提供,所以R,。和R”選擇了IO®精度的等值27kfl電阻。電阻應(yīng)變傳感器的激勵電壓選擇+12V直流,差分信號經(jīng)阻容濾波電路后接到CS1160的AIN0和AIN]兩端。CS1160芯片的DRDY、SCLK、SDO、SDI、CS引腳分別是數(shù)據(jù)準備就緒、串行時鐘、串行數(shù)據(jù)輸出、串行數(shù)據(jù)輸入、片選,它們與MCU的SPI接口連接,用來讀寫控制CS1160,完成數(shù)模轉(zhuǎn)換。
主控MUC釆用ATmegal6L高性能AVR芯片,外部晶振采用7.3728MHz,方便在線調(diào)試和程序燒錄;LCM選擇了OCMJ4X8C,其內(nèi)置一二級漢字庫、128x64的顯示點陣,可以顯示圖形和中英文字符,而無需自建字模。該液晶還可以通過PSB控制引腳,切換到串行方式,節(jié)省MCU的I/O引腳。
3優(yōu)化程序設(shè)計
CS1160使用了一系列指令來完成對芯片的工作模式、工作速度和誤差校正等的控制。接收數(shù)據(jù)時總是高位在前,發(fā)送數(shù)據(jù)的格式則由ACR寄存器的BITORDER位來決定。CS1160指令描述如表1所示。
1)數(shù)據(jù)讀取函數(shù)的編寫如下:
voidspi_init(void)
i
SPCR=0x00; //diablespi
SPSR=0x00; 〃2X
SPCR=0x52; //setupSPI
2)將SPI接口初始化完畢后,就可以通過對SPI數(shù)據(jù)寄存器SPDR的操作,完成CS1160指令。下面是讀取CS1160數(shù)模轉(zhuǎn)換結(jié)果的函數(shù),使用的是RDATA指令:
UnsignedintReadData(void)
I
cs=o;〃片選
unsignedchari=0;
unsignedintdata=0;〃返回值變量
unsignedchartmp=0;〃臨時變量存放中間值while(DRDY);〃當DRDY為高時,不讀取數(shù)據(jù)SPDR=0x01;〃將命令寫入SPI寄存器,同時開始寫到CS1160
while(!(SPSR&0x80));〃等待發(fā)送完畢tmp=SPSR;〃清除發(fā)送標志
tmp=SPDR;〃丟棄該數(shù)據(jù)
SPDR=0x00;
while(!(SPSR&0x80));〃繼續(xù)輸入讀數(shù)脈沖tmp=SPSR;
tmp=SPDR;〃丟棄該數(shù)據(jù)
SPDR=0x00;
while(!(SPSR&0x80));〃繼續(xù)輸入讀數(shù)脈沖tmp二SPSR;
data=SPDR;
data=data<<8;〃讀取高8位數(shù)據(jù)
SPDR=0x00;〃高8位置于高位
while(!(SPSR&0x80));〃繼續(xù)輸入讀數(shù)脈沖tmp=SPSR;
dataI=SPDR;〃低8位置于低位
CS=1;〃取消片選
returndata;〃返回結(jié)果
I
3)指令RREG和WREG與指令RDATA操作方式類似:
VoidWriteCommand(unsignedcharComm)
I
SPDR=Comm;〃寫入命令while(!(SPSR&0x80));tmp=SPSR;
I
4結(jié)束語
通過使用CS1160集成芯片,配以ATmegal6L高性能單片機,不僅簡化了稱重儀表的設(shè)計、降低了產(chǎn)品成本、提高了可靠性,而且在實際生產(chǎn)應(yīng)用中效果良好。另外,在應(yīng)用過程中,有些功能不能夠很好地滿足現(xiàn)場的需求,比如,由于現(xiàn)場條件限制,對傳感器的標定方法還不夠靈活、系統(tǒng)電源的抗干擾能力較差等,需要進一步開發(fā)研究。
文章來源于網(wǎng)絡(luò)轉(zhuǎn)載,侵刪