嵌入式系統(tǒng)在蓄電池充電中應(yīng)用研究_第1頁
嵌入式系統(tǒng)在蓄電池充電中應(yīng)用研究_第2頁
嵌入式系統(tǒng)在蓄電池充電中應(yīng)用研究_第3頁
嵌入式系統(tǒng)在蓄電池充電中應(yīng)用研究_第4頁
嵌入式系統(tǒng)在蓄電池充電中應(yīng)用研究_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 目錄一. 設(shè)計(jì)題目1二. 設(shè)計(jì)要求1三. 設(shè)計(jì)的作用與目的1四. 系統(tǒng)硬件設(shè)計(jì)24.1 接口電路設(shè)計(jì)44.1.1時(shí)鐘電路及復(fù)位電路44.1.2 JTAG 調(diào)試接口電路44.1.3 LCD 串行接口設(shè)計(jì)54.1.4 RS232 接口設(shè)計(jì)64.2驅(qū)動(dòng)電路的設(shè)計(jì)74.3 采樣電路設(shè)計(jì)84.3.1輸入電壓采樣電路84.3.2蓄電池端電壓采樣電路94.3.3蓄電池充電電流采樣電路94.3.4蓄電池溫度采樣電路104.4保護(hù)電路設(shè)計(jì)114.5電源電路設(shè)計(jì)12五. 系統(tǒng)軟件設(shè)計(jì)135.1 系統(tǒng)軟件的總體結(jié)構(gòu)135.2 應(yīng)用C/OS -II 的必要準(zhǔn)備135.2.1 定義任務(wù)優(yōu)先級(jí)135.2.2 定義任務(wù)棧

2、空間145.2.3 定義消息郵箱145.2.4 C/OS -II 的基本函數(shù)14六. 系統(tǒng)仿真與調(diào)試156.1 主控模塊及其流程圖156.2 主任務(wù)模塊及其流程圖176.2.1 A/D 采樣模塊軟件仿真設(shè)計(jì)176.2.2 充電模式仿真設(shè)計(jì)176.4.4 LCD 顯示任務(wù)模塊及其流程圖··························&#

3、183;········18七. 結(jié)論20八. 嵌入式系統(tǒng)實(shí)習(xí)心得21九. 參考文獻(xiàn)22嵌入式系統(tǒng)在蓄電池充電中的應(yīng)用研究1 設(shè)計(jì)題目嵌入式系統(tǒng)在蓄電池充電中的應(yīng)用研究2 設(shè)計(jì)要求本文的主要目的是研究并設(shè)計(jì)一套蓄電池充電控制器,控制器的總體功能和技術(shù)要求如下:(1) 充電系統(tǒng)的輸入直流電壓范圍為 200650V;(2) 充電系統(tǒng)的直流輸出電壓范圍為 060V,待充蓄電池組額定電壓為48V;(3) 充電系統(tǒng)的輸出直流電流范圍為 020A;(4) 充電系統(tǒng)的最大輸出功率為 1200W;(5) 充電系統(tǒng)應(yīng)根據(jù)蓄電池的荷電

4、狀態(tài)采用合適的充電方法對(duì)蓄電池進(jìn)行充電;(6) 充電系統(tǒng)應(yīng)具有完善的充電保護(hù)功能;(7) 充電系統(tǒng)應(yīng)具有實(shí)時(shí)顯示和監(jiān)控的功能。3 設(shè)計(jì)的作用與目的如何高效、快速、安全地對(duì)蓄電池進(jìn)行充電控制,一直是人們關(guān)心的問題。雖然蓄電池問世至今已有 100 多年的歷史,但是由于技術(shù)條件的限制,目前很多的充電器仍然采用傳統(tǒng)的充電方式。鉛酸蓄電池作為一種可重復(fù)使用的儲(chǔ)能設(shè)備得到了廣泛的應(yīng)用,但是充電一直是影響其使用壽命的關(guān)鍵問題。隨著鉛酸蓄電池在新能源開發(fā)中的廣泛應(yīng)用,對(duì)蓄電池的充電方法和充電裝置都提出了新的要求:研究并設(shè)計(jì)一種快速、高效、安全的蓄電池充電系統(tǒng)成為一項(xiàng)很重要的任務(wù)。對(duì)蓄電池充電的改進(jìn)可以從兩個(gè)方

5、面考慮,一是蓄電池的充電方法,二是蓄電池的充電裝置。隨著電力電子技術(shù)、微電子技術(shù)、計(jì)算機(jī)技術(shù)以及自動(dòng)控制技術(shù)的發(fā)展,蓄電池的充電控制方法和充電裝置的研究也越來越廣泛,這兩個(gè)方面的研究設(shè)計(jì)對(duì)光伏發(fā)電、電動(dòng)汽車等新興綠色環(huán)保產(chǎn)業(yè)的發(fā)展具有非常重要的意義。本文致力于研究并設(shè)計(jì)一種快速、安全、智能的蓄電池充電控制器。蓄電池的充電過程主要分為激活充電、大電流快速充電、過充電和浮充電四個(gè)階段。這四個(gè)充電階段是完全按照蓄電池的狀態(tài)進(jìn)行設(shè)置的,多模式充電控制策略考慮到蓄電池在實(shí)際使用過程中的荷電狀態(tài),根據(jù)蓄電池的荷電狀態(tài)進(jìn)行相應(yīng)的充電控制,通過對(duì)蓄電池端電壓的檢測,確定采用何種充電模式,有效地維護(hù)了蓄電池的充

