新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于單片機的軌道壓力測試儀的設計與實現

        基于單片機的軌道壓力測試儀的設計與實現

        作者: 時間:2010-01-11 來源:網絡 收藏

          系統軟件設計

          1采樣和數據處理

          ①AD7705的讀寫時序

          AD7705通過四線SPI與通信,其讀寫時序圖如圖5(a)、(b)所示,讀寫過程中串行數據高位在前,低位在后。DRDY為低電平說明A/D已經轉換完畢,數據已準備好,可以啟動讀寫指令。任何時候要對AD7705進行讀寫操作都須檢查DRDY是否為低。

        圖5AD7705讀寫時序圖

        圖5AD7705讀寫時序圖

          ②AD7705的寄存器

          第一個是通信寄存器(communicationRegister),選擇采集通道、下一次操作是讀還是寫,以及下一次讀寫哪一個寄存器。

          第二個是設置寄存器(SetupRegister),決定校準模式、增益設置、極性設置以及緩沖模式。

          第三個是時鐘寄存器(CLOCKRegister),設置濾波器記憶時鐘控制位。

          軟件編程思路也是按這個順序寫的,先設置通信寄存器,其次寫設置寄存器,最后設置時鐘寄存器。設置完之后,只要檢測到DRDY為低電平,就可以啟動時鐘來讀取AD7705數據寄存器中已轉換好的數據。

          2數據處理算法思路

          數據處理主要是將電壓信號轉換成壓力值,將采集來的數據進行轉換。已知:傳感器的參數為10mV對應的是30kN,A/D的滿量程電壓為1.5V,設采集的A/D值為K,設換算后的壓力為X,10mV對應的A/D值為D,增益為64,則由以上參數可求出:

        由以上參數可求(1)
        由以上參數可求(2)

          式(2)就是轉換后的壓力值和采集的A/D值的關系。

          因為不支持浮點運算,為了能精確的顯示結果,用軟件模擬浮點除法運算,其主要思想是:定義一整型變量INTD,將除的結果存入INTD中,因為是整型變量,所以除法的結果只取了整數部分,例如5/4=1,模擬除法的算法主要依據這一特性。

          第一步,如果采集來的值K大于932,K/932存入整型變量中即可得到整數部分。

          第二步,用K對932取余得到R,顯然R小于932,然后用K對932取余得到R得到小數點后第一位,再用R×10對932取余得到R1,小數點后第二位小數點后第二位,以此類推,得到小數點后第三位dec3。

          第三步,如果采集來的值K小于932,直接進行第二步操作。

          第四步,與邏輯零點進行比較,得到理論壓力值,并進行BCD轉換在數碼管上顯示。

        軟件流程圖

        圖6軟件流程圖

          3程序編程思路及流程圖

          系統軟件編程采用狀態機機制,上電之后進行各個模塊的初始化,包括I/O口初始化、定時器初始化、SPI初始化等。初始化完后進入系統循環,在循環體中根據任務標志位進行任務處理,主要任務有:欠壓處理、數據采集、睡眠、關機等。在數據處理時,先采集通道2的值,然后采集通道1,如果傳感器未接,則采集來的值為零或者近似零,系統報警等待。如果采集來的值大于零,則參與運算。求出理論值顯示。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 忻城县| 凤翔县| 甘洛县| 谷城县| 上栗县| 塔城市| 普格县| 余干县| 凭祥市| 花莲县| 澳门| 临湘市| 灵武市| 乐东| 博客| 文化| 吉首市| 十堰市| 尚志市| 高阳县| 田东县| 潮州市| 根河市| 大邑县| 沁源县| 武平县| 司法| 华坪县| 扎鲁特旗| 翁牛特旗| 申扎县| 通榆县| 绥宁县| 阜康市| 韶山市| 祁东县| 清水县| 青浦区| 全南县| 鹤峰县| 古丈县|