单片机课程设计仿真与实践指导 第2版 课件第20章 采用单片机控制的光伏发电升压电路设计.pptx

单片机课程设计仿真与实践指导 第2版 课件第20章 采用单片机控制的光伏发电升压电路设计.pptx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

1项目任务20.1硬件设计20.2第20章采用单片机控制的光伏发电升压电路设计程序设计20.3仿真与实验结果20.4项目分析20.5

2太阳能光伏发电系统具有清洁环保、可持续利用的优点,应用越来越广泛。光伏发电系统中由光能转换得到的电能,既可以存储到蓄电池中,供直流负载使用,也可以经过逆变转换为交流电,并入交流电网使用。光伏发电系统中,光伏阵列输出电压一般较低,不能达到220V/50Hz高压交流电的转换要求,因此通常采用DC-DC-AC两级变换结构,前级采用DC-DC转换器,将光伏发电系统发出的低压直流电变换为高压直流电,后级再采用DC-AC逆变器将高压直流电转换为交流电。在DC-DC变换器中,需要脉宽调制(PulseWidthModulation,PWM)信号来驱动功率开关,PWM信号可以用模拟电路和数字电路两种方式产生。利用模拟电路产生脉宽调制信号,电路复杂、不经济。随着微处理器的发展,通过编制程序,利用数字输出方式,产生PWM信号,简单灵活,方便快捷,可以大幅降低电路的成本和功耗。单片机数字输出I/O口可以产生PWM脉冲波,再配以外部采样调理与驱动电路就可以很方便地调节PWM信号的占空比,实现DC/DC变换。

320.1项目任务设计一款采用单片机控制的光伏发电升压电路,实现光伏逆变器的前级DC-DC变换,使光伏电池输出的12V低压直流电(变化范围±20%)变换为48V的直流电,输出功率Po=50W,开关频率fs=12KHz,效率η=96%。要求:使用80C51单片机产生光伏发电升压主功率电路的PWM信号,实现对功率开关管的控制,完成直流升压的任务,并可根据输出电压的变化,自动调节占空比,将输出电压稳定在48V。

420.2项目分析图20-1采用单片机控制的光伏发电升压电路结构图采用单片机控制的光伏发电升压电路结构包括升压功率主电路、控制电路、检测与调理电路、隔离与驱动电路。

520.3.1Boost主电路设计20.3硬件设计图20-3Boost电路原理图图20-4Boost工作模态电路及关键物理量波形

620.3.2控制电路设计20.3硬件设计图20-5以单片机为核心的控制电路

720.3.3采样与调理电路设计20.3硬件设计图20-8调理电路

820.3.4驱动和电源电路设计20.3硬件设计图20-9驱动和电源电路

920.4程序设计#includereg52.h#defineuintunsignedint#defineucharunsignedcharsbitST=P2^5; //ADC0809启动转换标志接P2.5sbitEOC=P2^6; //转换结束标志接单片机P2.6sbitOE=P2^7; //输出有效控制信号接单片机P2.7sbitPWM=P3^0; //PWM输出信号单片机接P3.0ucharVal,aa;voidmain(){ TMOD=0x03;//设定T0为定时器模式,工作在方式3 TL0=0xfb;//T0计数初值为0xfb IE=0x82;//开总中断,禁止串口中断,允许定时器/计数器0中断,禁止外部中断 TR0=1;//定时器0开始运行 while(1) { ST=0; ST=1; ST=0;//起动A/D转换,锁存通道地址 while(!EOC);//等待转换结束 OE=1;//允许转换结束输出 Val=P1*0.32549;//P1口读入主电路输出电压对应的数字量,主电路输出5V电压时对应的数字量为255;为了获得12kHzPWM脉冲(周期为83μs),则定时器最大计数值为83,因此将P1口读回的数缩小为其值的83/255=0.32549 OE=0;//关闭输出允许 aa=Val;//输出的数字量送到aa变量寄存 }}voidTimer0_INT()interrupt1//中断子函数{ if(PWM==1) { TL0=0-aa; //PWM脉冲高电平持续时间为aa个机器周期 } if(PWM==0) { TL0=aa-83;//PWM脉冲低电平持续时间为(83-aa)个机器周期 } PWM=!PWM;}

1020.5仿真与实验结果图20-13采用单片机控制的光伏发电升压仿真电路

1120.5仿真与实验结果图20-14驱动电路仿真结果

1220.5仿真与实验结果图20

您可能关注的文档

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档