6、電壽命。這種多模式的充電方法綜合了恒流充電快速而安全、及時(shí)補(bǔ)償蓄電池電量和恒壓充電能夠控制過充電以及在浮充狀態(tài)保持蓄電池 100%電量的優(yōu)點(diǎn)。這種充電控制策略能夠?qū)崟r(shí)檢測充電情況并按預(yù)定的充電方案對(duì)蓄電池充電;通過對(duì)蓄電池荷電狀態(tài)的分析與判斷,選擇合適的充電模式,激活充電能夠有效地激活過放電蓄電池內(nèi)部的活性物質(zhì),避免初始大電流快速充電對(duì)蓄電池造成損壞;大電流快速充電能夠最大效率地補(bǔ)足蓄電池的電量;過充電能夠能夠使得蓄電池的電量接近 100%充滿,最后的浮充電又能夠補(bǔ)充蓄電池自身放電而損失的電量,進(jìn)一步補(bǔ)充蓄電池的電量并延長蓄電池的使用壽命。本文根據(jù)充電系統(tǒng)的功能要求和技術(shù)指標(biāo),進(jìn)行了總體方案設(shè)

7、計(jì)。蓄電池充電控制器的控制方式采用基于時(shí)下最常用的嵌入式 ARM7 微處理器LPC2292的數(shù)字控制。充電系統(tǒng)采用多模式充電控制策略,分別為激活充電、大電流快速充電、過充電和浮充電四種模式。根據(jù)充電系統(tǒng)的總體方案,對(duì)充電控制器的硬件和軟件進(jìn)行了詳細(xì)的設(shè)計(jì)與實(shí)現(xiàn)。硬件部分主要充電控制器的驅(qū)動(dòng)電路,采樣電路,保護(hù)電路以及輔助電源的設(shè)計(jì)。軟件部分主要包括介紹了C/OS -II 實(shí)時(shí)操作系統(tǒng)在ARM7上的移植和各個(gè)軟件模塊包括A/D 采樣、控制器數(shù)據(jù)的處理以及數(shù)據(jù)在LCD 顯示等程序的實(shí)現(xiàn)。4 系統(tǒng)硬件設(shè)計(jì)本文的充電控制器以嵌入式作為平臺(tái),以ARM7 LPC2292 為核心,由于該款芯片的片內(nèi)外設(shè)功能

8、豐富,能完成模擬量的采樣轉(zhuǎn)換、數(shù)據(jù)處理和控制調(diào)節(jié)、以及片內(nèi)的定時(shí)器可產(chǎn)生占空比調(diào)節(jié)的 PWM 控制信號(hào),完全能夠?qū)崿F(xiàn)蓄電池的充電控制,同時(shí)該單片機(jī)的 I/O 端口和異步串行通信接口能方便實(shí)現(xiàn)外接 LCD 顯示和上位機(jī)的串行通信。充電控制器的硬件結(jié)構(gòu)如圖 4.1 所示。這種數(shù)字化的充電控制器滿足了充電系統(tǒng)輸出可編程控制、具有數(shù)據(jù)通訊和顯示、智能化控制等要求。下面將分別介紹充電控制器中復(fù)位電路、JTAG 接口、LCD 串行接口和 RS232 接口的硬件設(shè)計(jì)。 圖4.1 充電控制器硬件結(jié)構(gòu)圖本系統(tǒng)對(duì) CPU 的特殊要求有以下幾點(diǎn):(1). 能提供至少 1 路獨(dú)立的脈寬調(diào)制(PWM)輸出(若不能提供,

9、則系統(tǒng)的工作頻率至少要求 100M 以上);(2). 有4個(gè) 8 位或者 10 位精度的 AD 轉(zhuǎn)換器(現(xiàn)在也有不少單片機(jī)帶有 AD功能,但單買 AD 轉(zhuǎn)換器會(huì)造成成本的提高);(3). 帶有 CAN 總線控制器;(4). 具有 JTAG 接口;(5). 除以上之外,至少還需要 35 個(gè)普通 I/0 口。考慮以上條件,采用ARM公司 LPC2200 系列中的 2292 微控制芯片作為中央處理器。下表4.1給出 LPC2292 的管腳配置。 表4.1 LPC2292 的管腳配置4.1 接口電路設(shè)計(jì)4.1.1時(shí)鐘電路及復(fù)位電路LPC2000系列ARM7微控制器可使用外部晶振或外部時(shí)鐘源,內(nèi)部PLL

10、電路可調(diào)整系統(tǒng)時(shí)鐘,使系統(tǒng)運(yùn)行速度更快(CPU最大操作時(shí)鐘為60MHZ)。本設(shè)計(jì)為提高系統(tǒng)反應(yīng)速度,啟用片內(nèi)的PLL功能(使用此功能,則外部晶振的頻率限定在1025MHz)。振蕩器工作在振蕩模式下,由于片內(nèi)集成了反饋電阻,只需在外部連接一個(gè)晶體和電容Cx1、Cx2 就可形成基本模式的振蕩。晶振選用11.0592MHz,使串口波特率更精確。如圖4.2所示。圖4.2 振蕩模式下晶振連接復(fù)位電路采用上電復(fù)位電路,如圖4.3所示。圖4.3 上電復(fù)位電路4.1.2 JTAG 調(diào)試接口電路JTAG 標(biāo)準(zhǔn)是一種國際標(biāo)準(zhǔn)測試協(xié)議 IEEE 1149.1,主要用于芯片內(nèi)部測試及對(duì)系統(tǒng)進(jìn)行仿真、調(diào)試。通過 JTA

