1、 本科毕业设计(论文)题 目 小型太阳能光伏发电系统控制器的设计 学 院 物理与电子工程学院 年 级 2011 专 业 光伏技术与产业 班 级 学 号 学生 校导师 职 称 校外导师 职 称 论文提交日期 2015-5-10 常熟理工学院本科毕业设计(论文)诚信承诺书 本人重声明:所呈交的本科毕业设计(论文),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。本人签名:日期:常熟理工学院本科毕业设计(论文)
2、使用授权说明 本人完全了解常熟理工学院有关收集、保留和使用毕业设计(论文)的规定,即:本科生在校期间进行毕业设计(论文)工作的知识产权单位属常熟理工学院。学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业设计(论文)被查阅和借阅;学校可以将毕业设计(论文)的全部或部分容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业设计(论文),并且本人电子文档和纸质论文的容相一致。的毕业设计(论文)在解密后遵守此规定。本人签名:日期:导师签名:日期:小型太阳能光伏发电系统控制器的设计 摘 要 目前,光伏发电已受到广大人民的追捧,很多国家建立了光伏发电站。在新能源领域
3、中,小型独立光伏发电系统以其简单,灵活等特点占有重要的地位,光伏发电控制器作为独立光伏发电系统的核心部件,对其研究具有重要意义。本文基于单片机 STC89C52 设计了控制系统,控制太阳能电池板对蓄电池的充电。控制系统硬件设计包括单片机 STC89C52最小电路,充放电电路、光耦驱动电路,A/D 转换电路和电压显示电路的设计。本文设计的单片机 STC89C52 最小电路主要包括时钟电路,复位电路,工作状态显示电路和蜂鸣器报警电路。控制系统软件设计包括确定整体系统布局,设计系统各个程序流程图以及按照自顶向下的层次完成对各个程序模块的设计。通过控制系统硬件电路和软件的设计,控制太阳能电池板对蓄电池
4、正常的充电,防止蓄电池过充、过放和短路,延长蓄电池寿命。关键词:单片机 STC89C52 铅酸蓄电池 充放电 Design of a Small Solar Photovoltaic Power Generation System Controller Abstract At present,photovoltaic power generation has been sought after by the majority of the people,the photovoltaic power station has been set up in many countries.In the
5、 field of new energy,small independent photovoltaic power generation system with its simple,flexible occupies an important position,the photovoltaic power generation controller as the core component of the photovoltaic system.Has the important significance to the study of photovoltaic power generati
6、on controller.Based on the design of single chip STC89C52 controller control system,solar panel charging of the battery.The hardware design of the control system consists of MCU STC89C52 minimum circuit,charge discharge circuit,optocoupler voltage driving circuit and display circuit design.MCU STC89
7、C52 minimum circuit designed in this paper mainly includes the clock circuit,reset circuit,working state display circuit and a buzzer alarm circuit.The control system software design includes the overall system layout design system of each program flow chart and in accordance with the top-down level
8、s to complete design of each program module.Through the design of hardware circuit and software control system,control of battery normal charging solar panels,to prevent the battery from overcharge,overdischarge and short-circuit,prolong the life of the accumulator.Key words:SCM;STC89C52;Lead-acid b
9、attery;Charge and Discharge 目 录 1.引言.1 2.系统总体设计.2 2.1 太阳能电池简介.2 2.2 蓄电池简介.3 2.3 充电控制器和控制策略.3 3.硬件电路设计.4 3.1 STC89C52 单片机最小系统.4 3.2 充放电电路.6 3.3 光耦驱动电路.7 3.4 A/D 转换电路.7 3.4.1 电压采集电路.8 3.4.2 ADC0804 构成的 A/D 转换电路.8 3.5 LCD 显示电路.9 4.系统软件设计.10 4.1 系统主程序设计.10 4.2 电压采集转换模块.11 4.3 显示模块.13 4.4 软件调试和仿真.15 结语.1
10、6 致谢.20 参考文献.19 1.引言 目前,煤炭,石油和天然气等传统能源在不断的减少,且是不可再生的,人们向往清洁,无害的新能源可以代替传统能源。太阳能作为清洁,无害,廉价的新能源,其发展对我国能源的可持续发展具有促进作用,且太阳能有着很好的发展前景。所以开发太阳能是社会发展,科学进步的必然趋势。光伏发电是利用太阳能电池板的光生伏特效应产生光生电压,是太阳能主要的利用方向之一。光伏控制器作为光伏发电系统的重要组成部分,控制整个光伏发电系统的运行,所以对光伏控制器的研究和设计具有重要意义。为了克服市场上常见的充电控制器对蓄电池保护不够充分的缺点,设计以 STC89C52单片机作为主要控制芯片
11、的光伏控制器。ADC0804 作为模数转换芯片,铅酸蓄电池为储能元件,LCD1602 负责显示数据。确定了光伏充电控制器的方案,通过对恒流充电、恒压充电和浮充充电进行控制达到电路保护作用,通过设计系统硬件电路和编程软件,科学有效的管理蓄电池,光伏控制器应用于负载,实现控制功能。光伏控制器设计采用 STC89C52单片机和 ADC0804组合采样获取数据,实时监控蓄电池的充电过程。本次设计以充放电最大电流 10 安,额定电压 48 伏的控制器系统,通过设计使其能够自动检测光伏电池板输出电压,当光伏电池板的输出电压高于蓄电池电压时,光伏电池板对蓄电池充电;当光伏电池板输出的电压低于蓄电池电压时,光
12、伏电池板停止充电,若继续进行充电,则蓄电池中电流会反向流向太阳能电池板,对太阳能电池板造成损耗。当蓄电池电压低于 40.8 伏时,系统控制负载关断,停止充电,蜂鸣器发出警报;当蓄电池电压高于 57.6 伏,控制系统控制负载关断,太阳能电池板对蓄电池停止充电,蜂鸣器发出警报;控制系统控制蓄电池进行浮充充电时,电压值应保持在 48 伏左右。本设计要解决的主要问题是光伏发电系统蓄电池充放电的控制问题,且对蓄电池的保护有着重要的作用,对光伏发电系统的发展有着积极作用,使人们更有效地利用清洁能源,早日摆脱能源危机。2.系统总体设计 本设计目的在于设计出一个小型光伏发电控制系统,太阳能电池板、蓄电池、光伏
13、充电控制器和负载是小型光伏发电控制系统中不可缺少的组成元件。系统基本结构如图2.1所示。太阳能电池板吸收太,将光能转化为电能并储存到蓄电池中,蓄电池再供电给负载。图 2.1 系统基本结构 2.1太阳能电池简介 目前,市场上常见的主要是以硅为主要材料的太阳能电池。与普通电池和可循环充电电池不同,太阳能电池具有节能环保的特点,太阳能电池板通过光生伏特效应能够直接将光能转换成电能。其主要原理:太阳能电池板在的照射下,其部载流子浓度发生改变,载流子分布也发生改变,导致半导体 P-N 结两端产生电压,在该此电压的作用下,电流流过外部电路,给外电路供电。在过程中,太阳能电池不发生化学反应,没有转动磨损,没
14、有噪声,没有环境污染,这是传统发电方式不能比拟的。目前,市场上常见的以硅为原料的太阳能电池主要有单晶、多晶和非晶硅太阳能电池三种。单晶硅太阳能电池具有高转换效率和长寿命的特点,且目前制造单晶硅太阳能电池的技术已经成熟。由于单晶硅太阳能电池所使用的原料为高纯度的单晶硅棒,所以单晶硅太阳能电池有着高昂的使用成本。其光电转换效率一般在 13%至 15%之间。多晶硅太阳能电池的生产主要通过铸造的方法进行的,其成本与单晶硅太阳能电池相比要低一些。多晶硅太阳能电池具有无规则的晶体方向,在晶体与晶体的边界上,由于晶体的不规则而存在损失,导致其正电荷和负电荷不能完全通过 PN 结电场进行分离,其光电转换效率要
15、降低不少。其光电转换效率一般在 11%至 13%之间。非晶硅太阳能电池的主要材料无定型硅,其部有许多所谓的“悬键”,没有与硅原子成键的电子在电场作用下产生电流,因而非晶硅太阳能电池可以很薄,由于其造价低廉,稳定性较低,光电转换效率较低,大多应用于弱光性电源。其光电转换效率一般在 5%至8%之间。2.2蓄电池简介 太阳能充电控制器主要控制太阳能电池板对蓄电池的充电,蓄电池作为储能元件,其性能的优劣影响太阳能充电控制器。本设计采用的储能元件是铅酸蓄电池,在系统对铅酸蓄电池进行充电的时候,蓄电池的部反应为正极进行氧化反应,负极进行还原反应。铅酸蓄电池的充放电过程是可逆的,所以铅酸蓄电池既可以充电也可
16、以放电。铅酸蓄电池电解液中硫酸根的浓度决定其充放电性能,蓄电池中硫酸溶液所占的比例可用于衡量电池充放电程度。蓄电池作为储能元件在独立的光伏发电系统中是必不可缺的部分,蓄电池的充放电性能直接影响系统整体性能。将太阳能电池板经过光生伏特效应产生的电能经传输储存至蓄电池中,在负载需要用电的时候供电给负载。2.3充电控制器和控制策略 光伏发电控制器作为整个光伏发电系统的枢纽,其性能的优劣直接影响整个系统的性能。通常太阳能电池板经过光生伏特效应产生的电压是不稳定的,需将电能传输存储至储能元件中,才能给负载供电,光伏发电控制器控制太阳能电池板经光生伏特效应产生的电压传输至蓄电池中,即控制对蓄电池的充电,其
17、主要作用是防止蓄电池过充对蓄电池造成损耗,对蓄电池使用寿命有延长的作用。目前市场上控制器普遍存在两个问题,蓄电池的保护不充分问题和蓄电池不适当的充电导致蓄电池的损坏问题。为了维护蓄电池的使用寿命以及对蓄电池电压的实时监控,本设计采用 PWM 脉宽调制充电方式。PWM 具有两个主要特点:一是在处理器和被控系统之间无需进行数模转换;二是其对噪声的抵抗能力和强。因其两大主要特点,PWM 被广泛应用于测量、通信领域中。PWM 脉宽调制充电方式是通过微处理器的数字输出控制模拟电路的。PWM 脉冲调制充电一般分为 2 步,先脉冲充电一段时间,再停止一段时间,然后不断地重复进行这 2 个步骤。系统通过控制太
18、阳能电池板对蓄电池的一次又一次的充电一段时间来达到将蓄电池充满的目的,在 PWM 脉冲调制充电过程中,系统控制对蓄电池的充电,每充一段时间就会停止一段时间,在停止的那段时间中,蓄电池部会将通过化学反应产生的氧气和氢气重新化合,再被蓄电池吸收,PWM 脉冲调制充电的目的在于减轻了蓄电池压,为接下来的蓄电池充电做好准备,使蓄电池充电效果更好。PWM 脉冲调制充电具有对蓄电池的充电进行在线监控的功能,有效的维护了蓄电池的寿命。3.硬件电路设计 小型光伏发电控制系统的硬件电路设计以 STC89C52 单片机为主要控制芯片,在系统硬件电路中,以串联电阻分压方式的对蓄电池的电压进行采集,然后将采集的电压数
19、据经模数转换传输到单片机中进行处理,再把电压值显示在液晶LCD1602 上。PWM 控制信号由STC89C52 单片机通过编写的程序进行输出控制,充放电电路则由光耦驱动MOSFET 管来控制开启与关闭。该小型光伏发电系统的硬件电路设计延长蓄电池的寿命,达到蓄电池更有效的吸收光伏电池板传输过来的电能。3.1 STC89C52单片机最小系统 STC89C52 单片机作为小型光伏发电控制系统的主控芯片,控制着整个硬件电路,单片机正常工作的最小系统的构建是系统设计的首要任务。本系统设计了时钟电路,复位电路,工作指示灯和蜂鸣器报警电路等单片机最小系统扩展电路。(1)时钟电路 STC89C52 单片机部有
20、一个反相放大器,该反向放大器具有高增益的特点,可构成振荡器,STC89C52 单片机的引脚 XTAL1 即为反相放大器的输入端,引脚 XTAL2 是反相放大器的输出端,将时钟连接在 XTAL1 和 XTAL2 端口可构成时钟电路,使得系统的所有操作都与时钟脉冲相同步。STC89C52 单片机部振荡器的振荡频率与晶振频率接近,一般为 1.2MHz。时钟电路如图 3.1 所示。C6、C7 作为反馈电容作用在电路中,其值为 33pF,晶振频率等于 11.0952MHz。图 3.1 时钟电路 图 3.2 复位电路(2)复位电路 单片机系统的复位方式有:手动按钮复位和上电复位。按钮复位即手动按下按钮,电
21、源通过电阻施加到复位端上,使单片机初始化,上电复位,就是系统对电容进行充电,达到初始化电路的目的。复位电路的作用除了系统的正常初始化之外,当程序出现错误,系统出现故障,导致死锁,需按复位键重新启动系统。复位电路如图 3.2 所示。本系统采用的按钮复位既可以通过电平控制又可以通过上电控制,其具有两种复位方式,更有效的控制系统复位。复位电路虽然其结构简单,但其在整个系统电路中有着非常重要作用。一个单片机系统能否正常进行工作,关键在于其能否成功复位(初始化)。(3)工作状态指示灯电路 本设计拥有实时检测蓄电池电压的功能,增加工作状态指示灯可以指示整个电路的工作状态,更好的对蓄电池电压进行监控。蓄电池
22、工作状态显示电路如图 3.3 所示。在系统工作状态指示灯电路中并联了 3 个发光二极管,蓄电池的正常充电由发光二极管 LED1 显示,蓄电池过压由发光二极管 LED2 显示,蓄电池欠压由发光二极管 LED3 显示。为了保护发光二极管,可在工作状态指示灯电路中串联一个 1k 电阻,限制通过的电流,以免烧毁发光二极管。图 3.3 蓄电池工作状态显示电路(4)蜂鸣器报警电路 本设计采用蜂鸣器进行报警电路的报警,蜂鸣器是一种电子讯响器,采用直流电压进行供电。在蜂鸣器报警电路中蜂鸣器需加三极管进行驱动,因为 STC89C52 单片机输出引脚的驱动能力较弱,若不增加三极管,无常进行驱动。在控制系统对蓄电池
23、电压进行实时监测时,一旦检测电压值连续超出阈值围,报警电路便会自启,蜂鸣器就会发出报警响声。主要原理是电压高于程序设定的最大值,或着电压低于程序设定最小值,STC89C52 单片机的 P2.6 引脚输出低电平,单片机控制导通三极管,蜂鸣器报警。报警电路如图 3.4 所示。图 3.4 报警电路 3.2 充放电电路 充放电电路如图 3.5 所示,二极管 D1 是防反充二极管,主要是为了防止蓄电池对太阳能电池板出现反充现象,在有照射的白天,蓄电池自身电压通常低于太阳能电池板光生伏特效应产生的电压,防反充二极管 D1 将不会起作用,而在夜晚或者无太照的白天的时候,蓄电池自身电压通常会高于太阳能电池板光
24、生伏特效应产生的电压,防反充二极管 D1就会生效,来阻止蓄电池电流流向太阳能电池板。PWM 脉冲宽度调制即通过控制 MOSFET 管闭合和断开来控制电压的输出。MOSFET 管场效应管,其由电压控制,且其材质为单极性金属氧化物半导体,所以驱动 MOSFET 管场效应管所需功率较小。而且 MOSFET 管场效应管只有多数载流子导电,并没有少数载流子复合,开关频率可以非常高,适合作为充放电控制开关。本设计采用导通电压 Vth0 的 FNK6075K-N 沟道 MOSFET 场效应管。当光电耦合器U2 断开时,MOSFET 场效应管 Q1 的 G 极电压与蓄电池电压相近,MOSFET 场效应管的 S
25、 极接地,使得 Vgs0,当 MOSFET 场效应管 G 极电压达到一定值时,MOSFET 场效应管 Q1 导通。电容 C4 具有滤波的功能,作用于太阳能电池板输出电压,使得蓄电池充电更稳定。电容C5 也具有滤波的功能,作用于蓄电池输出电压,是对负载供电电路稳定性的保证。二极管D2 是稳压二极管,其是由硅材料制成的面接触型晶体二极管,稳压管的作用是对蓄电池进行稳压。二极管 D3 是续流二极管,其主要作用是当蓄电池反接控制器时,D3 可以进行续流,保护控制器不被损坏。图 3.5 系统充放电电路 根据系统充放电电路,设计的程序应当复合以下要求:系统对蓄电池的电压进行实时监控,电压低于 48 伏,系
26、统采用均充的充电模式,控制 MOSFET 场效应管 Q1 完全导通,达到导通脉冲的最大占空比;电压在 48 伏至 57.6 伏之间,系统采用浮充的充电模式,MOSFET 场效应管 Q1 导通脉冲占空比例变小,MOSFET 场效应管 Q1 不导通的占空比例也变小;电压低于 40.8 伏,系统控制 MOSFET 场效应管 Q2 关闭停止放电,从而实现充放电电路欠压关断。3.3光耦驱动电路 本设计为了隔离单片机控制电路与充放电电路,采用光电耦合器进行控制,增加了硬件电路的可靠性,光电耦合器驱动电路如图 3.6 所示。光耦驱动原理:充电电路由 MOSFET场效应管 Q1 控制,当充电控制器的数字信号为
27、 0 时,即低电平,光电耦合器部的发光二极管的电流基本为零,单片机控制右侧三极管阻断,导致输出端两管脚间的电阻非常大,相当于断开,输出端 K1 的电压上升,稳压二级管 D2 稳压控制电阻 R9 的右侧电路保持在48 伏左右,MOSEFT 场效应管的 Vgs0,Q1 开启,太阳能电池板充电给蓄电池;当充电控制器的数字信号为 1 时,即高电平,单片机控制光电耦合器部的发光二极管发光,控制右侧三极管导通,输出端两管脚间的电阻变小,相当于电路被阻断,从 U2 传输的电压经过光耦接地,MOSEFT 场效应管 K1 端的电压和零非常接近,MOSEFT 场效应管 Q1 的 Vgs 小于 0,Q1 不参与充电
28、电路工作,充电电路关闭。MOSEFT 场效应管 Q2 与 MOSEFT 场效应管 Q1 不同,其控制着放电电路,但其原理与 MOSEFT 场效应管 Q1 相似。图 3.6 光耦驱动电路 3.4 A/D转换电路 A/D 转换又称整流,即模数转换。A/D 转换器的优劣主要由两大技术参数决定:转换速度和转换精度,ADC0804 是逐次比较型的集成 A/D 转换器,其有着转换速度高,转换精度高的优点,因而受到广泛应用。单片机 STC89C52 无置模拟数字转换模块,则应先采集蓄电池自身的电压,然后经 A/D转换模块整流,传输至单片机 STC89C52。目前,市场上集成 A/D 转换器有很多品种,最常用
29、的是逐次比较型 A/D 转换器,本设计采用的 A/D 转换器 ADC0804,即为逐次比较型 8 位并行 A/D 转换器芯片。3.4.1 电压采集电路 电压采集电路需串联两个较大的电阻,且阻值大小比例为 11:1,然后并联在待检蓄电池两端,在这两个串联的电阻中间采集阻值小的电阻两端电压。通过分压公式计算出采集的阻值小的电阻两端的电压值,蓄电池满充电压约为 57.6 伏,通过计算得出采集电压为4.8 伏,符合 ADC0804 的输入值。3.4.2 ADC0804 构成的 A/D 转换电路 A/D 转换电路如 3-7 所示。图 3.7 A/D 转换电路 ADC0804接法:单片机STC89C52的
30、P2.7引脚实现片选;RD接单片机STC89C52的P3.6,WR接单片机 STC89C52 的 P3.7 引脚,进行读写控制;在 CLKR 接口处串联一个电阻,再与CLK 并联,然后串联一个电容接地,组合成 RC 振荡电路,提供模拟数字转换器 ADC0804 工作所需的脉冲。电压采集信号 ADIN 连接模拟数字转换器 ADC0804 的 6 脚 IN,采集得到的电压经转换后,以数字信号的形式输出到单片机的 P1 口,对蓄电池的电压在线不间断跟踪检测,蓄电池的电压值可在 P1 口获得。3.5 LCD显示电路 本设计使用液晶 LCD1602 显示数据,其具有体积小、功耗低,显示清晰的特点,适合作
31、为显示屏,来显示蓄电池的电压值。的主要参数:液晶 LCD1602 芯片显示容量为 16X2 个字符,工作电压 4.5 伏至 5.5 伏之间,工作电流 2 毫安(5 伏),模块最佳工作电压为 5V。LCD1602 引脚功能如表 3.1 所示 表 3.1 LCD1602 引脚功能 根据 LCD1602 的主要参数和引脚功能,LCD1602 与单片机 STC89C52 连接构成的电压显示电路如图 3.8 所示。EN 使能端连接单片机 STC89C52 的 P2.2 引脚,用来实现片选;RS接单片机 STC89C52 的 P2.0 引脚,进行数据和命令选择;R/W 接单片机 STC89C52 的 P2
32、.1引脚,以达到控制读写的目的;将一个阻值为 10 的电阻连接在 LCD1602 的 15 脚,进行限流保护。LCD1602 的 3 脚连接一个 10K 电位器并接地,调节 LCD1602 显示的对比度。数据输入端 D0-D7 接单片机 STC89C52 的 P0 口传送电压数据。图 3.8 电压显示电路 4.系统软件设计 4.1 系统主程序设计 系统软件设计如图 4.1所示:图 4.1 系统软件设计 控制系统软件主程序是一个无限循环程序,且是有序进行的,在系统软件主程序下分别有蓄电池电压的采集子程序、转换显示子程序和异常数据的存储子程序,系统软件主程序可以分成一个一个模块化来进行,第一个模块
33、是程序初始化,然后按序依次运行各个模块子程序,通过系统的自检可以对数据进行处理,通过系统的控制可以进行对电路的控制,对蓄电池充放电进行有效的监控,维护蓄电池使用寿命。4.2 电压采集转换模块 电压采集转换模块时序图如图 4.2 所示。图 4.2 ADC0804 时序图 电压采集转换模块是整个系统主程序的重要组成部分,模数转换器参与蓄电池电压的采集转换。ADC0804 的启动和读取时序图:当 CS 与 WR 同时处于低电平状态时,ADC0804启动,在 WR 上升沿后,经过约 100 us,完成模拟信号到数字信号的转换,经转换得到的数据被锁存器锁存,INTR 转换为低电平状态,转换结束。当 IN
34、TR 处于低电平状态是,如果 RD 和 CS 同时也处于低电平状态,则数据锁存器的三态门打开,转换后的数字信号可以读取。反之,若 RD 处于高电平状态,三态门关闭,数据锁存器锁存数据。一般对芯片进行操作前,芯片的时序图是必须设计好的。本次设计采用的是 ADC0804模数转换芯片,其主要用于蓄电池电压数据的采集转换,并对结果进行处理,再传送给显示模块。由于 ADC0804 模数转换芯片的转换时间较短,在开始启动 A/D 转换后片刻便可直接从 A/D 转换的数字输出口的获取数据。A/D 转换子程序如图 4.3 所示。图 4.3 A/D 转换子程序 4.3 显示模块 显示模块作为蓄电池的实际电压值的
35、获取模块,其通过电压采集转换子程序,将采集到的蓄电池电压,先经过模数转换,再由单片机进行处理,便可传输至显示模块。本设计采用液晶 LCD1602 显示屏。液晶 LCD1602 作为一款显示芯片,一般并行操作,先对其进行初始化,然后按照时序图进行正确操作,使其能够正常工作,得到正常的显示结果,这就是显示模块所需完成的功能。为了保证液晶 LCD1602 的正确显示,程序初始化是必要的,其初始化方法如下:EN=0;使能关闭,防止程序刚开始就显示乱码 write_(0 x38);/设置显示 16X2,点阵 5X7,数据接口为 8 位 write_(0 x0c);/设置开显示,不显示光标 write_(
36、0 x06);/写 1 个字符,地址指针就加 1 write_(0 x01);/显示清零,数据指针清零 液晶 LCD1602 的基本时序如下:读状态 输入:RS=L,WR/=H,E=H 输出:DOD7=状态字 读数据 输入:RS=H,WR/=H,E=H 输出:无 写指令 输入:RS=L,WR/=L,DOD7=指令码,E=H 高脉冲 输出:DOD7=状态字 写数据 输入:RS=H,WR/=L,DOD7=数据,E=H 高脉冲 输出:无 液晶 LCD1602 作为显示芯片,一般需要对其进行写操作,写操作时序图如图 4.4 所示。图 4.4 写操作时序图 写操作流程:将读/写控制端设置为写模式,即读/
37、写控制端处于低电平状态。写模式分为两种,一是写数据,二是写命令。写数据即将要显示屏显示的容写入。写命令包括液晶的光标是否显示、是否闪烁、数据在液晶 LCD1602 屏上所显示的位置以及液晶 LCD1602是否移屏等。在使能端 E 上给予一个高脉冲通过数据线把数据或命令传入液晶 LCD1602 的控制器,完成液晶 LCD1602 的写操作。液晶 LCD1602 显示数据一般是存在延时的,为纳秒级延时,该软件设计程序可不做延时,因为单片机最小操作单位是微秒级,为了使液晶工作更加稳定,程序设计了简短的延时。软件编程时采用延时函数_nop_()对程序进行一个机器周期的延时。液晶显示电压流程图如图 4.
38、5 所示。图 4.5 液晶显示电压流程图 4.4 软件调试和仿真 系统的模拟仿真是检验硬件能否正常工作,软件设计是否合理的重要措施。通过系统的模拟仿真找出系统硬件设计的不合理,使得系统得到进一步改善,使其更加合理;为了检测软件程序所编写的功能是否可以达成其设计要求和任务,软件调试是必须的。软件调试的过程:先将小型光伏发电控制器系统软件设计所要要完成的任务罗列出来,再对软件的各个模块进行C 语言编程,在 KEIL C51中编写系统的各个子模块相应的程序以及流程图相应的程序,并加以实现。以下信息为显示输出信息窗口最终输出信息:Build target Target 1 /创建目标Target 1
39、compiling 控制器移屏.c./编译文件控制器移屏.c linking./.Program Size:data=21.1 xdata=0 code=1572 /项目大小:存储空间 RAM 和 ROM的数据存储量 creating hex file from 充放电控制器./创建了十六进制的目标文件 充放电控制器-0 Error(s),0 Warning(s)./编译结果为 0 个错误,0 个警告。通过显示输出信息窗口最终输出信息可知程序调试已成功,接下来进行软件仿真测试,软件仿真测试是检测程序是否正确运行的必经之路。本设计采用 Proteus 仿真软件对单片机 STC89C52 及其外围
40、器件进行仿真测试。Proteus 软件为单片机 STC89C52 运行提供了良好的仿真环境,将程序在软件上进行调试,程序经调试完成后,在 51 系列兼容单片机 C 语言软件开发系统 KEIL C51 中生成目标文件 HEX 文件,传输到仿真系统的单片机中。将 KEIL C51 软件调试和 proteus 软件调试联合进行,测试系统能否正常工作。正常工作状态仿真如下图 4.6 所示 图 4.6正常工作状态仿真 基于 proteus 软件仿真环境下的单片机 STC89C52 运行软件程序,对系统各个部分的硬件电路进行控制,使系统各个部分进行正常有序的工作,在 LCD1602 液晶上显示经 A/D转
41、换器转换得到数字信号,由单片机处理所得的蓄电池的电压值,当发光二极管绿灯亮时意味着硬件系统进行正常充电。为了得到更好 proteus 软件仿真效果,仿真时以直流电机作为输出负载。本设计的单片机 STC89C52 软件开发采用的是 C 语言编程,C 语言比汇编语言操作简单、模块化处理适应性强、规性良好、以及移植更容易。本设计的C 语言编程是按照系统主程序和各个子模块进行设计程序的,实现了对蓄电池使用寿命的维护和对硬件电路重要元器件的保护,基本完成了软件设计相应的任务。结语 在光伏发电控制系统中,太阳能充电控制器控制着整个光伏发电系统的正常运行,其性能的好坏直接影响光伏发电系统的正常工作。小型光伏
42、发电控制器系统的设计主要包括:(1)设计以 STC89C52单片机作为控制系统主要控制芯片。ADC0804作为模数转换芯片,铅酸蓄电池为储能元件,LCD1602 负责显示数据。控制太阳能电池对蓄电池的充电,达到蓄电池保护作用。(2)在硬件设计方面,设计了单片机最小电路,充放电电路,光耦驱动电路,A/D转换电路和电压显示电路。对单片机最小电路进行合理的设计,设计了时钟电路,复位电路,工作状态显示电路和蜂鸣器报警电路。(3)在软件设计方面,确定整体系统布局,设计系统各个程序的流程图,按照自顶向下的层次完成各个程序模块的设计。本次设计待完善的部分主要有几个方面:(1)对目前市场上各种单片机的功能进行
43、进一步研究,寻求功能更加强大的主控芯片去代替单片机STC89C52,对蓄电池进行更好的保护。(2)对蓄电池电压的采集方式精度较低,查找资料,寻求采集电压精度更准确的电路,更加准确的控制蓄电池的充电。(3)系统设计可增加数据存储电路设计方便数据的存储。参考文献 1 荣正,学军.PIC 单片机初级教程.航空航天大学.2006.3.2 明峰.PIC 单片机入门与实战.航空航天大学.2004.9.3 段万普.蓄电池使用与维护.电子工业.2011.4.4 康华光.模拟电子技术基础.高等教育.5 Martin A.Green.太阳能电池工作原理、技术和系统应用.交通大学.2010.7.6 王建华,吴季平,
44、徐伟 太阳能应用研究进展J 水电能源科学.7 艳红,兴,等.新型太阳能控制器的研制J.节能.2006(02)8 彭树生.PIC 单片机原理与接口技术.电子工业.9 学海.PIC 单片机实用教程提高篇(第 2 版).航空航天大学.2007.2.10 建华,艳琴.MSP430 系列 16 位超低功耗单片机.实践与系统设计M.:清华大学,2005.11 远祥.智能型太阳能控制器的设计与开发J.技术创新.2009(12)12 黄海宏,王海欣,黄长杰.24V/5A 太阳能控制器设计J.电源技术应用.2006.13 亚欢,罗晓曙,廖志贤,等.独立光伏系统充放电控制器的研究与设计J.控制技术.2014(06
45、)14 文治,潘永才,覃书芹,吴风雄.基于 ARM7 的太阳能控制器的设计与实现J.信息通信.2010(05)15 蒋跃文,王晓冬.基于集成运放的小功率智能太阳能控制器J.低压电器.2012(07)16 黄海宏.小功率简易型太阳能控制器设计J.元器件与应用.2006(02)17 林惠.单片机应用技术M.科学,2008.18 齐,朱宁西.单片机应用系统设计技术M.电子工业.2009.19 洪志刚.单片机应用系统设计M.机械工业.2011.20 荣高,德超.基于 STC 单片机的太阳能光伏控制器设计与实现J.测控技.2009(11)致谢 在此次毕业设计中,我要感谢我的导师涂国辉老师,感谢他对我认真耐心的指导。图老师拥有丰富的专业知识,在他的不断指导下,使我对单片机,光伏控制器,蓄电池有了更深入的了解。在此次毕业设计中,除了一些简单的电路设计外,还明白了怎样使用 PROTEL来绘制电路原理图,涂老师不仅在专业知识方面给了我很多帮助,而且还教会我许多人生道理,他教会了我遇事应沉着冷静,不害怕困难,不断努力去解决问题。除了感谢涂老师对我的谆谆教导,我还要感谢其它老师和同学们给我提供的各种帮助。
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100