新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 基于DELPHI的鎳氫電池管理系統軟件設計

        基于DELPHI的鎳氫電池管理系統軟件設計

        作者: 時間:2004-12-06 來源:網絡 收藏

        摘要:通過對性能的研究,給出了一個應用ISA總線技術構建的、編程平臺的方案,重點介紹了該系統的技術和實現方法。

        關鍵詞:;充放電;;模塊;SOC

        1 前言

        是目前大容量電池的主要品種,已在通訊、交通、電力等部門得到廣泛的應用,同時它也是其它智能儀表中最為常用的備用電池。但在實際使用中,由于充放電控制不合理而損壞的電池占大多數。實際上,若鎳氫電池充放電適當,通??梢怨ぷ鳎保澳陼r間。為此,筆者研制了鎳氫電池自動充放電控制系統。該系統由恒流源充電器和恒流源放電器對電池進行充放電?因此電流、電壓、溫度控制是該電池控制系統的重要部分。為此,該系統在總體考慮電流、電壓、溫度控制系統的基礎上,選用微機控制系統對電壓 、電流、溫度進行控制及模擬曲線處理,用得出的數據庫對數據進行研究,并對電池性能及SOC進行預測。應用可在 Windows平臺上用面向對象的 DELPHI6編程軟件編寫 ?這對整個系統控制軟件的可靠性、易編制性大有益處。

        2?。模牛蹋校龋绍浖榻B

        采用PC機作為上位機對采集的數據進行分析處理,是實現這種小型系統實時數據采集和分析的有效方法。Borland公司的Delphi是當今最優秀的Windows開發工具之一,它的可視化開發環境和面向對象的快速應用程序開發工具RAD,可使程序開發人員在Windows平臺上快速開發出32位的應用程序。由于它采用面向對象的編程語言,能嵌入匯編和實現多線程操作,且開發數據庫功能強大,因而是控制工程師極好的編程工具。

        3 系統硬件

        本文所的電池控制系統的硬件主要由工控機、PCL 711BI/ O接口板、光電隔離及采集板、恒流源充電器和恒流源放電器構成,其整體框圖如圖1所示,其各部分的硬件原理在此不再詳述。

        4 系統軟件設計

        圖2所示是該系統的軟件模塊圖。其中程序初始化包括關閉所有繼電器選擇開關(充放電選擇繼電器,充放電使能繼電器)、接收數據模塊的圖象處理初始化、數據庫初始化、充放電條件的選擇(包括充電電池容量選擇、充放電切換選擇以及是否按預定曲線充放電)等,同樣,程序退出也需實現一系列清零操作。

        4.1 數據發送模塊

        數據發送模塊用于完成電流信號的產生、調制以及通過對PCL711-B卡的編程操作來實現數據的發送和電流信號的形成。

        由于充放電電流一般較大,考慮到安全問題,操作應嚴格按照操作規程來處理,本軟件模擬了各項操作工序,并配以圖文指示。

        為了靈活地充放電,系統分為手動和自動充放電兩種方式,如對電池有一定的了解,可以選擇手動充電并通過一定的試驗了解電池的性能,然后向數據庫中或者預存曲線庫中添加想要的充放電形式,從而實現充放電的智能控制。

        若選擇自動充電,可以選擇不同情況下的充放電形式。電池充放電與許多因素有關,如夏天和冬天的情況不同,不同溫度下充放電的要求也不一樣,不同循環次數的電池充放電表現出來的SOC值也不一樣,本系統在設計充放電預定庫時都有此方面的考慮。一般電池充放電有2種主要形式:恒壓充電和恒流充電,本系統選擇的是恒流充電(恒流源自制,電路原理圖可向作者索取),并通過軟件和硬件相結合的方式實現電流的智能充電。

        電池充放電就充電來說主要表現為三個階段:電池恢復階段、大電流充電階段、涓流補充充電階段。剛開始充電由于電池內阻較大,故需要用小電流充電以恢復電池,充電電流不宜高于0.3C,大電流充電階段控制到0.5C-2C之間,待到電池電壓上升到預定充電電壓時(預定額度時),可以改為小電流補充充電方式,從而使其能量SOC?State of charge?達到滿額(90%以上)。

        而當DELPHI設計軟件時,要綜合考慮以上要素,然后在預定曲線圖和數據庫中給出理想的充放電方案。

        利用DELPHI軟件實現D/A卡的定時發送時,可通過系統的中斷來實現。

        4.2 數據采集模塊

        鎳氫電池充放電系統一般需要采集4種數據:充放電電壓、充放電電流、電池溫度、充放電器溫度。為了保證采樣的準確性,可采用三次采樣取平均值的算法來實現采樣。

        利用DLL提供的功能函數,再配以DELPHI軟件,就能很容易地通過PCL911-B采集卡實現對設定通道內數據的采集。下面是其簡單的例程:

        {打開設備}

        ErrCde:= DRV_ DeviceOpen(dwDeviceNum, De-viceHandle);

        {設置采集通道,采集開始}

        AiVolIn1.chan:= ptAIConfig1.DasChan;

        AiVolIn1.gain := ptAIConfig1.DasGain;

        AiVolIn1.TrigMode ?= AiCtrMode1;

        AiVolIn1.voltage :?= @Voltage1;

        ................

        ErrCde1:= DRV_ AIVoltageIn(DeviceHandle_AiVolIn1);

        ................

        ErrCde :=ErrCde1*ErrCde2*ErrCde3*Er-rCde7*ErrCde8*ErrCde9;

        {獲取采集卡的數據}

        Edit1.Text:=FloatToStrF(Voltage1/5,ffFixed? 6,4);

        {采集結束,保存、退出}

        lpDioWritePort.port := lpDioPortMode.port;

        lpDioWritePort.mask := 255;

        lpDioWritePort.state:= 0;

        ErrCde := DRV_ DioWritePortByte(DeviceHandle, lpDioWritePort);

        4.3 數據處理模塊

        通過數據處理模塊可以完成信號的存貯、顯示、分析以及信號的調節、系統報警及緊急停止等功能。

        信號的保存分為圖象和數據庫的保存,這些都可以利用DELPHI的SaveDialog對話框以及Pic-ture.SaveToFile事件來實現。

        數據的顯示可以利用DELPHI的Tcanvas對象,也可以用簡單的繪圖語句在圖象框等控件中實時地復現出數據波形,還可以通過Teechart統計圖表對采集數據進行波形復現和簡單的分析。若要對其采集數據線性度以及信號的頻率、幅度、變化率做進一步的分析,可以調用MATLAB進行高級處理。

        有關數據庫的操作可以圍繞Table或者Query控件來完成,并通過ODBC數據源以及DELPHI的BDE數據管理器來進行連接。但Query控件需調用SQL語言來從事設計。

        信號的分析主要包括通過采集的電流、電壓、以及溫度、循環次數來研究電池的能量-SOC(State of charge),電池荷電狀態可反映電池的剩余容量。其數值上定義為電池剩余容量占電池容量的比值。

        SOC建模的正確與否關系到電池的工作效率、電池的壽命、電池所能釋放的能量和繼續充放電的時間,所以SOC建模是電池的重要一環。因篇幅有限,這里不作介紹。

        本系統還可利用經典的PID調節方式,并通過DELPHI軟件來保證輸出的線性度和穩定性。由于充放電需要恒流源 ,并且充放電時間都較長,故可采用常見的PID調節(可消除偏差)方法來滿足系統要求。

        5 結束語

        利用DELPHI軟件進行基于ISA總線的檢測系統開發,可以與各類數據采集卡、數模轉換卡進行無縫集成。實際使用證明:該系統穩定可靠,功能強大,可實現電池的自動化監控,并能夠得出有價值的信息。目前,該系統已成功應用于某新型汽車研發平臺。


        電磁爐相關文章:電磁爐原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 聂荣县| 莱西市| 溧阳市| 赫章县| 始兴县| 龙胜| 黑水县| 敦煌市| 东港市| 横峰县| 西乡县| 兴海县| 石泉县| 金山区| 娱乐| 颍上县| 隆林| 高邑县| 大化| 大兴区| 丹寨县| 孟州市| 鲜城| 改则县| 静安区| 和田县| 屏南县| 阜平县| 五华县| 任丘市| 金溪县| 台湾省| 明光市| 南宁市| 体育| 海淀区| 博湖县| 玉田县| 南开区| 吉林省| 陈巴尔虎旗|