11、G 接口,可以對(duì)芯片內(nèi)部的所有部件進(jìn)行訪問,因而是開發(fā)調(diào)試的一種簡潔高效的手段。LPC2292 處理器內(nèi)置了串行 JTAG 接口,可通過此接口對(duì)片內(nèi) 256K 的 FLASH存儲(chǔ)器進(jìn)行編程以及程序的燒寫和調(diào)試,給用戶的開發(fā)帶來極大的方便。接口電路如圖 4.4 所示。圖4.4 JTAG 調(diào)試接口4.1.3 LCD 串行接口設(shè)計(jì)本文采用的LCD型號(hào)為CA12864K,該LCD內(nèi)部的中文字型點(diǎn)陣控制器為ST7920,可顯示四行八列漢字,也可顯示圖形,內(nèi)置 8192 個(gè)簡體中文漢字(16 × 16點(diǎn)陣)。LCD使用 3.3V 進(jìn)行供電,LPC2292與LCD的接口有并行和串行兩種模式,可方便

12、地實(shí)現(xiàn) 8 位、4 位并行接口或者串行接口數(shù)據(jù)傳輸,采用哪種模式由LCD 中的 PSB 引腳控制, PSB 接高電平時(shí)選擇并行模式,接低電平時(shí)選擇串行模式。LPC2292 采用串行接口的方式與LCD進(jìn)行連接,圖 4.5 所示為LCD串行接口。 圖4.5 LCD 串行接口LCD 的各引腳定義及功能如表 4.2 所示。LCD 與 LPC2292 的串行接口只需連接三個(gè)引腳:RS、SID 和 SCLK。LPC2292 通過P0.10-P0.17口與 LCD 串行通信,P0.6 接液晶的 SCLK 端,P0.4 接液晶的 RS 端,P0.5 接液晶的 SID 端。將 LCD 的并口/串口選擇引腳接地即

13、為選擇串行接口,RS 為串行傳輸時(shí)的片選信號(hào);SID 為串行數(shù)據(jù)線,負(fù)責(zé)單片機(jī)往 LCD 的數(shù)據(jù)傳輸;SCLK為傳輸時(shí)的時(shí)鐘信號(hào),該時(shí)鐘信號(hào)由 LPC2292提供。充電控制器在運(yùn)行中,時(shí)刻檢測蓄電池的充電參數(shù),對(duì)輸入電壓、輸出電壓、輸出電流和溫度等信息進(jìn)行數(shù)據(jù)處理和反饋控制調(diào)節(jié)的同時(shí),通過串行接口將充電信息送入 LCD 中進(jìn)行顯示,實(shí)現(xiàn)了充電系統(tǒng)在運(yùn)行中的實(shí)時(shí)顯示和監(jiān)控功能。 表4.2 LCD 各引腳定義及功4.1.4 RS232 接口設(shè)計(jì)RS232 接口是充電系統(tǒng)與上位機(jī)通信的重要工具,基于單片機(jī)控制的蓄電池充電系統(tǒng)能夠方便地實(shí)現(xiàn)與上位機(jī)的通信,將充電過程中蓄電池的參數(shù)和控制數(shù)據(jù)傳送至上位機(jī)

14、。LPC2292的通用串行通信接口(USCI)模塊具有兩組可同時(shí)使用的獨(dú)立通道。異步通道(USCI_A) 支持 UART 模式、SPI 模式、IrDA 的脈沖成形以及 LIN 通信的自動(dòng)波特率檢測。同步通道 (USCI_B)支持 和 SPI 模式。本充電控制器采用 UART 模式通過 RS232 接口與上位機(jī)進(jìn)行通信。RS232 接口硬件電路如圖 4.6 所示。 圖4.6 RS232 接口原理圖4.2驅(qū)動(dòng)電路的設(shè)計(jì)在充電系統(tǒng)中,驅(qū)動(dòng)電路設(shè)計(jì)非常重要,驅(qū)動(dòng)電路將直接影響到整個(gè)充電系統(tǒng)的工作性能和可靠性。在本充電系統(tǒng)中,對(duì)于IGBT驅(qū)動(dòng)電路的設(shè)計(jì)有如下要求:(1) 動(dòng)態(tài)驅(qū)動(dòng)能力強(qiáng),能為 IGBT

15、柵極提供具有陡峭前后沿的驅(qū)動(dòng)脈沖。否則 IGBT 會(huì)在開通與關(guān)斷過程中產(chǎn)生較大的開關(guān)損耗。(2) 能向 IGBT 提供適當(dāng)?shù)恼蚝头聪驏艠O電壓。IGBT 導(dǎo)通時(shí),IGBT 的柵極正向柵極電壓取+15V左右比較恰當(dāng);為了提高 IGBT 的關(guān)斷耐壓和抑制干擾的能力,IGBT 關(guān)斷時(shí)在其柵極加-5 V的反向電壓即可讓 IGBT 可靠截止。(3) IGBT 驅(qū)動(dòng)電路必須能夠?qū)崿F(xiàn)控制電路與被驅(qū)動(dòng)的 IGBT 柵極之間的電隔離。同時(shí)雙管反激電路中,兩個(gè)功率開關(guān)管不供地,因而兩路驅(qū)動(dòng)信號(hào)彼此間也需要電氣隔離。(4) 驅(qū)動(dòng)電路應(yīng)盡量靠近 IGBT,使得驅(qū)動(dòng)線路盡可能短,避免其他信號(hào)的干擾。本充電系統(tǒng)需要兩路相

