嵌入式系统在蓄电池充电中应用研究报告文献_第1页
嵌入式系统在蓄电池充电中应用研究报告文献_第2页
嵌入式系统在蓄电池充电中应用研究报告文献_第3页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、个人资料整理 仅限学习使用目录.设计题目1.设计要求1.设计的作用与目的1.系统硬件设计2接口电路设计 TOC o 1-5 h z HYPERLINK l bookmark14 o Current Document 时钟电路及复位电路 4 HYPERLINK l bookmark16 o Current Document JTAG 调试接口电路 4 HYPERLINK l bookmark18 o Current Document LCD 串行接口设计 5 HYPERLINK l bookmark20 o Current Document RS232 接口设计6驱动电路的设计采样电路设计 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.系统软件设计13 HYPERLINK l bo

3、okmark54 o Current Document 系统软件的总体结构 13 HYPERLINK l bookmark56 o Current Document 应用pC/OS -II 的必要准备 13 HYPERLINK l bookmark58 o Current Document 定义任务优先级 13定义任务栈空间14定义消息邮箱14 HYPERLINK l bookmark60 o Current Document - C/OS -II 的基本函数14.系统仿真与调试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 .嵌入式系统实习心得21 HYPERLINK l bookmark84 o Current Document 九二参考文献 22嵌入式系统在蓄电池充电中的应用研究一.设计题目嵌入式系统在蓄电池充电中的

