單片機典型案例開發(fā)(五)
圖4 主程序流程圖
AD0809 部分程序流程圖為圖5。
圖5 AD0809 部分程序流程圖
顯示子程序流程圖如圖6。
圖6 顯示子程序流程圖
結語
在本設計中采用多傳感器組成傳感器陣列,可針對多種不同氣體進行信息采集、信息轉換和數(shù)據(jù)處理,最后顯示氣體種類和濃度信息,為多種氣體的檢測提供了一種切實可行的解決方案。
四、單片機實現(xiàn)空氣質(zhì)量流量顯示裝置
空氣質(zhì)量流量顯示裝置可以直觀的反映進入發(fā)動機的空氣流量,有助于為發(fā)動機提供最佳的空燃比。本文以羅蒙斯特質(zhì)量流量計為例,基于STC89C52單片機設計一種空氣質(zhì)量流量顯示裝置,以簡單易控制的STC89C52單片機為控制核心,經(jīng)過AD模塊的轉換,完成對空氣質(zhì)量流量計的顯示裝置,通過對數(shù)據(jù)顯示結果的分析找出模擬量與數(shù)字量之間的線性對應關系,從而為發(fā)動機提供最佳空燃比設立參照途徑。
1 羅蒙斯特質(zhì)量流量計的工作原理
羅蒙斯特質(zhì)量流量計的計量系統(tǒng)包括一臺傳感器和一臺用于信號處理的變送器。傳感器由外殼、微振動測量管、振動驅(qū)動器和信號檢測器及溫度補償元件等主要部件組成。當氣體通過振動測量管時,在氣體推動及外加于測量管的振動力作用下,測量管將獲得附加的科里奧力,其大小與氣體的質(zhì)量流量成正比,科里奧力引起測量管的微小扭曲導致振動時的相位差轉換為線性的電信號輸出,變送器就將此電信號轉換為1~5V的電壓信號,通過AD模塊顯示在顯示裝置上。
2 硬件電路設計
電信號的轉換是單通道,在此選擇容易掌握的ADC0804芯片,其模數(shù)轉換功能已足夠滿足需求。顯示裝置采用4段8位數(shù)碼管,精確度到個位。其模塊圖如圖1所示。
輸入模塊是經(jīng)過變送器轉換的電壓信號,其幅值在1~5V之間變化;AD模塊就是AD芯片,ADC0804是COMS依次逼近型的AD轉換器,三態(tài)鎖定輸出,分辨率為8位,存取時間135us,轉換時間100us,從功能與成本角度考慮,ADC0804是比較合適的;控制模塊選用STC89C52單片機,其性能高,成本低的優(yōu)點在小型控制器的使用上得到普遍的應用。顯示模塊在此選取的是4段8位數(shù)碼管,由經(jīng)驗常識可知5V電壓值對應的數(shù)字量為255,所以在精度要求不是太高的情況下4段8位數(shù)碼管可以滿足其顯示準確性的要求。
2.1 PROTEL電路原理圖
PROTEL是PROTEL公司推出的一款用于電子設計的EDA軟件,因其模塊功能的多樣化和人性化得到眾多電子設計者的青睞。在設計空氣質(zhì)量流量顯示裝置電路板時,首先需要在PROTEL環(huán)境下對原理圖進行構思繪制。經(jīng)過對電路中所需各模塊的分析繪制出如下的電路原理圖,如圖2所示。
2.2 Proteus仿真電路
為了保證電路的搭建正確性和各模塊功能自檢的完善,還需要在Proteus仿真軟件中對搭建的電路原理圖進行仿真測試,如圖3所示是在Proteus仿真環(huán)境中對搭建的電路原理圖進行的仿真。
從圖中可以看出,電路包括最基本的功能模塊:單片機的復位功能模塊,AD模塊和數(shù)碼管的顯示模塊。外接的電壓是5V電壓值,為了可以實時模擬變送器輸出的電壓信號,在此添加一個電位器器件,通過調(diào)節(jié)電位器的阻值變化來模擬輸出電壓信號的變化;從數(shù)碼管的數(shù)字顯示值上看,本次搭建電路和仿真是正確的;調(diào)節(jié)電位器的阻值發(fā)現(xiàn)數(shù)碼管的數(shù)字量隨阻值大小的變化實時變化,表明此電路圖可以模擬變送器器輸出的電壓信號。在完成基本功能需求的基礎上,本電路圖在搭建時考慮到了為尋找后續(xù)電壓數(shù)字值和模擬量之間的對應關系,添加了一直流電壓表,用來顯示對應數(shù)字值所代表的電壓值。
3 單片機軟件設計
利用Kiel51C語言對各模塊進行編程,程序部分主要由主程序,AD采樣、轉換程序,數(shù)碼管顯示程序等組成。軟件程序的流程圖如圖4所示。
圖4 軟件程序的流程圖
4 結果分析
在做好的顯示裝置上采集一系列的電壓值與數(shù)字值。分析電壓值和數(shù)字值之間的對應關系,找出之間的比例關系,并對相關的數(shù)據(jù)結果整理分析計算出顯示裝置的誤差率。采集的相關數(shù)據(jù)如表1所示:
將所采集的電壓值與數(shù)碼管顯示的數(shù)字值分析整理可得出他們之間的線性關系,如圖5所示。
圖5 數(shù)字值和電壓值之間的關系
從圖中選取幾組數(shù)字值和電壓值計算出數(shù)字值和電壓值之間滿足線性關系的斜率為50.33,即以Y表示數(shù)字值,X為電壓值,則Y=50.33X.
由表1中的數(shù)據(jù)可以計算出顯示裝置的相對顯示誤差。
產(chǎn)生誤差的原因是受限于顯示設備的精度和程序的設計,數(shù)碼管以精確到個位為精準度,在顯示中個位的數(shù)字會因外界的干擾發(fā)生變動;程序設計中因受限于顯示設備是4位的數(shù)碼管,所以在程序的編寫過程中沒有附加考慮小數(shù)點后的精度。但從數(shù)值與電壓值之間的線性關系函數(shù)角度考慮,顯示裝置的目的已經(jīng)做到了。通過電壓值與數(shù)字值之間的函數(shù)關系,在顯示裝置上顯示出實時變化的數(shù)字量,通過線性函數(shù)關系找到對應的電壓值,通過變送器的逆向轉換可以得到科里奧力的大小,進而計算出空氣質(zhì)量流量的大小。
5 結束語
結果的分析表明顯示裝置的優(yōu)劣在對空氣質(zhì)量流量計的設計環(huán)節(jié)中起著至關重要的作用。
評論