熱工計量便攜計算工具有設計與實(shí)現
摘要:介紹用于工業(yè)熱工計量分度表計算及其它運算的一種便攜計算工具。本設計選擇滿(mǎn)足高速、大的程序容量需求的單片機,并對系統結構作了說(shuō)明。
本文引用地址:http://dyxdggzs.com/article/255612.htm關(guān)鍵詞:熱工計量 分度表計算 高速單片機 浮點(diǎn)計算
在電力、石化、鋼鐵等行業(yè)中大量使用各類(lèi)標準或非標準的熱電阻與熱電偶。為保證測量精度,這些溫度測量器件需要定期檢定或校準。計量工程師在檢定時(shí),需要進(jìn)行大量的分度表計算。這類(lèi)計算,尤其是標準溫度計的分度表計算,方法復雜、費時(shí)費力、容易出錯。在些單位因此編制了一些小程序配合計算,但基于微機的程序對于大量的現場(chǎng)計算顯得很不方便,計量工程師迫切需要一種快速便捷的計算工具。
本熱工計量便攜計算工具采用兩組單片機作為計算與控制核心。一組芯片用于核心計算及基本控制,另一組芯片專(zhuān)門(mén)用于復雜的中文界面顯示,兩者之間通過(guò)SPI總線(xiàn)通訊。這種設計在系統成本增加不多的情況下,簡(jiǎn)化了設計難度,提高了系統的可靠性。本熱工計量便攜計算工具可以完成標準熱電阻、標準熱電偶分度表轉換計算;工業(yè)熱電阻、熱電偶分度表轉換計算;變送器轉換計算;壓強、溫度等14類(lèi)物理量約170種單位的轉換以及其它復雜的數學(xué)函數及浮點(diǎn)計算等,可以充分滿(mǎn)足計量工程師現場(chǎng)及實(shí)驗室的計算需求。
1 計算需求
以比較復雜的標準鉑銠10—鉑熱電偶的分度表計算為例,分析對單片機計算功能的需求。計算方法依據ITS90國際溫標及國家技術(shù)監督局頒發(fā)的JJG75-95《標準鉑銠10—鉑熱電偶》計量檢定規程。與一般常規計算不同,熱電偶分度表計算具有步驟多、計算嵌套多以及需要大量的浮點(diǎn)乘法甚至指數計算等特點(diǎn),計算精度為十進(jìn)制5位有效數字,ANSI規定的單精度浮點(diǎn)計算可以滿(mǎn)足精度要求。
考慮一般的計算情形,如果某標準S熱電偶鋅、銻、銅點(diǎn)熱電勢已知,測量某溫度場(chǎng)的溫度,用冰點(diǎn)器作為冷端補償,此時(shí)可以測量得到其熱電勢,需要計算此時(shí)的溫場(chǎng)溫度。下面是計算過(guò)程中用到的計算公式。
參考函數,約有17次乘法及8次加法。
插值函數,有3次乘法及2次加法。
ΔE(t)/μV=a+bt+ct 2
系數計算,有9次乘法及6次加法。
在計算中,需要對參考函數用二分法及線(xiàn)性插值法求其反函數的解,對一般的電壓點(diǎn)大約需要進(jìn)行12次參考函數調用??紤]到其他運算,計算該溫度點(diǎn)大約需要做250次單精度浮點(diǎn)乘法計算以及140次單精度浮點(diǎn)加法計算。
如果考慮現場(chǎng)冷端補償溫度不為0℃的情況,上述計算次數需要加倍,即約500次單精度浮點(diǎn)乘法計算以及280次單精度浮點(diǎn)加法計算。
2 選擇單片機
2.1 計算精度及速度要求
考慮到計算精度(單精度浮點(diǎn)計算)的需求及價(jià)格因素,選擇使用8位單片機。
市面上有很多種類(lèi)的8位單片機,比較典型的有MCS51系列產(chǎn)品。選擇了INTEL 8031處理器作為選擇的判斷基礎,使用6MHz石英晶體,用C51編制上述例子的計算程序。在實(shí)際計算中,測得完成一次完整的計算約需4秒。對于某些需要指數計算的例子,時(shí)間可長(cháng)達10余秒。由于程序的編制水平不同,不同單片機的結構、指令不同等諸多因素影響,無(wú)法精確計算各類(lèi)8位單片機的運算時(shí)間,這個(gè)測試結果僅作為判斷的依據。
作為實(shí)際使用的產(chǎn)品,用戶(hù)可以接受的計算時(shí)間是1秒以?xún)?,因此必須采用高?位單片機。
本熱工計量便攜計算工具設計功能較多,程序較大,使用C語(yǔ)言編程,生成代碼較多。先在INTEL 8031上完成包含輸入輸出的上述計算的完整程序,生成代碼長(cháng)度約4KB,完成全部功能,最終程序代碼長(cháng)度約為80KB。相對于一般嵌入式微處理器應用,此程序代碼相對較多。為精簡(jiǎn)系統以及保密的要求,采用片內集成ROM或FLASH程序存儲器的單片機,要求其程序存儲器容量在80KB以上。
由于設計功能較多,需要實(shí)時(shí)保存大約2KB的參數,即需要2KB以上的EEPROM實(shí)時(shí)保存數據。另外需要帶SPI總線(xiàn)接口以達到快速數據顯示的目的,對其它如I/O口數量等沒(méi)有特殊的需求。
2.3 選擇結果
ATMEL公司的ATmega103單片機是基于RISC結構、內置FLASH的單片機,采用Harvard流水線(xiàn)結構,一個(gè)時(shí)鐘周期可以執行一條指令。ATmega103時(shí)鐘頻率為6MHz,由于采用8位RISC結構,速度可以接近1MIPS/MHz,是同樣頻率傳統MCS51系列單片機速度的十幾倍。經(jīng)過(guò)測試,可以在0.1秒內完成上述的測試運算,在速度上完全達到了用戶(hù)期望值。
ATmega103內置128KB的程序FLASH,完全滿(mǎn)足所需的程序存儲空間。本熱工計量便攜計算工具最終完成后程序存儲量為76KB。ATmega103內置2KB的EEPROM,足夠存儲中間參數,其他特性也使得電路設計更加簡(jiǎn)潔。此外,可以使用效率較高的C語(yǔ)言編程。
經(jīng)過(guò)多方比較,最終選擇了ATmega103單片機作為核心計算及基本控制處理器。
3 系統結構與工作原理
3.1 硬件結構
本熱工計量便攜計算工具原理框圖如圖1所示。
在硬件設計中,較有特點(diǎn)的電路設計說(shuō)明如下:
電源部分采用MAX713的智能鎳鎘電池充電電路。MAX713是使用較為廣泛的智能充電芯片,設計靈活,使用功率MOSFET組成低功耗的開(kāi)關(guān)型電源,可以在充電的同時(shí)為系統供電。穩壓部分采用MAX639。MAX639特別適合9V供電,本身帶有低電壓檢測功能。圖2是穩壓及電壓監控電路部分。
圖2中,VOLT_IN端是電源輸入端,也是MAX713電壓輸出端。ON_OFF端是開(kāi)關(guān)機鍵。該端接地開(kāi)機,Q1導通,為MAX639供電,輸出VCC穩壓5V。CPU初始化時(shí)將TURN OFF PC7端置高電平,Q2導通,保持Q1持續導通。在開(kāi)機狀態(tài)下,按開(kāi)關(guān)機鍵,ON_OFF端接地,OFF INT0外部中斷端電平拉低,CPU響應中斷后檢測PA7端,PA7端為低電平表示有關(guān)機請求,此時(shí)將TURN OFF PC7端置低電平,Q2截止,Q1截止,實(shí)現關(guān)機。圖2中,LOW BATT PA6是低電壓復位輸出端。
本系統鍵盤(pán)按鍵較多(37鍵),但是為了降低成本,同時(shí)充分利用ATmega103現有的I/O口,采用了矩陣鍵盤(pán)設計。特別之處是采用中斷鍵盤(pán)響應,統一處理按鍵信號、關(guān)機信號及低電壓檢測信號,由于A(yíng)VR單片機有內部上拉電阻,因此簡(jiǎn)化了電路設計。
3.2 軟件結構
由于系統程序較大,采用了模塊化編程,充分利用C語(yǔ)言豐富的現成庫函數以簡(jiǎn)化程序設計。圖3是系統軟件框圖。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論