16、互隔離的控制信號(hào),其中一路隔離驅(qū)動(dòng)電路如圖 4.7 所示,圖 4.7中,三極管 D882 和 B772 構(gòu)成了圖騰柱輸出,圖騰柱輸出能夠增強(qiáng)控制信號(hào)的驅(qū)動(dòng)能力,磁環(huán)變壓器起到了信號(hào)隔離的作用。電容C3 為隔直電容, R1 為柵極驅(qū)動(dòng)電阻,目的是防止電流尖峰引起的高頻振蕩。D1、D2 為穩(wěn)壓二極管 1N4744,通過D1 和D2 可將驅(qū)動(dòng)電路的輸出電壓箝位在±15V。R2 和穩(wěn)壓二極管也可以提高 IGBT 的抗電壓尖峰和抗干擾能力。在實(shí)際的系統(tǒng)控制中,LPC2292輸出的PWM控制信號(hào)經(jīng)過電平轉(zhuǎn)換后與硬件保護(hù)信號(hào)進(jìn)行邏輯運(yùn)算,邏輯運(yùn)算后的 PWM 控制信號(hào)即為驅(qū)動(dòng)電路的輸入信號(hào) PWM

17、1 和 PWM2,這兩路控制信號(hào)分別送入兩路獨(dú)立的驅(qū)動(dòng)電路中,經(jīng)過驅(qū)動(dòng)電路對(duì)控制信號(hào)進(jìn)行隔離與放大,形成兩路相互隔離的控制信號(hào) DRV_G1 和 DRV_G2,這兩路隔離的控制信號(hào)驅(qū)動(dòng)功率開關(guān)管 IGBT 的開通與關(guān)斷。圖4.7驅(qū)動(dòng)電路原理圖4.3 采樣電路設(shè)計(jì)穩(wěn)定可靠的充電系統(tǒng)要有完善的檢測與保護(hù)電路,這樣才能根據(jù)電路的反饋信息,及時(shí)調(diào)整控制信號(hào),保證系統(tǒng)按預(yù)定的控制策略穩(wěn)定運(yùn)行,而且當(dāng)系統(tǒng)發(fā)生故障時(shí),可以及時(shí)停止充電系統(tǒng)的運(yùn)行。4.3.1輸入電壓采樣電路該電路主要實(shí)現(xiàn)對(duì)系統(tǒng)輸入電壓的采樣,如圖 4.8 所示。因?yàn)?LPC2292的 ADC 采樣輸入范圍在 03.3V 之間,而系統(tǒng)的輸入電壓

18、范圍為 200V650V,因此將輸入電壓 由電阻分壓得到調(diào)理后的輸入電壓采樣,調(diào)理后的輸入電壓采樣經(jīng)過二極管的箝位和 RC 低通濾波后送入的采樣輸入端 ADC0。圖 4.8 輸入電壓采樣電路4.3.2蓄電池端電壓采樣電路 該電路主要實(shí)現(xiàn)蓄電池的端電壓的采樣,蓄電池的端電壓在蓄電池的充電過程中極為重要,它反映了蓄電池的容量狀態(tài),并且系統(tǒng)的充電控制策略都是根據(jù)蓄電池的端電壓進(jìn)行判斷的,蓄電池的端電壓關(guān)系到充電系統(tǒng)采用何種充電模式對(duì)蓄電池進(jìn)行充電。如果系統(tǒng)在充電初始時(shí)檢測到蓄電池處于過放電狀態(tài),即蓄電池的端電壓低于欠壓閾值時(shí),充電控制器需要對(duì)蓄電池進(jìn)行小電流的激活充電,使蓄電池端電壓恢復(fù)到可接受快速

19、充電的狀態(tài);蓄電池充電過程中,四種充電模式的相互切換都與蓄電池的端電壓有關(guān),因而對(duì)于蓄電池端電壓的采樣檢測非常重要,蓄電池端電壓檢測電路的設(shè)計(jì)與輸入電壓采樣電路相同,如圖 4.9 所示。蓄電池端電壓經(jīng)過電阻分壓后得到端電壓采樣,經(jīng)過二極管箝位和電阻電容構(gòu)成的低通濾波器后送入單片機(jī)的 ADC1 采樣輸入端。 圖 4.9 蓄電池端電壓采樣電路4.3.3蓄電池充電電流采樣電路蓄電池的充電電流對(duì)于蓄電池的充電控制最為關(guān)鍵,在本系統(tǒng)中,激活充電和大電流快速充電都需要進(jìn)行恒流充電控制。因此采用霍爾電流傳感器來檢測蓄電池的充電電流,霍爾電流傳感器的特點(diǎn)是可以實(shí)現(xiàn)電流的“無電位”檢測。即測量電路不必接入被測電

20、路即可實(shí)現(xiàn)電流檢測,他們靠磁場進(jìn)行耦合。因此,檢測電路的輸入、輸出電路是完全隔離的。檢測過程中,被測電路的狀態(tài)不受檢測電路的影響,檢測電路也不受被測電路的影響?;魻栯娏鱾鞲衅鞯墓ぷ髟硎腔诨魻栃?yīng),利用通電導(dǎo)線周圍產(chǎn)生的磁場大小與流過導(dǎo)線的電流成正比,通過磁芯聚集感應(yīng)到霍爾器件上,間接地檢測出電流的大小。本系統(tǒng)采用的霍爾電流傳感器型號(hào)為HNC-050P,其測量范圍為0±75A,響應(yīng)時(shí)間小于1us ,采用±15V供電。轉(zhuǎn)換比率為 1000:1。充電電流采樣電路如圖 4.10 所示。將輸出電流從電流傳感器的穿孔芯中穿入,電流傳感器將電流縮小 1/1000,傳感器的次級(jí)使用10

