咨詢電話
ENGLISH0755-88840386發(fā)布時間:2021-06-11 15:30:46 |來源:網(wǎng)絡轉(zhuǎn)載
0引言
稱重儀(衡器)是重量計量器具,廣泛用于工業(yè)、交通、商貿(mào)等領(lǐng)域,其測量精度和速度直接影響管理部門決策及物資貿(mào)易結(jié)算效率。隨著電子技術(shù)的發(fā)展,電子稱重儀以其測量精度高、速度快、信號便于計算機控制等優(yōu)點逐漸取代傳統(tǒng)機械式稱重儀。
FPGA(現(xiàn)場可編程門陣列)具有高集成性、低功耗、內(nèi)部延時小、隨著FPGA在高速數(shù)據(jù)采集方面的優(yōu)勢,本文設計了一款基于FPGA的多路采集電子稱重儀,以EPF10K10LC84-4為控制核心,實時采集8路稱重數(shù)據(jù)按通道順序依次顯示于液晶顯示屏,并通過RS232串口通信模塊發(fā)送至上位機。該系統(tǒng)結(jié)構(gòu)簡單、工作可靠,功能易擴展,滿足實際工程需求。
1系統(tǒng)組成及工作原理
基于FPGA的電子稱重儀主要由信號調(diào)理電路、A/D采集電路、核心控制器、顯示和通訊電路組成,系統(tǒng)結(jié)構(gòu)如圖1所示。
稱重時,傳感器內(nèi)電阻應變片(基體)受到形變使惠斯通電橋失去平衡,輸出級差分電壓。為提高A/D采集精度,需將此信號經(jīng)過放大、濾波、絕對值轉(zhuǎn)換等調(diào)理電路后接入A/D轉(zhuǎn)換芯片MAX1312。核心控制器FPGA根據(jù)MAX1312工作時序完成8路稱重數(shù)據(jù)采集,并完成稱重數(shù)據(jù)存儲、液晶屏顯示和串行通訊。
2系統(tǒng)硬件設計
2.1稱重傳感器
稱重傳感器利用應變測力原理,通過彈性元件將力以形變的形式傳遞給應變片。本系統(tǒng)采用型號為LHD001的電壓型壓力傳感器,靈敏度為2mV/V,供電電壓為6V~15V,稱重傳感器結(jié)構(gòu)圖如圖2所示[1]。其中引線4根:紅色接+5V、綠色為正向輸出IN+、白色為反向輸出信號IN-、黑色接地。
2.2信號調(diào)理電路
稱重傳感器靈敏度用于估計A/D轉(zhuǎn)換的輸入電壓和觸發(fā)門檻電壓[2]。因LHD001型壓力傳感器靈敏度為2mV/V,供電電壓為6V時,輸出電壓不超過12mV。為了與(ADC)MAX13120.3V~5.3V輸入電壓范圍相匹配,需對傳感器輸出信號進行放大調(diào)理。放大倍數(shù)選取時通常要考慮A/D轉(zhuǎn)換輸入模擬信號電壓在A/D輸入電壓滿量程左右,即取值277.8左右。選用3片高共模抑制比(CMRR)、低溫漂的OP07組成一個儀用差分放大器,電路圖如圖3所示。
圖3中,A1和A2形成一級放大,A3形成二級放大,
R1=R2=20kΩ,R3=R4=200Ω,R7=R8=6.8kΩ,
R9=R10=20kΩ,則放大倍數(shù)為:297.06
模擬信號放大的同時內(nèi)部高頻噪音也得到放大,為此采用壓控電壓源型二階有源低通濾波電路濾除高頻噪音。傳感器輸出的模擬信號經(jīng)儀用放大器反向放大,再經(jīng)過低通濾波,此時信號為負值,故采用絕對值電路將此信號轉(zhuǎn)化為正值輸出。
2.3A/D采集模塊
系統(tǒng)采用Maxim公司12位模數(shù)轉(zhuǎn)換器(ADC)MAX1312完成模數(shù)轉(zhuǎn)換。MAX1312能提供8個、4個或2個獨立輸入通道,各通道具有獨立采樣保持(T/H)電路,可支持同時采樣。8通道同時轉(zhuǎn)換時間僅需1.98μs,每個通道吞吐率為456ksps。FPGA芯片選用ALTERA公司生產(chǎn)的EPF10K10LC84-4,采用可重構(gòu)的CMOSSRAM工藝,內(nèi)嵌功能模塊豐富。A/D采集模塊結(jié)構(gòu)圖如圖4所示。
圖4中,模擬信號從MAX1312的CH0~CH7輸入,F(xiàn)PGA內(nèi)采樣控制器根據(jù)MAX1312工作時序?qū)⒛M量轉(zhuǎn)換成12位數(shù)字量D0~D11傳送至FPGA內(nèi)存儲器進行數(shù)據(jù)處理。
2.4LCM液晶顯示模塊
LCM液晶顯示模塊由LCD控制器、LCD驅(qū)動器、LCD顯示裝置三部分組成。其中,LCD控制器用于與FPGA芯片進行溝通,LCD驅(qū)動器負責點亮LCD顯示裝置。本系統(tǒng)采用的LCM模塊是將LCD控制器、LCD驅(qū)動器集成到一塊IC芯片,型號為HD44780。
2.5通信電路
FPGA通過RS232與上位機進行通訊。本設計使用9針接口中2、3、5三個管腳進行通信。由于FPGA是使用3.3V系統(tǒng),而RS232信號使用負邏輯,邏輯0電壓范圍是+5V~+15V,而邏輯1的電壓范圍是-15V~-5V,所以使用SP3232E進行
RS232電平轉(zhuǎn)換[4]。
3系統(tǒng)軟件設計
3.1采樣控制器
首先配置寄存器,選擇需要轉(zhuǎn)換的A/D通道。然后通過CONVST發(fā)出開始轉(zhuǎn)換信號,八個通道開始轉(zhuǎn)換。AD1_EOC_in用于計數(shù),計滿8次后表示8個通道數(shù)據(jù)采集完成,此時AD1_EOLC_in轉(zhuǎn)為低電平。EOLC為8信號通道數(shù)據(jù)采集完成標志,EOLC跳變到低電平表明最后一個通道轉(zhuǎn)換借宿,此時將數(shù)據(jù)存入FIFO,結(jié)束數(shù)據(jù)采集并進入新循環(huán)。圖5是MAX1312采樣控制狀態(tài)圖。
系統(tǒng)上電或重啟后進入狀態(tài)ST0,實現(xiàn)A/D參數(shù)初始化,并保持一段時延;FPGA對CONVST產(chǎn)生觸發(fā)信號(上升沿)啟動A/D轉(zhuǎn)換,進入狀態(tài)ST1,否則繼續(xù)保持ST0EOC是A/D轉(zhuǎn)換結(jié)束1次的標
志ST2狀態(tài)中采用計數(shù)器對EOC下降沿計數(shù)當計滿8后表示通道轉(zhuǎn)換結(jié)束,進入狀態(tài)ST3;ST3中,通過檢測進程中的AD_convst_end信號結(jié)束判斷是否讀取轉(zhuǎn)換后的數(shù)據(jù);狀態(tài)ST4是將8通道A/D采集的數(shù)據(jù)發(fā)送至FIFO;狀態(tài)ST5是將讀取到的數(shù)據(jù)傳送至SLAVEFIFO;數(shù)據(jù)存儲完成后,F(xiàn)IFO_tran_end置有效信號,轉(zhuǎn)變到初始狀態(tài),完成對A/D的采集與傳輸。
3.2LCD顯示模塊
3.2.1譯碼模塊設計
為了能在LCD模塊上正常顯示,A/D轉(zhuǎn)換后的二進制數(shù)據(jù)需先轉(zhuǎn)換為BCD碼并移位送給LCM模塊。將十二位數(shù)據(jù)輸入后左移一位,檢測個、十、百位是否滿5,滿5則對該位數(shù)加3并向左移動一位,再進行如上檢測,直至轉(zhuǎn)換為20位BCD碼。定義五個四位總線類型的寄存器變量,將20位BCD碼從低到高四位一組依次賦給寄存器變量,并從bcd1、bcd2、bcd3、bcd4、bcd5端口輸出,分位模塊如圖6所示。
3.2.2稱重顯示模塊設計
FPGA按時序驅(qū)動LCD:首先預熱LCD(全0指令)進行功能設置;設置顯示狀態(tài)、屏幕畫面移動方式和光標移動方式,然后清除顯示畫面;設置顯示模式(設置幾行顯示);最后打開畫面進入數(shù)據(jù)采集流程。輸入地址選擇LCD顯示位置,然后將需要顯示的數(shù)據(jù)與ASCⅡ碼表進行對照,譯碼輸出。LCD控制模塊如圖7所示。
其中,shuju5~shuju1為五位數(shù)字的每位BCD碼輸入端。Cont端接入地址計數(shù)信號,每來1個cont脈沖輸出1個數(shù)據(jù),先輸出字符串‘Weight:’,然后將jishu5~jishu1輸入的數(shù)值依次顯示,在第三位的時候插入小數(shù)點,抵消前面數(shù)值擴大倍數(shù)1000倍。Select_out信號用于選擇輸出的十二位二進制數(shù)是指令還是數(shù)值。Enable直接提供反時鐘信號進行使能控制。Rw_out信號控制讀寫模式,此處設為0,用于寫信號。
3.3系統(tǒng)通訊模塊
因同時采集8通道稱重數(shù)據(jù),系統(tǒng)通訊模塊傳輸數(shù)據(jù)量大。為提高通信速度,采用同步通信方式,即通過同步字符在每個數(shù)據(jù)塊傳送開始時間使收發(fā)雙方同步?;赨ART協(xié)議發(fā)送模塊如圖8所示。
圖中,clk為50MHz系統(tǒng)時鐘,Wm為發(fā)送使能端,din[7..0]接轉(zhuǎn)碼模塊處理完的數(shù)據(jù),sdo接PC機。讀入一組8位串行數(shù)據(jù)din[7..0]到內(nèi)部寄存器,從最低位開始一位一位輸出,每一位輸出后8位數(shù)據(jù)向右移一位,最高位補0,實現(xiàn)數(shù)據(jù)串行發(fā)送。
4系統(tǒng)標定
實驗采用8個重量分別為0.710kg、0.820kg、0.745kg、0.795kg、0.765kg、0.770kg、0.515kg、0.785kg的鐵塊作為實驗待測樣本,待測鐵塊從同一通道輸入,測得稱重重量與模擬信號經(jīng)放大反向后輸出電壓間數(shù)據(jù),并用最小二乘法曲線擬合后如圖9所示。
圖9觀測到傳感器壓力信號與轉(zhuǎn)變后電信號間為線性關(guān)系,用最小二乘法線性擬合后關(guān)系式為y=7.222(x-0.0024),其中x為電壓值,單位V;y為重量,單位kg;7.222為標定系數(shù);0.0024為零點電壓值。
5結(jié)束語
實驗測試表明:所設計開發(fā)的基于FPGA的電子稱重儀性能可靠、操作簡單、測量精度較高,同時利用FPGA高集成性、I/O口多的優(yōu)勢,容易滿足功能擴展和系統(tǒng)升級要求,具有很高的實用價值。
本文源于網(wǎng)絡轉(zhuǎn)載,如有侵權(quán),請聯(lián)系刪除