5、应用研究二.设计要求本文的主要目的是研究并设计一套蓄电池充电控制器,控制器的总体功能和技术要求 如下:(1充电系统的输入直流电压范围为 200650V;(2充电系统的直流输出电压范围为 060V,待充蓄电池组额定电压为48V;(3充电系统的输出直流电流范围为 020A;(4充电系统的最大输出功率为1200W;(5充电系统应根据蓄电池的荷电状态采用合适的充电方法对蓄电池进行充电;(6充电系统应具有完善的充电保护功能;(7充电系统应具有实时显示和监控的功能。三.设计的作用与目的如何高效、快速、安全地对蓄电池进行充电控制,一直是人们关心的问题。虽然蓄 电池问世至今已有100多年的历史,但是由于技术条

6、件的限制,目前很多的充电器仍然 采用传统的充电方式。铅酸蓄电池作为一种可重复使用的储能设备得到了广泛的应用, 但是充电一直是影响其使用寿命的关键问题。随着铅酸蓄电池在新能源开发中的广泛应用,对蓄电池的充电方法和充电装置都提 出了新的要求:研究并设计一种快速、高效、安全的蓄电池充电系统成为一项很重要的 任务。对蓄电池充电的改进可以从两个方面考虑,一是蓄电池的充电方法,二是蓄电池 的充电装置。随着电力电子技术、微电子技术、计算机技术以及自动控制技术的发展, 蓄电池的充电控制方法和充电装置的研究也越来越广泛,这两个方面的研究设计对光伏 发电、电动汽车等新兴绿色环保产业的发展具有非常重要的意义。本文致

7、力于研究并设 计一种快速、安全、智能的蓄电池充电控制器。蓄电池的充电过程主要分为激活充电、大电流快速充电、过充电和浮充电四个阶段。这四个充电阶段是完全按照蓄电池的状态进行设置的,多模式充电控制策略考虑到 蓄电池在实际使用过程中的荷电状态,根据蓄电池的荷电状态进行相应的充电控制,通 过对蓄电池端电压的检测,确定采用何种充电模式,有效地维护了蓄电池的充电寿命。这种多模式的充电方法综合了恒流充电快速而安全、及时补偿蓄电池电量和包压充 电能够控制过充电以及在浮充状态保持蓄电池100%电量的优点。这种充电控制策略能够实时检测充电情况并按预定的充电方案对蓄电池充电;通过对蓄电池荷电状态的分析与 判断,选择

8、合适的充电模式,激活充电能够有效地激活过放电蓄电池内部的活性物质, 避免初始大电流快速充电对蓄电池造成损坏;大电流快速充电能够最大效率地补足蓄电 池的电量;过充电能够能够使得蓄电池的电量接近100%充满,最后的浮充电又能够补充蓄电池自身放电而损失的电量,进一步补充蓄电池的电量并延长蓄电池的使用寿命。本文根据充电系统的功能要求和技术指标,进行了总体方案设计。蓄电池充电控制器 的控制方式采用基于时下最常用的嵌入式 ARM7微处理器LPC2292的数字控制。充电系 统采用多模式充电控制策略,分别为激活充电、大电流快速充电、过充电和浮充电四种 模式。根据充电系统的总体方案,对充电控制器的硬件和软件进行

9、了详细的设计与实 现。硬件部分主要充电控制器的驱动电路,采样电路,保护电路以及辅助电源的设计。软件部分主要包括介绍了 pC/OS -II实时操作系统在 ARM7上的移植和各个软件模块包 括A/D采样、控制器数据的处理以及数据在 LCD显示等程序的实现。四.系统硬件设计本文的充电控制器以嵌入式作为平台,以ARM7 LPC229纳核心,由于该款芯片的片内外设功能丰富,能完成模拟量的采样转换、数据处理和控制调节、以及片内的定时器 可产生占空比调节的PWM控制信号,完全能够实现蓄电池的充电控制,同时该单片机的 I/O端口和异步串行通信接口能方便实现外接LCD显示和上位机的串行通信。充电控制器的硬件结构

10、如图4.1所示。这种数字化的充电控制器满足了充电系统输出可编程控 制、具有数据通讯和显示、智能化控制等要求。下面将分别介绍充电控制器中复位电 路、JTAG接口、LCD串行接口和RS232接口的硬件设计。图4.1充电控制器硬件结构图本系统对CPU的特殊要求有以下几点:(1.能提供至少1路独立的脉宽调制(PWM输出(若不能提供,则系统的工作频率至少要求100M以上;(2.有4个8位或者10位精度的AD转换器(现在也有不少单片机带有 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微控制器可使用外部晶振或外部时钟源,内部 PLL电路可调整系 统时钟,使系统运行速度更快(CPU最大操作时钟为 60MHz本设计为提高系统反应速 度,启用片内的PLL功能(使用此功能,则外部晶振的频率限定在 1025MHz振荡器工 作在振荡模式下,由于片内集成了反馈电阻,只需在外部连接一个晶体和电容Cx1、Cx2就可形成基本模式的

13、振荡。晶振选用11.0592MHz,使用口波特率更精确。如图 4.2所示。XI 110592图4.2振荡模式下晶振连接复位电路采用上电复位电路,如图 4.3所示。+3V3图4.3上电复位电路JTAG 调试接口电路JTAG标准是一种国际标准测试协议IEEE 1149.1,主要用于芯片内部测试及对系统进行仿真、调试。通过 JTAG接口,可以对芯片内部的所有部件进行访问,因而是开 发调试的一种简洁高效的手段。LPC2292处理器内置了串行JTAG接口,可通过此接口对片内256K的FLASH存储器进行编程以及程序的烧写和调试,给用户的开发带来极大 的方便。接口电路如图4.4所示。图4.4 JTAG 调

14、试接口LCD串行接口设计本文采用的LCD型号为CA12864Kt% LCD内部的中文字型点阵控制器为 ST792Q可 显示四行八列汉字,也可显示图形,内置 8192个简体中文汉字(16 X 16点阵。LCD 使用3.3V进行供电,LPC2292与LCD的接口有并行和串行两种模式,可方便地实现8位、4位并行接口或者串行接口数据传输,采用哪种模式由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为串行数据线,负责单片机往LCD的数据传输;SCLK为传输时的时钟信号,该时钟信号由LPC2292提供。充电控制器在运行中,时刻检测蓄电池的充电参数,对输入电压、输出电压、输出电流和 温度等信息进行数据处理和反馈控制调节的同时,通过串行接口将充电信息送入LCD中进行显示,实现了充电系统在运行中的实时显示和监控功能。力脚定义

16、功徒VSSLCD也延地,接地VDDLCD电源愤入,接+3.3VVD费品对比度调整曜.不连接RS片口信号,低电干有效,接单肿机用上SID串行均即统.接单片机SCLK中行时钟0A.挂单片机P25DB0-DB7打打敌据畿r小连接PSB时L If11选样.接地力用打接口NC小娃接RSTLCD复位,不过接NC不在接LEDAVT-Jt ll :. 1S+3.3VLEDK仃加地.接地表4.2 LCD各引脚定义及功RS232 接 口设计RS232接口是充电系统与上位机通信的重要工具,基于单片机控制的蓄电池充电系 统能够方便地实现与上位机的通信,将充电过程中蓄电池的参数和控制数据传送至上位 机。LPC2292的

17、通用串行通信接口(USCI模块具有两组可同时使用的独立通道。异步通道 (USCI_A支持UART模式、SPI模式、IrDA的脉冲成形以及LIN通信的自动波特率检 测。同步通道(USCI_B支持回和SPI模式。本充电控制器采用UART模式通过RS232接口与上位机进行通信。RS232接口硬件电路如图4.6所示。图4.6 RS232接口原理图驱动电路的设计在充电系统中,驱动电路设计非常重要,驱动电路将直接影响到整个充电系统的工 作性能和可靠性。在本充电系统中,对于 IGBT驱动电路的设计有如下要求:(1动态驱动能力强,能为IGBT栅极提供具有陡峭前后沿的驱动脉冲。否则 IGBT 会在开通与关断过程

18、中产生较大的开关损耗。(2能向IGBT提供适当的正向和反向栅极电压。 IGBT导通时,IGBT的栅极正向 栅极电压取+15V左右比较恰当;为了提高IGBT的关断耐压和抑制干扰的能力,IGBT关 断时在其栅极加-5 V的反向电压即可让IGBT可靠截止。(3 IGBT驱动电路必须能够实现控制电路与被驱动的IGBT栅极之间的电隔离。同时双管反激电路中,两个功率开关管不供地,因而两路驱动信号彼此间也需要电气隔 离。(4驱动电路应尽量靠近IGBT,使得驱动线路尽可能短,避免其他信号的干扰。本充电系统需要两路相互隔离的控制信号,其中一路隔离驱动电路如图4.7所示,图4.7中,三极管D882和B772构成了

19、图腾柱输出,图腾柱输出能够增强控制信号的 驱动能力,磁环变压器起到了信号隔离的作用。电容 C3为隔直电容,R1为栅极驱动电 阻,目的是防止电流尖峰引起的高频振荡。D1、D2为稳压二极管1N4744,通过D1和D2可将驱动电路的输出电压箝位在土 15V。R2和稳压二极管也可以提高IGBT的抗电压 尖峰和抗干扰能力。在实际的系统控制中,LPC2292输出的PWM6制信号经过电平转换后与硬件保护信号进行逻辑运算,逻辑运算后的PWM控制信号即为驱动电路的输入信号PWM评口 PWM2这两路控制信号分别送入两路独立的驱动电路中,经过驱动电路对控制信号进行隔离与放大,形成两路相互隔离的控制信号DRV_G1和

20、DRV_G2这两路隔离的控制信号驱动功率开关管IGBT的开通与关断。图4.7驱动电路原理图采样电路设计稳定可靠的充电系统要有完善的检测与保护电路,这样才能根据电路的反馈信息, 及时调整控制信号,保证系统按预定的控制策略稳定运行,而且当系统发生故障时,可 以及时停止充电系统的运行。输入电压采样电路该电路主要实现对系统输入电压的采样,如图4.8 所示。因为LPC2292的ADC采样输入范围在03.3V之间,而系统的输入电压范围为 200V650V,因此将输入电压 网 由电阻分压得到调理后的输入电压采样,调理后的输入电压采样经过二极管的箝位和RC低通滤波后送入的采样输入端 ADCQ个人资料整理 仅限

21、学习使用图4.9蓄电池端电压采样电路图4.8输入电压采样电路蓄电池端电压采样电路该电路主要实现蓄电池的端电压的采样,蓄电池的端电压在蓄电池的充电过程中极 为重要,它反映了蓄电池的容量状态,并且系统的充电控制策略都是根据蓄电池的端电 压进行判断的,蓄电池的端电压关系到充电系统采用何种充电模式对蓄电池进行充电。 如果系统在充电初始时检测到蓄电池处于过放电状态,即蓄电池的端电压低于欠压阈值 山 时,充电控制器需要对蓄电池进行小电流的激活充电,使蓄电池端电压恢复到可 接受快速充电的状态;蓄电池充电过程中,四种充电模式的相互切换都与蓄电池的端电 压有关,因而对于蓄电池端电压的采样检测非常重要,蓄电池端电

22、压检测电路的设计与 输入电压采样电路相同,如图 4.9所示。蓄电池端电压经过电阻分压后得到端电压采样巨,经过二极管箝位和电阻电容构成的低通滤波器后送入单片机的ADC1采样输入本Uq潞mpk端。R70.51 KGNDJGND2.2nFVGND个人资料整理 仅限学习使用蓄电池充电电流采样电路蓄电池的充电电流对于蓄电池的充电控制最为关键,在本系统中,激活充电和大电流 快速充电都需要进行恒流充电控制。因此采用霍尔电流传感器来检测蓄电池的充电电 流,霍尔电流传感器的特点是可以实现电流的“无电位”检测。即测量电路不必接入被 测电路即可实现电流检测,他们靠磁场进行耦合。因此,检测电路的输入、输出电路是 完全

23、隔离的。检测过程中,被测电路的状态不受检测电路的影响,检测电路也不受被测 电路的影响。霍尔电流传感器的工作原理是基于霍尔效应,利用通电导线周围产生的磁 场大小与流过导线的电流成正比,通过磁芯聚集感应到霍尔器件上,间接地检测出电流 的大小。本系统采用的霍尔电流传感器型号为HNC-050P其测量范围为 0土 75A,响应时间小于1us ,采用土 15V供电。转换比率为1000:1 。充电电流采样电路如图4.10所示。将输出电流从电流传感器的穿孔芯中穿入,电流 传感器将电流缩小1/1000 ,传感器的次级使用100。的小电阻,将电流信号转换为电压 信号回。再将该电压信号经过RC滤波电路后,然后将滤波

24、后的电压信号日 送入LPC2292的采样端口 ADC2进行模数转换。+VCC-vcc M-R101K100ZCI:|RI2uIduF TlkVGNI)图4.10充电电流采样电路蓄电池温度采样电路蓄电池在充电过程中,由于极化现象的存在,蓄电池会有一定温开。温度过高,会 直接影响充电效率,同时对电池损坏很大,缩短蓄电池的使用寿命。所以,在充电过程 中电池温度是很重要的一个信息。在本充电系统中,过充电压和浮充电压都需要根据蓄电池的温度进行补偿,合理设置蓄电池的过充电压和浮充电压,能有效延长蓄电池的充 电使用寿命。目前国内常用的温度传感器是热敏电阻,而该温度传感器是非线性传感器,在使用 过程中必须外加

25、补偿电路,因此电路复杂、体积较大。在本充电系统中,选用美国国家 半导体公司的LM35系列精密温度传感器。具特点是:(1输出电压与摄氏温度成线性比例关系,为 日,无需调整或校准;(2精度较高;(3工作电压范围为430V;(4很低的输出阻抗,在负载电流为1mA时,仅为0.1 Q ;LM35的基本电路十分简单,在单电源 420V工作电压时,测量温度范围为回 到山 ,具输出电压为 x 1,即 臼 时输出为0mV,每升高 回,输出电压增加10mVo LM35的电源供电模式有单电源和正负双电源模式,正负双电源的供电模式 可提供负温度的测量,本系统采用15V单电源供电模式。LM35+I5V- RI3-a2.

26、2nF7=/GNDGNDGND图4.11温度采样电路温度采样电路如图4.11所示。在充电系统中,温度传感器的输出经过二极管箝位和低通滤波后送入 LPC2292的ADC3采样输入端,LPC2292只需采样该端口即可得到蓄电 池的环境温度。在充电过程中,LPC2292内设置的过充电压和浮充电压根据检测到的蓄电 池温度进行补偿,延长蓄电池的充电使用寿命。保护电路设计本充电系统具备完善充电保护功能。充电保护电路分别为输入过压保护、输出过压保护和输出过流保护。在图4.12中,保护电路产生的保护信号Pro与充电控制器产生的PWM空制信号PWM_01PWM_O2行逻辑运算,当保护电路发生保护时,保护信号Pr

27、o输出为低电平0,此时PWM仃PWM2勺输出均为低电平0 ,这两个PWM控制信号经过两路独立驱动电 路的隔离放大,控制功率开关管IGBT的关断,有效地保护了系统的运行。同时,各个GND保护电路中的发光二极管能够直观地显示系统的故障来源,方便了故障的排除。 TOC o 1-5 h z AVdd日HA-BGK=C+b MKi-H C I. E+F DFVibE图4.12保护信号与PWM信号逻辑运算电源电路设计电源为整个系统提供能量,是整个系统的基础。设计电源的过程,是各种因素互相权 衡的过程,需要考虑的因素有:输出电压、电流、功率,输入电压、电流、安全因素, 输出波纹,电磁兼容与 抗干扰,成本等。

28、本开发平台采用直流供电。本控制系统的电源由 4块串连的12V铅蓄电池提供,即供电电源电压为 48V。 LPC2000系列ARM7微控制器均要采用两种电源,I/O 口工作电源为+3.3V,内核及片内 外设供电电源为+1.8V。温度传感器和驱动电路等又需要有 +5V和+15V电源,所以整个 系统的工作电压有 +1.8V、+3.3V、+5V和+15V,因此采用稳压电源芯片 7824、7815、 1117-3.3、1117-1.8和1117-5产生所需电压,电路设计简单可靠,如图 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系统电源电路五.系统软件设计与实现系统软件的总体结构根据系统总体设计的分析,其工作过程的各步骤被分配到几个具体的、独立的功能模块之中。与之对应,该系统的应用软件分为 6个模块:主控程序模块;主任务模块;PWMfc产生模块;串行通信控制模块;数据采样模块;LCD显示模块。主控程序模块的功能是在运行任务前初始化各个功能模块,建立主任务,启动定时中 断以及启动多任务的运行。主任务模块的功能是负责系统总体的逻辑与流程控制,协调、调度各任务功能模块, 以实现对蓄电

30、池充电控制器的内部的数据的处理及显示。应用ilC/OS -II的必要准备基于移植好的pC/OS -II进行系统应用软件的设计,需要作以下必要的准备:定义 任务的优先级、定义任务栈空间、定义消息邮箱。定义任务优先级根据系统软件的总体结构分析,创建具有不同优先级的5个任务:主任务Main_Task(、PWM产生任务 PWM_Task( 控制器数据接收任务 Recv_Char_Task(、 控制器数据处理任务 Pro_Data_Task(和LCD显示任务DIS_Task( ,它们的优先级分 别是12、14、16、18、20,即主任务的优先级最高,LCD显示任务的优先级最低。具体 源程序代码如下: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定义任务栈空间对于nC/OS -II和绝大多数的可剥夺型内核而言,每个任务都需要分配自己的堆栈空间。堆栈必须声明为 os_stk类型,并且由连续的内存空间组成。每个任务的堆栈 容量可以单独指定,为简化起见,本程序都定义成相同的容量。用户可以静态地分配堆 栈空间 在编译时分配),也可以动态地分配堆栈空间在运行时分配)。本次设计采用静态分配方式。具体源

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据结构实现的。pC/OS -II通过UCOS_II.H头文件中定义的 OS_EVENT数据结构,维护 一个事件控制块ECB的

33、所有信息。该结构中除了包含事件本身的定义外还定义了该事件 的所有任务的列表。每个信号量、消息邮箱、消息队列都分配到一个事件控制块ECB。任务之间或任务和中断服务子程序之间的通信是通过事件控制块ECBECB(EventControl Blocks,实现的,即任务或中断服务子程序可以通过事件控制块向另外的任务发送信号。这里信号被看成是事件(Event 。事件控制块ECB是用于实现下列功能函数的基本数据结构,如信号量、消息邮箱、消息队列等相应的功能函数。OS_EVENT *Mbox 1pC/OS -II的基本函数在应用软件中常用到 OSInit(、OSStart(、OSTaskCreate(、OST

34、imeDly(、 OSTaskDelReq(若几个常用的仙C/OS -II的函数,它们的特点和作用如下。函数OSInit(的功能是对pC/OS -II操作系统初始化。在调用pC/OS -II的任何其他 服务之前,pC/OS -II要求首先调用系统初始化函数 OSInit(。OSInit(初始化C/OS-II 所有的变量和数据结构,并建立空闲任务 OS_TaskIdle(。函数OSStart(X勺功能是启动多任务,将控制权交给 pC/OS -II内核,开始运行多任 务。OSStart(除判断所有建立的任务中哪一个任务是最重要的,即优先级最高,并开始 运行这个任务。在启动多任务 OSStart(之

35、前,至少要先建立一个任务,否则应用程序就 会崩溃。函数OSTaskCreate(勺功能是建立任务。如果要让 C/OS -II管理用户的任务,就必 须先要建立任务,通过调用 OSTaskCreate(幅数来实现。任务可以在多任务调度开始前建 立,也可以在其他任务的执行过程中建立。在开始多任务调度之前,用户必须建立至少 一个任务。任务不能由中断服务程序 ISR)来建立。OSTaskCreate(g数需要4个参数: 指向任务代码的指针;任务开始执行时,传递给任务参数的指针;分配给任务堆栈的栈 顶指针;分配给任务的优先级。这里在主控程序中建立主任务。C/OS -II提供一个可以被任务调用而将任务延时一

36、段特定时间的功能函数 OSTimeDly(,这段时间的长短是由指定的时钟节拍的数目来确定的。一旦调用该函数, 通知pC/OS -II该任务本次运行已经结束,可以让下一个最高优先级的任务运行。若没有 函数OSTimeDly(或类似的函数,则任务将是一个真正的无限循环,任何其他任务都没 有运行的机会。nC/OS - II建立的任务会占用一些内存缓冲区或信号量一类的资源。此时如果另一 个任务试图删除该任务,这些被占用的资源就会因为没有被释放而丢失,这将导致存储 器漏洞,而这是任何嵌入式系统都无法接受的。因此,要想办法让拥有这些资源的任务 在使用完资源后,先释放资源,再删除自己。 C/OS - II是

37、通过函数OSTaskDelReq(垸成该功能。发出删除任务请求的任务和打算被删除的任务都必须调用函数 OSTaskDelReq(工六.系统仿真与调试主控模块及其流程图主控程序Main(的作用是在运行任务前初始化 ARM处理器,初始化操作系统,初始 化充电控制器的数据接收模块,初始化串口UARTQ初始化LCD控制器等,建立主任务,启动定时中断以及启动多任务的运行。主控程序 Main(的流程图详见图6.1所示。(开的 )系统初始化开中断显示图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 。函数Lcd_Init( 的功能是对LCD控制器初始化。函数Lcd_clear(的功能是对LCD显示器清屏。函数Uart_Select(0的功能是选择UART通道0。函数ARMTargetInit( 的功能是对ARM处理器进行初始化 函数ARMTargetStart(的功能是启动时钟节拍中断。主任务模块及其流程图A/D 采样模块软件仿真设计

39、10LPC2292片上集成了 8路10位逐次逼近式A/D转换器,测量范围为 03.3V , 位转换时间最快可达2.44us o本蓄电池充电控制器需要采集的模拟信号包括:系统输入电压,蓄电池端电压,蓄 电池充电电流,蓄电池温度。模拟量采集流程图如图6.2所示。弋,/设置引脚连接设置ADC1作桢式启动ABC转换等待转换站束|读取采集-泗一屋1,切换ADC转换姐道图6.2模拟量采集程序流程图充电模式的仿真设计第二章分析和介绍了本文的充电控制策略,该充电控制策略分为四个模式,激活充电、大电流快速充电、过充电和浮充电。下面详细介绍这四个模式控制的软件设计。本充电系统的待充蓄电池组的额定电压为48V,额定

40、容量为100Ah。充电控制策略的软件流程如图6.3所小。图6.3多模式充电控制流程图LCD显示任务模块及其流程图LCD显示任务DIS_Task(的功能是实时显示控制器的输入电压和蓄电池的充电电压, 充电电流以及蓄电池的充电温度。由于LPC2292自带LCD驱动功能,实际的程序设计中只需将显示屏初始化完成, 改变显示缓冲区内显示内容,LCD控制器会自动通过专用 DMA通道从内存中读取显示数 据并刷新显示器,无需 CPU和程序再进行干预。对 LCD控制器进行初始化,其过程包 括:初始化LCD端口;申请显示缓冲区,大小为 320X 240X 1字节;初始化LCD控制寄存器,包括设置LC吩辨率、扫描速

41、率、显示缓冲区等。LCD的ASCII字符的显示原理与汉字字符的显示原理相同,不同的是一个 16X8的 ASCII字符共需要16个字节表示。系统设计中拉丁字符及数字使用的是ascii16x8 点阵字库,由于不含有颜色信息,每个字符占用16x8bit存储空间对应16乂8 * 16。 汉字与ASCII码显示软件流程图见图6.4所示。图6.4汉字与ASCII码显示软件流程图七.结论面对当今社会资源匮乏,环境破环日益加重的局面,蓄电池的生产及投入使用在一 定程度上缓解了社会这方面的压力。对蓄电池在充电过程中,蓄电池的各种不同的性能 参数的具体不同的变化的研究分析,包括电压、电流、温度的不同的变化,通过这

42、几个 参数的变化能有效的了解蓄电池的所处于的实际充电状态。电力电子技术、现代控制理论的快速发展,为蓄电池充电系统的发展提供了坚实的 理论基础,同时集成电路技术和嵌入式系统的飞速发展,尤其是以单片机为代表的混合 信号处理器为蓄电池充电控制技术的发展提供了广阔的前景。本文根据蓄电池充电系统 的功能和技术要求,研制了一套基于嵌入式ARM7的数字控制充电系统。本文完成的工作主要有:1)根据蓄电池充电系统的功能和技术要求,首先对蓄电池充电系统的总体方案进行了 设计,分析对比了几种常用电气隔离型 DC/DC变换器的优缺点,最后选择了双管反激变 换器作为充电系统功率主电路的拓扑结构,通过对双管反激变换器工作原理的分析,证 明了该电路拓扑具有功率开关管的电压应力小,控制简单,电路体积小等优点,体现了 在高压输入应用场合的优越性。在此基础上,本文对主电路的控制技术进行了论证分 析,由于模拟控制的电路结构复杂,控制单一,无法满足蓄电池充电控制的要求,因而 选择了数字控制的方式,并对 LPC2292为核心的数字控制器进行详细的分析。2)完成了充电系统硬件电路的设计与实现。硬件设计主要包括充电系统主电路、反激 变压器、充电控制器、驱动电路、采样调理电路、保护电路以及辅助电源等。充电系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论