嵌入式系統(tǒng)在蓄電池充電中應用研究報告文獻_第1頁
嵌入式系統(tǒng)在蓄電池充電中應用研究報告文獻_第2頁
嵌入式系統(tǒng)在蓄電池充電中應用研究報告文獻_第3頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、個人資料整理 僅限學習使用目錄.設計題目1.設計要求1.設計的作用與目的1.系統(tǒng)硬件設計2接口電路設計 TOC o 1-5 h z HYPERLINK l bookmark14 o Current Document 時鐘電路及復位電路 4 HYPERLINK l bookmark16 o Current Document JTAG 調(diào)試接口電路 4 HYPERLINK l bookmark18 o Current Document LCD 串行接口設計 5 HYPERLINK l bookmark20 o Current Document RS232 接口設計6驅(qū)動電路的設計采樣電路設計 HY

2、PERLINK l bookmark28 o Current Document 輸入電壓采樣電路 8 HYPERLINK l bookmark30 o Current Document 蓄電池端電壓采樣電路 9 HYPERLINK l bookmark38 o Current Document 蓄電池充電電流采樣電路 9 HYPERLINK l bookmark42 o Current Document 蓄電池溫度采樣電路 1011保護電路設計 HYPERLINK l bookmark50 o Current Document 電源電路設計 12.系統(tǒng)軟件設計13 HYPERLINK l bo

3、okmark54 o Current Document 系統(tǒng)軟件的總體結構 13 HYPERLINK l bookmark56 o Current Document 應用pC/OS -II 的必要準備 13 HYPERLINK l bookmark58 o Current Document 定義任務優(yōu)先級 13定義任務??臻g14定義消息郵箱14 HYPERLINK l bookmark60 o Current Document - C/OS -II 的基本函數(shù)14.系統(tǒng)仿真與調(diào)試15 HYPERLINK l bookmark64 o Current Document 主控模塊及其流程圖 15

4、HYPERLINK l bookmark66 o Current Document 主任務模塊及其流程圖 17A/D 采樣模塊軟件仿真設計17充電模式仿真設計17LCD 顯 示 任 務 模 塊 及 其 流 程圖 18 HYPERLINK l bookmark80 o Current Document .結論 20 HYPERLINK l bookmark82 o Current Document .嵌入式系統(tǒng)實習心得21 HYPERLINK l bookmark84 o Current Document 九二參考文獻 22嵌入式系統(tǒng)在蓄電池充電中的應用研究一.設計題目嵌入式系統(tǒng)在蓄電池充電中的

