• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

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

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

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

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

    1 前言

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

    2 DELPHI軟件介紹

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


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




    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 唐山市| 龙胜| 喀喇| 肇源县| 郴州市| 灌云县| 无极县| 西平县| 定远县| 鹿邑县| 山东| 清徐县| 烟台市| 嘉荫县| 交口县| 循化| 昔阳县| 深州市| 黎平县| 孝感市| 景宁| 唐河县| 沙雅县| 峨眉山市| 柳林县| 仲巴县| 那曲县| 澳门| 会宁县| 班戈县| 察隅县| 四平市| 贡觉县| 师宗县| 含山县| 长治市| 洮南市| 贵港市| 温宿县| 胶州市| 沐川县|