21、0 的小電阻,將電流信號(hào)轉(zhuǎn)換為電壓信號(hào)。再將該電壓信號(hào)經(jīng)過 RC 濾波電路后,然后將濾波后的電壓信號(hào)送入LPC2292的采樣端口 ADC2進(jìn)行模數(shù)轉(zhuǎn)換。圖 4.10 充電電流采樣電路4.3.4蓄電池溫度采樣電路蓄電池在充電過程中,由于極化現(xiàn)象的存在,蓄電池會(huì)有一定溫升。溫度過高,會(huì)直接影響充電效率,同時(shí)對(duì)電池?fù)p壞很大,縮短蓄電池的使用壽命。所以,在充電過程中電池溫度是很重要的一個(gè)信息。在本充電系統(tǒng)中,過充電壓和浮充電壓都需要根據(jù)蓄電池的溫度進(jìn)行補(bǔ)償,合理設(shè)置蓄電池的過充電壓和浮充電壓,能有效延長蓄電池的充電使用壽命。目前國內(nèi)常用的溫度傳感器是熱敏電阻,而該溫度傳感器是非線性傳感器,在使用過程中

22、必須外加補(bǔ)償電路,因此電路復(fù)雜、體積較大。在本充電系統(tǒng)中,選用美國國家半導(dǎo)體公司的LM35 系列精密溫度傳感器。其特點(diǎn)是:(1) 輸出電壓與攝氏溫度成線性比例關(guān)系,為,無需調(diào)整或校準(zhǔn);(2) 精度較高;(3) 工作電壓范圍為 430V;(4) 很低的輸出阻抗,在負(fù)載電流為 1mA 時(shí),僅為 0.1 ;LM35 的基本電路十分簡單,在單電源 420V 工作電壓時(shí),測量溫度范圍為到,其輸出電壓為,即時(shí)輸出為 0mV,每升高,輸出電壓增加 10mV。LM35 的電源供電模式有單電源和正負(fù)雙電源模式,正負(fù)雙電源的供電模式可提供負(fù)溫度的測量,本系統(tǒng)采用 15V 單電源供電模式。圖 4.11 溫度采樣電路

23、溫度采樣電路如圖 4.11 所示。在充電系統(tǒng)中,溫度傳感器的輸出經(jīng)過二極管箝位和低通濾波后送入LPC2292 的 ADC3 采樣輸入端,LPC2292 只需采樣該端口即可得到蓄電池的環(huán)境溫度。在充電過程中,LPC2292內(nèi)設(shè)置的過充電壓和浮充電壓根據(jù)檢測到的蓄電池溫度進(jìn)行補(bǔ)償,延長蓄電池的充電使用壽命。4.4保護(hù)電路設(shè)計(jì)本充電系統(tǒng)具備完善充電保護(hù)功能。充電保護(hù)電路分別為輸入過壓保護(hù)、輸出過壓保護(hù)和輸出過流保護(hù)。在圖4.12中,保護(hù)電路產(chǎn)生的保護(hù)信號(hào)Pro與充電控制器產(chǎn)生的PWM控制信號(hào)PWM_O1、PWM_O2 進(jìn)行邏輯運(yùn)算,當(dāng)保護(hù)電路發(fā)生保護(hù)時(shí),保護(hù)信號(hào) Pro 輸出為低電平 0,此時(shí)PWM

24、1與PWM2的輸出均為低電平 0,這兩個(gè) PWM 控制信號(hào)經(jīng)過兩路獨(dú)立驅(qū)動(dòng)電路的隔離放大,控制功率開關(guān)管 IGBT 的關(guān)斷,有效地保護(hù)了系統(tǒng)的運(yùn)行。同時(shí),各個(gè)保護(hù)電路中的發(fā)光二極管能夠直觀地顯示系統(tǒng)的故障來源,方便了故障的排除。圖 4.12 保護(hù)信號(hào)與 PWM 信號(hào)邏輯運(yùn)算4.5電源電路設(shè)計(jì)電源為整個(gè)系統(tǒng)提供能量,是整個(gè)系統(tǒng)的基礎(chǔ)。設(shè)計(jì)電源的過程,是各種因素互相權(quán)衡的過程,需要考慮的因素有:輸出電壓、電流、功率,輸入電壓、電流、安全因素,輸出波紋,電磁兼容與 抗干擾,成本等。本開發(fā)平臺(tái)采用直流供電。本控制系統(tǒng)的電源由 4 塊串連的 12V 鉛蓄電池提供,即供電電源電壓為 48V。LPC2000