5、應用研究二.設計要求本文的主要目的是研究并設計一套蓄電池充電控制器,控制器的總體功能和技術要求 如下:(1充電系統(tǒng)的輸入直流電壓范圍為 200650V;(2充電系統(tǒng)的直流輸出電壓范圍為 060V,待充蓄電池組額定電壓為48V;(3充電系統(tǒng)的輸出直流電流范圍為 020A;(4充電系統(tǒng)的最大輸出功率為1200W;(5充電系統(tǒng)應根據(jù)蓄電池的荷電狀態(tài)采用合適的充電方法對蓄電池進行充電;(6充電系統(tǒng)應具有完善的充電保護功能;(7充電系統(tǒng)應具有實時顯示和監(jiān)控的功能。三.設計的作用與目的如何高效、快速、安全地對蓄電池進行充電控制,一直是人們關心的問題。雖然蓄 電池問世至今已有100多年的歷史,但是由于技術條

6、件的限制,目前很多的充電器仍然 采用傳統(tǒng)的充電方式。鉛酸蓄電池作為一種可重復使用的儲能設備得到了廣泛的應用, 但是充電一直是影響其使用壽命的關鍵問題。隨著鉛酸蓄電池在新能源開發(fā)中的廣泛應用,對蓄電池的充電方法和充電裝置都提 出了新的要求:研究并設計一種快速、高效、安全的蓄電池充電系統(tǒng)成為一項很重要的 任務。對蓄電池充電的改進可以從兩個方面考慮,一是蓄電池的充電方法,二是蓄電池 的充電裝置。隨著電力電子技術、微電子技術、計算機技術以及自動控制技術的發(fā)展, 蓄電池的充電控制方法和充電裝置的研究也越來越廣泛,這兩個方面的研究設計對光伏 發(fā)電、電動汽車等新興綠色環(huán)保產(chǎn)業(yè)的發(fā)展具有非常重要的意義。本文致

7、力于研究并設 計一種快速、安全、智能的蓄電池充電控制器。蓄電池的充電過程主要分為激活充電、大電流快速充電、過充電和浮充電四個階段。這四個充電階段是完全按照蓄電池的狀態(tài)進行設置的,多模式充電控制策略考慮到 蓄電池在實際使用過程中的荷電狀態(tài),根據(jù)蓄電池的荷電狀態(tài)進行相應的充電控制,通 過對蓄電池端電壓的檢測,確定采用何種充電模式,有效地維護了蓄電池的充電壽命。這種多模式的充電方法綜合了恒流充電快速而安全、及時補償蓄電池電量和包壓充 電能夠控制過充電以及在浮充狀態(tài)保持蓄電池100%電量的優(yōu)點。這種充電控制策略能夠?qū)崟r檢測充電情況并按預定的充電方案對蓄電池充電;通過對蓄電池荷電狀態(tài)的分析與 判斷,選擇

8、合適的充電模式,激活充電能夠有效地激活過放電蓄電池內(nèi)部的活性物質(zhì), 避免初始大電流快速充電對蓄電池造成損壞;大電流快速充電能夠最大效率地補足蓄電 池的電量;過充電能夠能夠使得蓄電池的電量接近100%充滿,最后的浮充電又能夠補充蓄電池自身放電而損失的電量,進一步補充蓄電池的電量并延長蓄電池的使用壽命。本文根據(jù)充電系統(tǒng)的功能要求和技術指標,進行了總體方案設計。蓄電池充電控制器 的控制方式采用基于時下最常用的嵌入式 ARM7微處理器LPC2292的數(shù)字控制。充電系 統(tǒng)采用多模式充電控制策略,分別為激活充電、大電流快速充電、過充電和浮充電四種 模式。根據(jù)充電系統(tǒng)的總體方案,對充電控制器的硬件和軟件進行

9、了詳細的設計與實 現(xiàn)。硬件部分主要充電控制器的驅(qū)動電路,采樣電路,保護電路以及輔助電源的設計。軟件部分主要包括介紹了 pC/OS -II實時操作系統(tǒng)在 ARM7上的移植和各個軟件模塊包 括A/D采樣、控制器數(shù)據(jù)的處理以及數(shù)據(jù)在 LCD顯示等程序的實現(xiàn)。四.系統(tǒng)硬件設計本文的充電控制器以嵌入式作為平臺,以ARM7 LPC229納核心,由于該款芯片的片內(nèi)外設功能豐富,能完成模擬量的采樣轉換、數(shù)據(jù)處理和控制調(diào)節(jié)、以及片內(nèi)的定時器 可產(chǎn)生占空比調(diào)節(jié)的PWM控制信號,完全能夠?qū)崿F(xiàn)蓄電池的充電控制,同時該單片機的 I/O端口和異步串行通信接口能方便實現(xiàn)外接LCD顯示和上位機的串行通信。充電控制器的硬件結構

10、如圖4.1所示。這種數(shù)字化的充電控制器滿足了充電系統(tǒng)輸出可編程控 制、具有數(shù)據(jù)通訊和顯示、智能化控制等要求。下面將分別介紹充電控制器中復位電 路、JTAG接口、LCD串行接口和RS232接口的硬件設計。圖4.1充電控制器硬件結構圖本系統(tǒng)對CPU的特殊要求有以下幾點:(1.能提供至少1路獨立的脈寬調(diào)制(PWM輸出(若不能提供,則系統(tǒng)的工作頻率至少要求100M以上;(2.有4個8位或者10位精度的AD轉換器(現(xiàn)在也有不少單片機帶有 AD功能,但 單買AD轉換器會造成成本的提高;(3.帶有CAN總線控制器;(4.具有 JTAG 接口;(5.除以上之外,至少還需要35個普通I/O 口??紤]以上條件,采

11、用 ARM公司LPC2200系列中的2292微控制芯片作為中央處理器。下表4.1給出LPC2292的管腳配置。表4.1 LPC2292的管腳配置端口號引腳I/O類型功能說明P0.042ORS232 TXD 接口P0.149IRS232 RXD 接口P0.459I/OCA12864K RS 接口P0.561I/OCA12864K SID 接口P0.668I/OCA12864K SCLK接口P0.769IPWM波形輸出P0.10-P0.1778 , 83 , 84 , 85 , 92 , 99 , 100 , 101OCA12864KDB0-DB7 接口P0.2723IADC0采樣(輸入電壓)P0

12、.2825IADC1采樣(充電電壓)P0.2932IADC2采樣(充電電流)P0.3033IADC3采樣(蓄電池溫度)P1.27-P1.31144 , 140 , 126 , 113 , 43I/OJTAG 接口接口電路設計時鐘電路及復位電路LPC2000系歹IARM微控制器可使用外部晶振或外部時鐘源,內(nèi)部 PLL電路可調(diào)整系 統(tǒng)時鐘,使系統(tǒng)運行速度更快(CPU最大操作時鐘為 60MHz本設計為提高系統(tǒng)反應速 度,啟用片內(nèi)的PLL功能(使用此功能,則外部晶振的頻率限定在 1025MHz振蕩器工 作在振蕩模式下,由于片內(nèi)集成了反饋電阻,只需在外部連接一個晶體和電容Cx1、Cx2就可形成基本模式的

13、振蕩。晶振選用11.0592MHz,使用口波特率更精確。如圖 4.2所示。XI 110592圖4.2振蕩模式下晶振連接復位電路采用上電復位電路,如圖 4.3所示。+3V3圖4.3上電復位電路JTAG 調(diào)試接口電路JTAG標準是一種國際標準測試協(xié)議IEEE 1149.1,主要用于芯片內(nèi)部測試及對系統(tǒng)進行仿真、調(diào)試。通過 JTAG接口,可以對芯片內(nèi)部的所有部件進行訪問,因而是開 發(fā)調(diào)試的一種簡潔高效的手段。LPC2292處理器內(nèi)置了串行JTAG接口,可通過此接口對片內(nèi)256K的FLASH存儲器進行編程以及程序的燒寫和調(diào)試,給用戶的開發(fā)帶來極大 的方便。接口電路如圖4.4所示。圖4.4 JTAG 調(diào)

14、試接口LCD串行接口設計本文采用的LCD型號為CA12864Kt% LCD內(nèi)部的中文字型點陣控制器為 ST792Q可 顯示四行八列漢字,也可顯示圖形,內(nèi)置 8192個簡體中文漢字(16 X 16點陣。LCD 使用3.3V進行供電,LPC2292與LCD的接口有并行和串行兩種模式,可方便地實現(xiàn)8位、4位并行接口或者串行接口數(shù)據(jù)傳輸,采用哪種模式由LCD中的PSB引腳控制,PSB接高電平時選擇并行模式,接低電平時選擇串行模式。LPC2292采用串行接口的方式與LCD進行連接,圖4.5所示為LCD串行接口。圖4.5 LCD串行接口LCD的各引腳定義及功能如表 4.2所示。LCD與LPC2292的串行

15、接口只需連接三個 引腳:RS SID和SCLE LPC2292通過P0.10-P0.17 口與LCD串行通信,P0.6接液晶 的SCLK端,P0.4接液晶的RS端,P0.5接液晶的SID端。將LCD的并口/串口選擇 引腳接地即為選擇串行接口,RS為串行傳輸時的片選信號;SID為串行數(shù)據(jù)線,負責單片機往LCD的數(shù)據(jù)傳輸;SCLK為傳輸時的時鐘信號,該時鐘信號由LPC2292提供。充電控制器在運行中,時刻檢測蓄電池的充電參數(shù),對輸入電壓、輸出電壓、輸出電流和 溫度等信息進行數(shù)據(jù)處理和反饋控制調(diào)節(jié)的同時,通過串行接口將充電信息送入LCD中進行顯示,實現(xiàn)了充電系統(tǒng)在運行中的實時顯示和監(jiān)控功能。力腳定義

16、功徒VSSLCD也延地,接地VDDLCD電源憤入,接+3.3VVD費品對比度調(diào)整曜.不連接RS片口信號,低電干有效,接單腫機用上SID串行均即統(tǒng).接單片機SCLK中行時鐘0A.掛單片機P25DB0-DB7打打敵據(jù)畿r小連接PSB時L If11選樣.接地力用打接口NC小娃接RSTLCD復位,不過接NC不在接LEDAVT-Jt ll :. 1S+3.3VLEDK仃加地.接地表4.2 LCD各引腳定義及功RS232 接 口設計RS232接口是充電系統(tǒng)與上位機通信的重要工具,基于單片機控制的蓄電池充電系 統(tǒng)能夠方便地實現(xiàn)與上位機的通信,將充電過程中蓄電池的參數(shù)和控制數(shù)據(jù)傳送至上位 機。LPC2292的

17、通用串行通信接口(USCI模塊具有兩組可同時使用的獨立通道。異步通道 (USCI_A支持UART模式、SPI模式、IrDA的脈沖成形以及LIN通信的自動波特率檢 測。同步通道(USCI_B支持回和SPI模式。本充電控制器采用UART模式通過RS232接口與上位機進行通信。RS232接口硬件電路如圖4.6所示。圖4.6 RS232接口原理圖驅(qū)動電路的設計在充電系統(tǒng)中,驅(qū)動電路設計非常重要,驅(qū)動電路將直接影響到整個充電系統(tǒng)的工 作性能和可靠性。在本充電系統(tǒng)中,對于 IGBT驅(qū)動電路的設計有如下要求:(1動態(tài)驅(qū)動能力強,能為IGBT柵極提供具有陡峭前后沿的驅(qū)動脈沖。否則 IGBT 會在開通與關斷過程

18、中產(chǎn)生較大的開關損耗。(2能向IGBT提供適當?shù)恼蚝头聪驏艠O電壓。 IGBT導通時,IGBT的柵極正向 柵極電壓取+15V左右比較恰當;為了提高IGBT的關斷耐壓和抑制干擾的能力,IGBT關 斷時在其柵極加-5 V的反向電壓即可讓IGBT可靠截止。(3 IGBT驅(qū)動電路必須能夠?qū)崿F(xiàn)控制電路與被驅(qū)動的IGBT柵極之間的電隔離。同時雙管反激電路中,兩個功率開關管不供地,因而兩路驅(qū)動信號彼此間也需要電氣隔 離。(4驅(qū)動電路應盡量靠近IGBT,使得驅(qū)動線路盡可能短,避免其他信號的干擾。本充電系統(tǒng)需要兩路相互隔離的控制信號,其中一路隔離驅(qū)動電路如圖4.7所示,圖4.7中,三極管D882和B772構成了

19、圖騰柱輸出,圖騰柱輸出能夠增強控制信號的 驅(qū)動能力,磁環(huán)變壓器起到了信號隔離的作用。電容 C3為隔直電容,R1為柵極驅(qū)動電 阻,目的是防止電流尖峰引起的高頻振蕩。D1、D2為穩(wěn)壓二極管1N4744,通過D1和D2可將驅(qū)動電路的輸出電壓箝位在土 15V。R2和穩(wěn)壓二極管也可以提高IGBT的抗電壓 尖峰和抗干擾能力。在實際的系統(tǒng)控制中,LPC2292輸出的PWM6制信號經(jīng)過電平轉換后與硬件保護信號進行邏輯運算,邏輯運算后的PWM控制信號即為驅(qū)動電路的輸入信號PWM評口 PWM2這兩路控制信號分別送入兩路獨立的驅(qū)動電路中,經(jīng)過驅(qū)動電路對控制信號進行隔離與放大,形成兩路相互隔離的控制信號DRV_G1和

20、DRV_G2這兩路隔離的控制信號驅(qū)動功率開關管IGBT的開通與關斷。圖4.7驅(qū)動電路原理圖采樣電路設計穩(wěn)定可靠的充電系統(tǒng)要有完善的檢測與保護電路,這樣才能根據(jù)電路的反饋信息, 及時調(diào)整控制信號,保證系統(tǒng)按預定的控制策略穩(wěn)定運行,而且當系統(tǒng)發(fā)生故障時,可 以及時停止充電系統(tǒng)的運行。輸入電壓采樣電路該電路主要實現(xiàn)對系統(tǒng)輸入電壓的采樣,如圖4.8 所示。因為LPC2292的ADC采樣輸入范圍在03.3V之間,而系統(tǒng)的輸入電壓范圍為 200V650V,因此將輸入電壓 網(wǎng) 由電阻分壓得到調(diào)理后的輸入電壓采樣,調(diào)理后的輸入電壓采樣經(jīng)過二極管的箝位和RC低通濾波后送入的采樣輸入端 ADCQ個人資料整理 僅限

21、學習使用圖4.9蓄電池端電壓采樣電路圖4.8輸入電壓采樣電路蓄電池端電壓采樣電路該電路主要實現(xiàn)蓄電池的端電壓的采樣,蓄電池的端電壓在蓄電池的充電過程中極 為重要,它反映了蓄電池的容量狀態(tài),并且系統(tǒng)的充電控制策略都是根據(jù)蓄電池的端電 壓進行判斷的,蓄電池的端電壓關系到充電系統(tǒng)采用何種充電模式對蓄電池進行充電。 如果系統(tǒng)在充電初始時檢測到蓄電池處于過放電狀態(tài),即蓄電池的端電壓低于欠壓閾值 山 時,充電控制器需要對蓄電池進行小電流的激活充電,使蓄電池端電壓恢復到可 接受快速充電的狀態(tài);蓄電池充電過程中,四種充電模式的相互切換都與蓄電池的端電 壓有關,因而對于蓄電池端電壓的采樣檢測非常重要,蓄電池端電

22、壓檢測電路的設計與 輸入電壓采樣電路相同,如圖 4.9所示。蓄電池端電壓經(jīng)過電阻分壓后得到端電壓采樣巨,經(jīng)過二極管箝位和電阻電容構成的低通濾波器后送入單片機的ADC1采樣輸入本Uq潞mpk端。R70.51 KGNDJGND2.2nFVGND個人資料整理 僅限學習使用蓄電池充電電流采樣電路蓄電池的充電電流對于蓄電池的充電控制最為關鍵,在本系統(tǒng)中,激活充電和大電流 快速充電都需要進行恒流充電控制。因此采用霍爾電流傳感器來檢測蓄電池的充電電 流,霍爾電流傳感器的特點是可以實現(xiàn)電流的“無電位”檢測。即測量電路不必接入被 測電路即可實現(xiàn)電流檢測,他們靠磁場進行耦合。因此,檢測電路的輸入、輸出電路是 完全

23、隔離的。檢測過程中,被測電路的狀態(tài)不受檢測電路的影響,檢測電路也不受被測 電路的影響?;魻栯娏鱾鞲衅鞯墓ぷ髟硎腔诨魻栃?,利用通電導線周圍產(chǎn)生的磁 場大小與流過導線的電流成正比,通過磁芯聚集感應到霍爾器件上,間接地檢測出電流 的大小。本系統(tǒng)采用的霍爾電流傳感器型號為HNC-050P其測量范圍為 0土 75A,響應時間小于1us ,采用土 15V供電。轉換比率為1000:1 。充電電流采樣電路如圖4.10所示。將輸出電流從電流傳感器的穿孔芯中穿入,電流 傳感器將電流縮小1/1000 ,傳感器的次級使用100。的小電阻,將電流信號轉換為電壓 信號回。再將該電壓信號經(jīng)過RC濾波電路后,然后將濾波

24、后的電壓信號日 送入LPC2292的采樣端口 ADC2進行模數(shù)轉換。+VCC-vcc M-R101K100ZCI:|RI2uIduF TlkVGNI)圖4.10充電電流采樣電路蓄電池溫度采樣電路蓄電池在充電過程中,由于極化現(xiàn)象的存在,蓄電池會有一定溫開。溫度過高,會 直接影響充電效率,同時對電池損壞很大,縮短蓄電池的使用壽命。所以,在充電過程 中電池溫度是很重要的一個信息。在本充電系統(tǒng)中,過充電壓和浮充電壓都需要根據(jù)蓄電池的溫度進行補償,合理設置蓄電池的過充電壓和浮充電壓,能有效延長蓄電池的充 電使用壽命。目前國內(nèi)常用的溫度傳感器是熱敏電阻,而該溫度傳感器是非線性傳感器,在使用 過程中必須外加

25、補償電路,因此電路復雜、體積較大。在本充電系統(tǒng)中,選用美國國家 半導體公司的LM35系列精密溫度傳感器。具特點是:(1輸出電壓與攝氏溫度成線性比例關系,為 日,無需調(diào)整或校準;(2精度較高;(3工作電壓范圍為430V;(4很低的輸出阻抗,在負載電流為1mA時,僅為0.1 Q ;LM35的基本電路十分簡單,在單電源 420V工作電壓時,測量溫度范圍為回 到山 ,具輸出電壓為 x 1,即 臼 時輸出為0mV,每升高 回,輸出電壓增加10mVo LM35的電源供電模式有單電源和正負雙電源模式,正負雙電源的供電模式 可提供負溫度的測量,本系統(tǒng)采用15V單電源供電模式。LM35+I5V- RI3-a2.

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

27、o輸出為低電平0,此時PWM仃PWM2勺輸出均為低電平0 ,這兩個PWM控制信號經(jīng)過兩路獨立驅(qū)動電 路的隔離放大,控制功率開關管IGBT的關斷,有效地保護了系統(tǒng)的運行。同時,各個GND保護電路中的發(fā)光二極管能夠直觀地顯示系統(tǒng)的故障來源,方便了故障的排除。 TOC o 1-5 h z AVdd日HA-BGK=C+b MKi-H C I. E+F DFVibE圖4.12保護信號與PWM信號邏輯運算電源電路設計電源為整個系統(tǒng)提供能量,是整個系統(tǒng)的基礎。設計電源的過程,是各種因素互相權 衡的過程,需要考慮的因素有:輸出電壓、電流、功率,輸入電壓、電流、安全因素, 輸出波紋,電磁兼容與 抗干擾,成本等。

28、本開發(fā)平臺采用直流供電。本控制系統(tǒng)的電源由 4塊串連的12V鉛蓄電池提供,即供電電源電壓為 48V。 LPC2000系列ARM7微控制器均要采用兩種電源,I/O 口工作電源為+3.3V,內(nèi)核及片內(nèi) 外設供電電源為+1.8V。溫度傳感器和驅(qū)動電路等又需要有 +5V和+15V電源,所以整個 系統(tǒng)的工作電壓有 +1.8V、+3.3V、+5V和+15V,因此采用穩(wěn)壓電源芯片 7824、7815、 1117-3.3、1117-1.8和1117-5產(chǎn)生所需電壓,電路設計簡單可靠,如圖 4.13所示。艮154_lfWn K +E?U 甘EJ-.4,J)K/3Wq _LL(MiTIiEHTTU205PX1U7

29、 18V研ftIDE+ 1SVrD47101H窈圖1】L爐4 15TI1衿XM1TTV UXiI1D3-H聿m+1.8Vi| 104圖4.13系統(tǒng)電源電路五.系統(tǒng)軟件設計與實現(xiàn)系統(tǒng)軟件的總體結構根據(jù)系統(tǒng)總體設計的分析,其工作過程的各步驟被分配到幾個具體的、獨立的功能模塊之中。與之對應,該系統(tǒng)的應用軟件分為 6個模塊:主控程序模塊;主任務模塊;PWMfc產(chǎn)生模塊;串行通信控制模塊;數(shù)據(jù)采樣模塊;LCD顯示模塊。主控程序模塊的功能是在運行任務前初始化各個功能模塊,建立主任務,啟動定時中 斷以及啟動多任務的運行。主任務模塊的功能是負責系統(tǒng)總體的邏輯與流程控制,協(xié)調(diào)、調(diào)度各任務功能模塊, 以實現(xiàn)對蓄電

30、池充電控制器的內(nèi)部的數(shù)據(jù)的處理及顯示。應用ilC/OS -II的必要準備基于移植好的pC/OS -II進行系統(tǒng)應用軟件的設計,需要作以下必要的準備:定義 任務的優(yōu)先級、定義任務棧空間、定義消息郵箱。定義任務優(yōu)先級根據(jù)系統(tǒng)軟件的總體結構分析,創(chuàng)建具有不同優(yōu)先級的5個任務:主任務Main_Task(、PWM產(chǎn)生任務 PWM_Task( 控制器數(shù)據(jù)接收任務 Recv_Char_Task(、 控制器數(shù)據(jù)處理任務 Pro_Data_Task(和LCD顯示任務DIS_Task( ,它們的優(yōu)先級分 別是12、14、16、18、20,即主任務的優(yōu)先級最高,LCD顯示任務的優(yōu)先級最低。具體 源程序代碼如下:de

31、fine Main_Task_PRIO 12define PWM_Task_PRIO 14define Recv_Char_Task_PRIO 16define Pro_Data_Task_PRIO 18define DIS_Task_PRIO 20定義任務??臻g對于nC/OS -II和絕大多數(shù)的可剝奪型內(nèi)核而言,每個任務都需要分配自己的堆??臻g。堆棧必須聲明為 os_stk類型,并且由連續(xù)的內(nèi)存空間組成。每個任務的堆棧 容量可以單獨指定,為簡化起見,本程序都定義成相同的容量。用戶可以靜態(tài)地分配堆 ??臻g 在編譯時分配),也可以動態(tài)地分配堆棧空間在運行時分配)。本次設計采用靜態(tài)分配方式。具體源

32、程序代碼如下: TOC o 1-5 h z OS_STK Main_StackSTACKSIZE = 0, 。OS_STK PWM_StackSTACKSIZE = 0, 。OS_STK Recv_Char_StackSTACKSIZE = 0, 。OS_STK Pro_Data_StackSTACKSIZE = 0, 。OS_STK DIS_StackSTACKSIZE = 0, 。定義消息郵箱要使用消息郵箱,首先就要定義消息郵箱,消息郵箱的定義是通過OS_EVENTt據(jù)結構實現(xiàn)的。pC/OS -II通過UCOS_II.H頭文件中定義的 OS_EVENT數(shù)據(jù)結構,維護 一個事件控制塊ECB的

33、所有信息。該結構中除了包含事件本身的定義外還定義了該事件 的所有任務的列表。每個信號量、消息郵箱、消息隊列都分配到一個事件控制塊ECB。任務之間或任務和中斷服務子程序之間的通信是通過事件控制塊ECBECB(EventControl Blocks,實現(xiàn)的,即任務或中斷服務子程序可以通過事件控制塊向另外的任務發(fā)送信號。這里信號被看成是事件(Event 。事件控制塊ECB是用于實現(xiàn)下列功能函數(shù)的基本數(shù)據(jù)結構,如信號量、消息郵箱、消息隊列等相應的功能函數(shù)。OS_EVENT *Mbox 1pC/OS -II的基本函數(shù)在應用軟件中常用到 OSInit(、OSStart(、OSTaskCreate(、OST

34、imeDly(、 OSTaskDelReq(若幾個常用的仙C/OS -II的函數(shù),它們的特點和作用如下。函數(shù)OSInit(的功能是對pC/OS -II操作系統(tǒng)初始化。在調(diào)用pC/OS -II的任何其他 服務之前,pC/OS -II要求首先調(diào)用系統(tǒng)初始化函數(shù) OSInit(。OSInit(初始化C/OS-II 所有的變量和數(shù)據(jù)結構,并建立空閑任務 OS_TaskIdle(。函數(shù)OSStart(X勺功能是啟動多任務,將控制權交給 pC/OS -II內(nèi)核,開始運行多任 務。OSStart(除判斷所有建立的任務中哪一個任務是最重要的,即優(yōu)先級最高,并開始 運行這個任務。在啟動多任務 OSStart(之

35、前,至少要先建立一個任務,否則應用程序就 會崩潰。函數(shù)OSTaskCreate(勺功能是建立任務。如果要讓 C/OS -II管理用戶的任務,就必 須先要建立任務,通過調(diào)用 OSTaskCreate(幅數(shù)來實現(xiàn)。任務可以在多任務調(diào)度開始前建 立,也可以在其他任務的執(zhí)行過程中建立。在開始多任務調(diào)度之前,用戶必須建立至少 一個任務。任務不能由中斷服務程序 ISR)來建立。OSTaskCreate(g數(shù)需要4個參數(shù): 指向任務代碼的指針;任務開始執(zhí)行時,傳遞給任務參數(shù)的指針;分配給任務堆棧的棧 頂指針;分配給任務的優(yōu)先級。這里在主控程序中建立主任務。C/OS -II提供一個可以被任務調(diào)用而將任務延時一

36、段特定時間的功能函數(shù) OSTimeDly(,這段時間的長短是由指定的時鐘節(jié)拍的數(shù)目來確定的。一旦調(diào)用該函數(shù), 通知pC/OS -II該任務本次運行已經(jīng)結束,可以讓下一個最高優(yōu)先級的任務運行。若沒有 函數(shù)OSTimeDly(或類似的函數(shù),則任務將是一個真正的無限循環(huán),任何其他任務都沒 有運行的機會。nC/OS - II建立的任務會占用一些內(nèi)存緩沖區(qū)或信號量一類的資源。此時如果另一 個任務試圖刪除該任務,這些被占用的資源就會因為沒有被釋放而丟失,這將導致存儲 器漏洞,而這是任何嵌入式系統(tǒng)都無法接受的。因此,要想辦法讓擁有這些資源的任務 在使用完資源后,先釋放資源,再刪除自己。 C/OS - II是

37、通過函數(shù)OSTaskDelReq(垸成該功能。發(fā)出刪除任務請求的任務和打算被刪除的任務都必須調(diào)用函數(shù) OSTaskDelReq(工六.系統(tǒng)仿真與調(diào)試主控模塊及其流程圖主控程序Main(的作用是在運行任務前初始化 ARM處理器,初始化操作系統(tǒng),初始 化充電控制器的數(shù)據(jù)接收模塊,初始化串口UARTQ初始化LCD控制器等,建立主任務,啟動定時中斷以及啟動多任務的運行。主控程序 Main(的流程圖詳見圖6.1所示。(開的 )系統(tǒng)初始化開中斷顯示圖6.1主控程序流程圖主控程序的源代碼如下:void Main(Uart_Select(0 。Lcd_Init( 。Lcd_clear(BLUE。ARMTarg

38、etInit( 。OSInit( 。OSTaskCreate(Main_Task,(void*0,(OS_STK*&Main_StackSTACKSIZE-1 ,Main_Task_PRIO。ARMTargetStart( 。OSStart(。return 。函數(shù)Lcd_Init( 的功能是對LCD控制器初始化。函數(shù)Lcd_clear(的功能是對LCD顯示器清屏。函數(shù)Uart_Select(0的功能是選擇UART通道0。函數(shù)ARMTargetInit( 的功能是對ARM處理器進行初始化 函數(shù)ARMTargetStart(的功能是啟動時鐘節(jié)拍中斷。主任務模塊及其流程圖A/D 采樣模塊軟件仿真設計

39、10LPC2292片上集成了 8路10位逐次逼近式A/D轉換器,測量范圍為 03.3V , 位轉換時間最快可達2.44us o本蓄電池充電控制器需要采集的模擬信號包括:系統(tǒng)輸入電壓,蓄電池端電壓,蓄 電池充電電流,蓄電池溫度。模擬量采集流程圖如圖6.2所示。弋,/設置引腳連接設置ADC1作楨式啟動ABC轉換等待轉換站束|讀取采集-泗一屋1,切換ADC轉換姐道圖6.2模擬量采集程序流程圖充電模式的仿真設計第二章分析和介紹了本文的充電控制策略,該充電控制策略分為四個模式,激活充電、大電流快速充電、過充電和浮充電。下面詳細介紹這四個模式控制的軟件設計。本充電系統(tǒng)的待充蓄電池組的額定電壓為48V,額定

40、容量為100Ah。充電控制策略的軟件流程如圖6.3所小。圖6.3多模式充電控制流程圖LCD顯示任務模塊及其流程圖LCD顯示任務DIS_Task(的功能是實時顯示控制器的輸入電壓和蓄電池的充電電壓, 充電電流以及蓄電池的充電溫度。由于LPC2292自帶LCD驅(qū)動功能,實際的程序設計中只需將顯示屏初始化完成, 改變顯示緩沖區(qū)內(nèi)顯示內(nèi)容,LCD控制器會自動通過專用 DMA通道從內(nèi)存中讀取顯示數(shù) 據(jù)并刷新顯示器,無需 CPU和程序再進行干預。對 LCD控制器進行初始化,其過程包 括:初始化LCD端口;申請顯示緩沖區(qū),大小為 320X 240X 1字節(jié);初始化LCD控制寄存器,包括設置LC吩辨率、掃描速

41、率、顯示緩沖區(qū)等。LCD的ASCII字符的顯示原理與漢字字符的顯示原理相同,不同的是一個 16X8的 ASCII字符共需要16個字節(jié)表示。系統(tǒng)設計中拉丁字符及數(shù)字使用的是ascii16x8 點陣字庫,由于不含有顏色信息,每個字符占用16x8bit存儲空間對應16乂8 * 16。 漢字與ASCII碼顯示軟件流程圖見圖6.4所示。圖6.4漢字與ASCII碼顯示軟件流程圖七.結論面對當今社會資源匱乏,環(huán)境破環(huán)日益加重的局面,蓄電池的生產(chǎn)及投入使用在一 定程度上緩解了社會這方面的壓力。對蓄電池在充電過程中,蓄電池的各種不同的性能 參數(shù)的具體不同的變化的研究分析,包括電壓、電流、溫度的不同的變化,通過這

42、幾個 參數(shù)的變化能有效的了解蓄電池的所處于的實際充電狀態(tài)。電力電子技術、現(xiàn)代控制理論的快速發(fā)展,為蓄電池充電系統(tǒng)的發(fā)展提供了堅實的 理論基礎,同時集成電路技術和嵌入式系統(tǒng)的飛速發(fā)展,尤其是以單片機為代表的混合 信號處理器為蓄電池充電控制技術的發(fā)展提供了廣闊的前景。本文根據(jù)蓄電池充電系統(tǒng) 的功能和技術要求,研制了一套基于嵌入式ARM7的數(shù)字控制充電系統(tǒng)。本文完成的工作主要有:1)根據(jù)蓄電池充電系統(tǒng)的功能和技術要求,首先對蓄電池充電系統(tǒng)的總體方案進行了 設計,分析對比了幾種常用電氣隔離型 DC/DC變換器的優(yōu)缺點,最后選擇了雙管反激變 換器作為充電系統(tǒng)功率主電路的拓撲結構,通過對雙管反激變換器工作原理的分析,證 明了該電路拓撲具有功率開關管的電壓應力小,控制簡單,電路體積小等優(yōu)點,體現(xiàn)了 在高壓輸入應用場合的優(yōu)越性。在此基礎上,本文對主電路的控制技術進行了論證分 析,由于模擬控制的電路結構復雜,控制單一,無法滿足蓄電池充電控制的要求,因而 選擇了數(shù)字控制的方式,并對 LPC2292為核心的數(shù)字控制器進行詳細的分析。2)完成了充電系統(tǒng)硬件電路的設計與實現(xiàn)。硬件設計主要包括充電系統(tǒng)主電路、反激 變壓器、充電控制器、驅(qū)動電路、采樣調(diào)理電路、保護電路以及輔助電源等。充電系統(tǒng)

溫馨提示

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

評論

0/150

提交評論