基于C8051F020的液壓綜合采集系統(tǒng)設(shè)計(jì)
摘要:為了對(duì)液壓設(shè)備中的速率、壓力、流量等參數(shù)進(jìn)行在線檢測(cè),我們自行設(shè)計(jì)了一套液壓工程綜合采集系統(tǒng)。本系統(tǒng)采用新型單片機(jī)C8051F020進(jìn)行數(shù)據(jù)的多通道采集和A/D轉(zhuǎn)換,并輸出到大屏幕LCD彩色液晶進(jìn)行數(shù)據(jù)、曲線、直方圖等顯示;同時(shí)通過(guò)RS-485通訊把數(shù)據(jù)送到上位機(jī),從而實(shí)現(xiàn)了對(duì)液壓設(shè)備的遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)。
關(guān)鍵字:C8051F020,多通道,液晶顯示,串行通訊
1.前言
在工業(yè)控制中需要對(duì)各種參量進(jìn)行采集,即利用信號(hào)采集系統(tǒng)將各種數(shù)據(jù)采集到計(jì)算機(jī)中進(jìn)行實(shí)時(shí)處理。傳感器起著中間橋梁的作用,但是它輸出的信號(hào)往往是很微弱的電流信號(hào),需要經(jīng)過(guò)放大轉(zhuǎn)換成電壓信號(hào)后才能輸入到A/D中進(jìn)行數(shù)據(jù)采集。另外,隨著測(cè)試技術(shù)的不斷發(fā)展,為了適應(yīng)數(shù)字化、高效率等要求,在工業(yè)測(cè)試系統(tǒng)中單片機(jī)的應(yīng)用也越來(lái)越廣泛,它具有實(shí)時(shí)及可靠性高的優(yōu)點(diǎn),并且日益顯示出巨大的優(yōu)越性。本系統(tǒng)采用美國(guó)Cygnal公司的C8051F020單片機(jī)為控制核心,組成了多通道數(shù)據(jù)綜合采集系統(tǒng),它利用較少的外圍器件實(shí)現(xiàn)了對(duì)液壓設(shè)備的控制。
2.C8051F020單片機(jī)簡(jiǎn)介
C8051F020器件是完全集成的混合信號(hào)系統(tǒng)級(jí)MCU芯片(SOC),它使用Cygnal的專(zhuān)利CIP-51微控制器內(nèi)核,CIP-51與MCS-51指令集完全兼容。它采用流水線結(jié)構(gòu),與標(biāo)準(zhǔn)的8051結(jié)構(gòu)相比指令執(zhí)行速度有很大的提高。CIP-51提供了22個(gè)中斷源,允許大量的模擬和數(shù)字外設(shè)中斷微控制器,因而有更高的執(zhí)行效率。具有64個(gè)I/O引腳,每個(gè)端口都可以配置成推挽或漏極開(kāi)路輸出。C8051F020 MCU內(nèi)部有一個(gè)SMBUS/I²C接口、兩個(gè)具有增強(qiáng)型波特率配置的全雙工UART和一個(gè)增強(qiáng)型SPI接口,每種串行總線完全用硬件實(shí)現(xiàn),都能向CIP-51產(chǎn)生中斷。它內(nèi)部有一個(gè)12位的ADC0,該子系統(tǒng)包括一個(gè)9 通道的可編程模擬多路選擇器(AMUX0),一個(gè)可編程增益放大器(PGA0)和一個(gè)100ksps、12 位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟蹤保持電路和可編程窗口檢測(cè)器;一個(gè)8位的ADC1,包括一個(gè)8 通道的可配置模擬多路開(kāi)關(guān)(AMUX1),一個(gè)可編程增益放大器(PGA1)和一個(gè)500ksps、8 位分辨率的逐次逼近寄存器型ADC。兩個(gè)12位的DAC轉(zhuǎn)換器,每個(gè)DAC 都具有靈活的輸出更新機(jī)制,允許無(wú)縫的滿度變化并支持無(wú)抖動(dòng)輸出更新。C8051F020還有5個(gè)通用的16位定時(shí)器和5 個(gè)捕捉/比較模塊的可編程計(jì)數(shù)器/定時(shí)器陣列。
3.系統(tǒng)的硬件結(jié)構(gòu)
多通道綜合采集系統(tǒng)以C8051F020單片機(jī)為核心,主要由以下幾部分組成:數(shù)據(jù)的采集、LCD顯示和數(shù)據(jù)通訊三部分,其硬件框圖如圖1。傳感器輸出的電流信號(hào)經(jīng)過(guò)放大轉(zhuǎn)換后,送至C8051F020內(nèi)部的A/D轉(zhuǎn)換器中,在單片機(jī)內(nèi)部完成模數(shù)轉(zhuǎn)換、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)處理的工作,最后送到LCD顯示,同時(shí)經(jīng)過(guò)RS-485接口送至計(jì)算機(jī),由上位機(jī)進(jìn)行實(shí)時(shí)監(jiān)控。
圖1
3.1數(shù)據(jù)的采集
對(duì)于液壓設(shè)備中的8個(gè)待測(cè)參數(shù)選用相應(yīng)的傳感器來(lái)來(lái)檢測(cè),試驗(yàn)時(shí)選取應(yīng)變式傳感器作為測(cè)試現(xiàn)場(chǎng)的工具。這些選用的檢測(cè)元件輸出都是標(biāo)準(zhǔn)的4-20mA微弱的電流信號(hào),電流信號(hào)又經(jīng)過(guò)由LM324組成的放大轉(zhuǎn)換電路轉(zhuǎn)換成0-5V的電壓信號(hào)輸入到C8051F020的模擬輸入端,如圖2所示,經(jīng)內(nèi)部集成的A/D轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的數(shù)字量。C8051F020將8路采樣值作為液壓設(shè)備現(xiàn)場(chǎng)的狀況存入相應(yīng)的內(nèi)存單元。
圖2
3.2 LCD顯示
為了使數(shù)據(jù)采集系統(tǒng)小巧美觀,同時(shí)又獲得較高的性價(jià)比,選用德彼克公司生產(chǎn)的DMF-50174藍(lán)屏液晶顯示器,該顯示器是320240點(diǎn)陣式液晶,圖形和文本都可以顯示。顯示驅(qū)動(dòng)控制芯片采用EPSON 公司的一種高性能LCD 控制器SED1335。硬件電路采用間接接法,如圖3所示。用單片機(jī)的P5.0~P5.7口作為SED1335的DB0~DB7數(shù)據(jù)總線的輸入通道。P4.5作為SED1335的片選信號(hào), 配合地址信號(hào)A0實(shí)現(xiàn)SED1335 通過(guò)數(shù)據(jù)總線接收來(lái)自單片機(jī)的指令和數(shù)據(jù)。當(dāng)A 0= 0, P4.6(WR)=0,P4.7(RD)= 1時(shí), 實(shí)現(xiàn)指令的寫(xiě)入和從SED1335 中讀取數(shù)據(jù)。當(dāng)A 0= 1, P4.6(WR)= 0, P4.7(RD)=1時(shí), 則是顯示數(shù)據(jù)的寫(xiě)入,該功能通過(guò)軟件實(shí)現(xiàn)。
圖3
3.3 數(shù)據(jù)通訊
單片機(jī)C8051F020的TX0、RX0及P0.2通過(guò)MAX485與上位機(jī)相連,進(jìn)行串行通信,如圖3所示。P0.2控制MAX485的狀態(tài)或發(fā)送,用軟件控制。RX0為單片機(jī)的串行輸入端,接收上位機(jī)通過(guò)MAX485向單片機(jī)發(fā)送的數(shù)據(jù)。TX0為單片機(jī)的串行輸出端,通過(guò)MAX485發(fā)送給上位機(jī)。
4 系統(tǒng)軟件設(shè)計(jì)
4.1 軟件設(shè)計(jì)總體上由兩部分組成:一部分為單片機(jī)C8051F020
主程序設(shè)計(jì),一部分為L(zhǎng)CD液晶顯示程序設(shè)計(jì)。由于用C語(yǔ)言編程
可以降低程序的復(fù)雜度,提高程序的可讀性和可修改性,所以本軟
件采用C51進(jìn)行編程,keil µVision2編譯器進(jìn)行編譯。
主程序流程圖如圖4所示。
4.11 主程序
void main (void){
long voltage; //電壓以mV為單位
int i; //循環(huán)計(jì)數(shù)器
WDTCN=0xde; //禁止看門(mén)狗定時(shí)器
WDTCN=0xad;
SYSCLK_Init(); //初始化振蕩器
PORT_Init(); //初始化數(shù)據(jù)交叉開(kāi)關(guān)
UART0_Init(); //初始化UART0
Timer3_Init(SYSCLK/SAMPLERATE0); //初始化定時(shí)器3溢出作為采樣率
ADC0_Init(); //初始化ADC
AD0EN=1; //允許ADC
EA=1; //允許所有中斷
while(1){
for(i=0;i8;i++)
{EA=0;
voltage=result[i]; //從全局變量中取得ADC值
EA=1;
voltage = voltage*VREF0;//計(jì)算電壓(mV)
voltage = voltage>>16;
LCD_Disp(); //調(diào)顯示程序,顯示電壓值
printf("Channl'%d' voltage is %ldmV",i,voltage);//串口輸出
}}
5 結(jié)束語(yǔ)
測(cè)試實(shí)驗(yàn)中定義C8051F020的采樣頻率為50000Hz,ADC0設(shè)為定時(shí)器3溢出的連續(xù)轉(zhuǎn)換模式,采用差動(dòng)輸入方式組成8路轉(zhuǎn)換通道,單片機(jī)運(yùn)行后由定時(shí)中斷進(jìn)行數(shù)據(jù)采集。
C8051F020將采集的數(shù)據(jù)通過(guò)RS-485接口傳送給上位機(jī),在傳送期間波特率必須和PC機(jī)設(shè)置的波特率保持一致,否則不能正確接收。在測(cè)量過(guò)程中,整個(gè)系統(tǒng)工作穩(wěn)定,數(shù)據(jù)可以得到“準(zhǔn)”實(shí)時(shí)的顯示。
本文作者的創(chuàng)新點(diǎn)就是能夠把液壓系統(tǒng)參數(shù)中的功率P實(shí)時(shí)顯示出來(lái),而在以往的液壓顯示設(shè)備中只能分別顯示液體的壓力p和流量q,然后再用公式P=pq計(jì)算液壓功率,比較麻煩;而且C8051F020芯片集成了大量的外設(shè)和IO口資源,在設(shè)計(jì)系統(tǒng)時(shí),只需使用少量的外圍芯片便可完成所需的功能,簡(jiǎn)化了硬件電路設(shè)計(jì),節(jié)省了電路板空間,縮小了產(chǎn)品的體積,因而本系統(tǒng)有很廣闊的應(yīng)用前景。
參考文獻(xiàn):
1. C8051F020/1/2/3混合信號(hào)ISP FLASH 微控制器數(shù)據(jù)手冊(cè)
2. 鮑可進(jìn),C8051F單片機(jī)原理及應(yīng)用,北京,中國(guó)電力出版社,2006.1
3. 童長(zhǎng)飛,C8051F系列單片機(jī)開(kāi)發(fā)與C語(yǔ)言編程,北京,北京航空航天大學(xué)出版社,2005.1
4. 宋威,基于C8051F的SMBus實(shí)現(xiàn)智能測(cè)溫系統(tǒng),微計(jì)算機(jī)信息,2005年第12-2期,頁(yè)碼:P44-46
5. 員天佑,基于單片機(jī)的多路信號(hào)異步采集技術(shù),微計(jì)算機(jī)信息,2006年第4-2期,頁(yè)碼:P44-45
雙控開(kāi)關(guān)相關(guān)文章:雙控開(kāi)關(guān)原理
評(píng)論