25、 系列 ARM7 微控制器均要采用兩種電源,I/O 口工作電源為+3.3V,內(nèi)核及片內(nèi)外設(shè)供電電源為+1.8V。溫度傳感器和驅(qū)動(dòng)電路等又需要有+5V 和+15V 電源,所以整個(gè)系統(tǒng)的工作電壓有+1.8V、+3.3V、+5V 和+15V,因此采用穩(wěn)壓電源芯片 7824、7815、1117-3.3、1117-1.8 和 1117-5 產(chǎn)生所需電壓,電路設(shè)計(jì)簡單可靠,如圖 4.13 所示。圖 4.13 系統(tǒng)電源電路五系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)5.1 系統(tǒng)軟件的總體結(jié)構(gòu)根據(jù)系統(tǒng)總體設(shè)計(jì)的分析,其工作過程的各步驟被分配到幾個(gè)具體的、獨(dú)立的功能模塊之中。與之對(duì)應(yīng),該系統(tǒng)的應(yīng)用軟件分為 6 個(gè)模塊:主控程序模塊;主

26、任務(wù)模塊;PWM波產(chǎn)生模塊;串行通信控制模塊;數(shù)據(jù)采樣模塊;LCD 顯示模塊。主控程序模塊的功能是在運(yùn)行任務(wù)前初始化各個(gè)功能模塊,建立主任務(wù),啟動(dòng)定時(shí)中斷以及啟動(dòng)多任務(wù)的運(yùn)行。主任務(wù)模塊的功能是負(fù)責(zé)系統(tǒng)總體的邏輯與流程控制,協(xié)調(diào)、調(diào)度各任務(wù)功能模塊,以實(shí)現(xiàn)對(duì)蓄電池充電控制器的內(nèi)部的數(shù)據(jù)的處理及顯示。5.2 應(yīng)用C/OS -II 的必要準(zhǔn)備基于移植好的C/OS -II 進(jìn)行系統(tǒng)應(yīng)用軟件的設(shè)計(jì),需要作以下必要的準(zhǔn)備:定義任務(wù)的優(yōu)先級(jí)、定義任務(wù)??臻g、定義消息郵箱。5.2.1 定義任務(wù)優(yōu)先級(jí)根據(jù)系統(tǒng)軟件的總體結(jié)構(gòu)分析,創(chuàng)建具有不同優(yōu)先級(jí)的 5 個(gè)任務(wù):主任務(wù)Main_Task()、PWM波產(chǎn)生任務(wù)

27、PWM_Task()、控制器數(shù)據(jù)接收任務(wù) Recv_Char_Task()、控制器數(shù)據(jù)處理任務(wù) Pro_Data_Task()和 LCD 顯示任務(wù) DIS_Task(),它們的優(yōu)先級(jí)分別是 12、14、16、18、20,即主任務(wù)的優(yōu)先級(jí)最高,LCD 顯示任務(wù)的優(yōu)先級(jí)最低。具體源程序代碼如下:#define Main_Task_PRIO 12#define PWM_Task_PRIO 14#define Recv_Char_Task_PRIO 16#define Pro_Data_Task_PRIO 18#define DIS_Task_PRIO 205.2.2 定義任務(wù)??臻g 對(duì)于C/OS -

28、II 和絕大多數(shù)的可剝奪型內(nèi)核而言,每個(gè)任務(wù)都需要分配自己的堆??臻g。堆棧必須聲明為 OS_STK 類型,并且由連續(xù)的內(nèi)存空間組成。每個(gè)任務(wù)的堆棧容量可以單獨(dú)指定,為簡化起見,本程序都定義成相同的容量。用戶可以靜態(tài)地分配堆??臻g(在編譯時(shí)分配),也可以動(dòng)態(tài)地分配堆棧空間(在運(yùn)行時(shí)分配)。本次設(shè)計(jì)采用靜態(tài)分配方式。具體源程序代碼如下:OS_STK Main_StackSTACKSIZE = 0, ;OS_STK PWM_StackSTACKSIZE = 0, ;OS_STK Recv_Char_StackSTACKSIZE = 0, ;OS_STK Pro_Data_StackSTACKSIZE

29、 = 0, ;OS_STK DIS_StackSTACKSIZE = 0, ;5.2.3 定義消息郵箱要使用消息郵箱,首先就要定義消息郵箱,消息郵箱的定義是通過 OS_EVENT數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的。C/OS -II 通過 UCOS_II.H 頭文件中定義的 OS_EVENT 數(shù)據(jù)結(jié)構(gòu),維護(hù)一個(gè)事件控制塊 ECB 的所有信息。該結(jié)構(gòu)中除了包含事件本身的定義外還定義了該事件的所有任務(wù)的列表。每個(gè)信號(hào)量、消息郵箱、消息隊(duì)列都分配到一個(gè)事件控制塊 ECB。任務(wù)之間或任務(wù)和中斷服務(wù)子程序之間的通信是通過事件控制塊 ECB(EventControl Blocks)實(shí)現(xiàn)的,即任務(wù)或中斷服務(wù)子程序可以通過事件控制

30、塊 ECB 向另外的任務(wù)發(fā)送信號(hào)。這里信號(hào)被看成是事件( Event )。事件控制塊 ECB 是用于實(shí)現(xiàn)下列功能函數(shù)的基本數(shù)據(jù)結(jié)構(gòu),如信號(hào)量、消息郵箱、消息隊(duì)列等相應(yīng)的功能函數(shù)。OS_EVENT *Mbox1;5.2.4 C/OS -II 的基本函數(shù)在應(yīng)用軟件中常用到 OSInit()、OSStart()、OSTaskCreate()、OSTimeDly()、OSTaskDelReq()等幾個(gè)常用的C/OS -II 的函數(shù),它們的特點(diǎn)和作用如下。函數(shù) OSInit()的功能是對(duì)C/OS -II 操作系統(tǒng)初始化。在調(diào)用C/OS -II 的任何其他服務(wù)之前,C/OS -II要求首先調(diào)用系統(tǒng)初始化函

