新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DS2438芯片的智能電池監測系統

        基于DS2438芯片的智能電池監測系統

        作者: 時間:2012-02-08 來源:網絡 收藏


        四、系統功能軟件實現及流程圖

          為了滿足監測的實時性,本系統單片機采用定時中斷的方式訪問,進行電池參數采集。首先設置單片機的計數器為定時方式,開啟計數器,定時長短可隨需要靈活設定。然后單片機運行其它程序,等待定時中斷的到來。定時中斷發生之后進入中斷服務程序,調用的控制操作程序,進行數據采集,并將采集來的數據進行處理和顯示,最后重新初始化定時中斷,返回。圖3是系統總體流程圖,圖4是中斷服務程序流程圖。

          與單片機進行數據通訊時僅用一根數據線,因此必須嚴格按照芯片的讀寫時序要求來編寫程序,這樣才能保證數據的正確讀寫。這一過程雖然繁瑣,但并不復雜,因篇幅有限,本文對此不予說明。下面介紹如何實現利用基于DS2438芯片的智能對儀器的供電方式(直流或交流)和電池的電壓、電流、溫度、剩余電量進行監測。

          1.供電方式的監測

          要確定儀器在使用中處于何種供電方式,可利用前面介紹的電流寄存器的值進行判定。

          首先單片機控制DS2438使其電流A/D轉換器使能,DS2438便會以每秒36.41次的速度對流入、流出電池塊電流自動進行測量,測量的結果存放于電流寄存器中。電流寄存器的高字節的高六位是流入電池電流的符號位,為1時表示電池正在充電,也就是儀器正由交流電源供電;為0表示電池正在放電,即儀器正由直流電池供電。因此,單片機讀出電流寄存器的值,對其高六位進行判斷就可獲悉供電方式,同時也獲得了電流值。軟件流程圖見圖5。

          2.電池電壓、溫度的測量

          由于DS2438內部有A/D轉換器和數字溫度傳感器,要獲得電池的電壓、溫度只需要由單片機對DS2438發出采集電壓、溫度的控制命令,然后等待其采集完畢并自動將電壓、溫度測量值存入相對應的寄存器后,再由單片機讀取寄存器的內容即可。在讀取寄存器值時,若單片機與DS2438之間的數據線為低電平,則表明DS2438正在進行電壓、溫度轉換,此時不能讀取數據,只有當數據線為高電平時,才能正確的讀取數據。
          
          3.剩余電量的監測

          電池的剩余電量是儀器在使用過程中用戶所需要的重要信息,它可用電流積分累加(ICA)寄存器的值求得。ICA寄存器的值是由DS2438定時自動測量電池電流后更改的,無需對其進行控制,只需單片機讀出ICA寄存器的值,然后將讀出的值代入公式(2),便可得到電池的剩余電量。剩余電量監測的流程圖見圖6。

          剩余電量=ICA/(2048×RSENS) (2) 其中RSENS的單位為Ω。

          說明:(1) 單片機對DS2438進行任意存儲命令操作時,在發出每個命令之前都必須按照DS2438的復位時序要求,先發復位信號且等待DS2438的應答(以示 DS2438準備接受或發送數據),然后再發出一個ROM命令用以選擇總線上要訪問的DS2438,在本文的程序流程圖中,此過程用“DS2438的初始化”來代替;
          (2) 在對DS2438控制之前,必須先寫狀態/標志寄存器;
          (3) 在讀取寄存器的值時,為防止讀取錯誤,先要檢查DS2438是否正在修改寄存器的內容,這可通過對狀態/標志寄存器中的NVB位進行判斷實現。


        五、結束語

          本文介紹的基于DS2438芯片的智能是一種便攜式儀器的一部分,實際使用證明本系統運行可靠、功能強大、操作方便、能夠與其他功能協同工作。隨著各種便攜式電子產品的廣泛應用,電池實時監測已成為一種必不可少的功能。因此本文所介紹的具有較強的實用性。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 公主岭市| 辽宁省| 定远县| 普洱| 陇西县| 白银市| 定边县| 清丰县| 交城县| 柞水县| 洮南市| 佛山市| 井研县| 化隆| 永定县| 金乡县| 邻水| 丹棱县| 余庆县| 秀山| 竹北市| 巍山| 日喀则市| 疏勒县| 商城县| 安阳县| 灌南县| 尉犁县| 宁乡县| 闵行区| 吉木乃县| 广东省| 克拉玛依市| 保德县| 措勤县| 武安市| 沁阳市| 资阳市| 岫岩| 定襄县| 旌德县|