31、數(shù)OSInit()。OSInit()初始化C/OS-II 所有的變量和數(shù)據(jù)結(jié)構(gòu),并建立空閑任務(wù) OS_TaskIdle()。函數(shù) OSStart()的功能是啟動(dòng)多任務(wù),將控制權(quán)交給C/OS -II 內(nèi)核,開始運(yùn)行多任務(wù)。OSStart()將判斷所有建立的任務(wù)中哪一個(gè)任務(wù)是最重要的,即優(yōu)先級(jí)最高,并開始運(yùn)行這個(gè)任務(wù)。在啟動(dòng)多任務(wù) OSStart()之前,至少要先建立一個(gè)任務(wù),否則應(yīng)用程序就會(huì)崩潰。函數(shù) OSTaskCreate()的功能是建立任務(wù)。如果要讓C/OS -II 管理用戶的任務(wù),就必須先要建立任務(wù),通過調(diào)用 OSTaskCreate()函數(shù)來實(shí)現(xiàn)。任務(wù)可以在多任務(wù)調(diào)度開始前建立,也可以

32、在其他任務(wù)的執(zhí)行過程中建立。在開始多任務(wù)調(diào)度之前,用戶必須建立至少一個(gè)任務(wù)。任務(wù)不能由中斷服務(wù)程序(ISR)來建立。OSTaskCreate()函數(shù)需要 4 個(gè)參數(shù):指向任務(wù)代碼的指針;任務(wù)開始執(zhí)行時(shí),傳遞給任務(wù)參數(shù)的指針;分配給任務(wù)堆棧的棧頂指針;分配給任務(wù)的優(yōu)先級(jí)。這里在主控程序中建立主任務(wù)。C/OS -II 提供一個(gè)可以被任務(wù)調(diào)用而將任務(wù)延時(shí)一段特定時(shí)間的功能函數(shù)OSTimeDly(),這段時(shí)間的長短是由指定的時(shí)鐘節(jié)拍的數(shù)目來確定的。一旦調(diào)用該函數(shù),通知C/OS -II 該任務(wù)本次運(yùn)行已經(jīng)結(jié)束,可以讓下一個(gè)最高優(yōu)先級(jí)的任務(wù)運(yùn)行。若沒有函數(shù) OSTimeDly()或類似的函數(shù),則任務(wù)將是一

33、個(gè)真正的無限循環(huán),任何其他任務(wù)都沒有運(yùn)行的機(jī)會(huì)。C/OS II 建立的任務(wù)會(huì)占用一些內(nèi)存緩沖區(qū)或信號(hào)量一類的資源。此時(shí)如果另一個(gè)任務(wù)試圖刪除該任務(wù),這些被占用的資源就會(huì)因?yàn)闆]有被釋放而丟失,這將導(dǎo)致存儲(chǔ)器漏洞,而這是任何嵌入式系統(tǒng)都無法接受的。因此,要想辦法讓擁有這些資源的任務(wù)在使用完資源后,先釋放資源,再刪除自己。C/OS II 是通過函數(shù)OSTaskDelReq()完成該功能。發(fā)出刪除任務(wù)請求的任務(wù)和打算被刪除的任務(wù)都必須調(diào)用函數(shù) OSTaskDelReq()。六系統(tǒng)仿真與調(diào)試6.1 主控模塊及其流程圖主控程序 Main()的作用是在運(yùn)行任務(wù)前初始化 ARM 處理器,初始化操作系統(tǒng),初始化

34、充電控制器的數(shù)據(jù)接收模塊,初始化串口 UART0,初始化 LCD 控制器等,建立主任務(wù),啟動(dòng)定時(shí)中斷以及啟動(dòng)多任務(wù)的運(yùn)行。主控程序 Main()的流程圖詳見圖 6.1所示。圖6.1 主控程序流程圖主控程序的源代碼如下:void Main()Uart_Select(0);Lcd_Init();Lcd_clear(BLUE);ARMTargetInit();OSInit();OSTaskCreate(Main_Task,(void*)0,(OS_STK*)&Main_StackSTACKSIZE-1,Main_Task_PRIO);ARMTargetStart();OSStart();re

35、turn ;函數(shù) Lcd_Init()的功能是對(duì) LCD 控制器初始化。函數(shù) Lcd_clear()的功能是對(duì) LCD 顯示器清屏。函數(shù) Uart_Select(0) 的功能是選擇 UART 通道 0。函數(shù) ARMTargetInit() 的功能是對(duì) ARM 處理器進(jìn)行初始化。函數(shù) ARMTargetStart()的功能是啟動(dòng)時(shí)鐘節(jié)拍中斷。6.2 主任務(wù)模塊及其流程圖6.2.1 A/D 采樣模塊軟件仿真設(shè)計(jì)LPC2292 片上集成了 8 路 10 位逐次逼近式 A/D 轉(zhuǎn)換器,測量范圍為 03.3V,10 位轉(zhuǎn)換時(shí)間最快可達(dá) 2.44us。本蓄電池充電控制器需要采集的模擬信號(hào)包括:系統(tǒng)輸入電壓

36、,蓄電池端電壓,蓄電池充電電流,蓄電池溫度。模擬量采集流程圖如圖 6.2 所示。圖6.2 模擬量采集程序流程圖6.2.2 充電模式的仿真設(shè)計(jì) 第二章分析和介紹了本文的充電控制策略,該充電控制策略分為四個(gè)模式,激活充電、大電流快速充電、過充電和浮充電。下面詳細(xì)介紹這四個(gè)模式控制的軟件設(shè)計(jì)。本充電系統(tǒng)的待充蓄電池組的額定電壓為 48V,額定容量為 100Ah。充電控制策略的軟件流程如圖 6.3所示。圖6.3 多模式充電控制流程圖6.2.3 LCD 顯示任務(wù)模塊及其流程圖 LCD 顯示任務(wù) DIS_Task()的功能是實(shí)時(shí)顯示控制器的輸入電壓和蓄電池的充電電壓,充電電流以及蓄電池的充電溫度。由于 L

37、PC2292 自帶 LCD 驅(qū)動(dòng)功能,實(shí)際的程序設(shè)計(jì)中只需將顯示屏初始化完成,改變顯示緩沖區(qū)內(nèi)顯示內(nèi)容,LCD 控制器會(huì)自動(dòng)通過專用 DMA 通道從內(nèi)存中讀取顯示數(shù)據(jù)并刷新顯示器,無需 CPU 和程序再進(jìn)行干預(yù)。對(duì) LCD 控制器進(jìn)行初始化,其過程包括:·初始化LCD 端口;·申請顯示緩沖區(qū),大小為320×240×1字節(jié);·初始化LCD 控制寄存器,包括設(shè)置LCD分辨率、掃描速率、顯示緩沖區(qū)等。LCD的ASCII字符的顯示原理與漢字字符的顯示原理相同,不同的是一個(gè) 16×8 的ASCII 字符共需要 16 個(gè)字節(jié)表示。系統(tǒng)設(shè)計(jì)中拉丁字

38、符及數(shù)字使用的是 ascii16x8 點(diǎn)陣字庫,由于不含有顏色信息,每個(gè)字符占用 16x8bit 存儲(chǔ)空間對(duì)應(yīng) 16x8(高 x 寬)像素顯示空間。每個(gè)像素按照從左至右從上至下的方式排列。確定一個(gè) ASCII 字符在字庫中位置的公式為: Location = (*S) * 16; 漢字與 ASCII 碼顯示軟件流程圖見圖 6.4所示。 圖6.4 漢字與 ASCII 碼顯示軟件流程圖七結(jié)論面對(duì)當(dāng)今社會(huì)資源匱乏,環(huán)境破環(huán)日益加重的局面,蓄電池的生產(chǎn)及投入使用在一定程度上緩解了社會(huì)這方面的壓力。對(duì)蓄電池在充電過程中,蓄電池的各種不同的性能參數(shù)的具體不同的變化的研究分析,包括電壓、電流、溫度的不同的變

39、化,通過這幾個(gè)參數(shù)的變化能有效的了解蓄電池的所處于的實(shí)際充電狀態(tài)。電力電子技術(shù)、現(xiàn)代控制理論的快速發(fā)展,為蓄電池充電系統(tǒng)的發(fā)展提供了堅(jiān)實(shí)的理論基礎(chǔ),同時(shí)集成電路技術(shù)和嵌入式系統(tǒng)的飛速發(fā)展,尤其是以單片機(jī)為代表的混合信號(hào)處理器為蓄電池充電控制技術(shù)的發(fā)展提供了廣闊的前景。本文根據(jù)蓄電池充電系統(tǒng)的功能和技術(shù)要求,研制了一套基于嵌入式ARM7的數(shù)字控制充電系統(tǒng)。本文完成的工作主要有:(1)根據(jù)蓄電池充電系統(tǒng)的功能和技術(shù)要求,首先對(duì)蓄電池充電系統(tǒng)的總體方案進(jìn)行了設(shè)計(jì),分析對(duì)比了幾種常用電氣隔離型 DC/DC 變換器的優(yōu)缺點(diǎn),最后選擇了雙管反激變換器作為充電系統(tǒng)功率主電路的拓?fù)浣Y(jié)構(gòu),通過對(duì)雙管反激變換器工

40、作原理的分析,證明了該電路拓?fù)渚哂泄β书_關(guān)管的電壓應(yīng)力小,控制簡單,電路體積小等優(yōu)點(diǎn),體現(xiàn)了在高壓輸入應(yīng)用場合的優(yōu)越性。在此基礎(chǔ)上,本文對(duì)主電路的控制技術(shù)進(jìn)行了論證分析,由于模擬控制的電路結(jié)構(gòu)復(fù)雜,控制單一,無法滿足蓄電池充電控制的要求,因而選擇了數(shù)字控制的方式,并對(duì)LPC2292 為核心的數(shù)字控制器進(jìn)行詳細(xì)的分析。(2)完成了充電系統(tǒng)硬件電路的設(shè)計(jì)與實(shí)現(xiàn)。硬件設(shè)計(jì)主要包括充電系統(tǒng)主電路、反激變壓器、充電控制器、驅(qū)動(dòng)電路、采樣調(diào)理電路、保護(hù)電路以及輔助電源等。充電系統(tǒng)在運(yùn)行中具有完善的保護(hù)功能,同時(shí)基于LPC2292的充電控制器還具有充電信息顯示和人機(jī)交互等功能,發(fā)揮了嵌入式系統(tǒng)的數(shù)字控制的優(yōu)勢。(3)完成了充電系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)。本文首先對(duì)系統(tǒng)的軟件總體結(jié)構(gòu)進(jìn)行了劃分,將系統(tǒng)軟件分為主循環(huán)程序和定時(shí)器中斷服

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論