太阳能最大功率跟踪控制器的设计与实现毕业论文设计 精品Word文档格式.docx
《太阳能最大功率跟踪控制器的设计与实现毕业论文设计 精品Word文档格式.docx》由会员分享,可在线阅读,更多相关《太阳能最大功率跟踪控制器的设计与实现毕业论文设计 精品Word文档格式.docx(23页珍藏版)》请在冰点文库上搜索。
![太阳能最大功率跟踪控制器的设计与实现毕业论文设计 精品Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/b233230c-9754-4697-a5d1-d9ad0e0b8a2f/b233230c-9754-4697-a5d1-d9ad0e0b8a2f1.gif)
2.2系统方案论证4
2.2.1太阳能电池板特性4
2.2.2方案论证6
2.2.3方案比较和选取7
3系统设计8
3.1硬件设计9
3.1.1转换模块电路设计9
3.1.2控制模块电路设计11
3.2软件设计12
3.2.1设计思路12
3.2.2子程序设计实现14
4系统调试与测试17
4.1调试与测试工具17
4.2系统调试17
4.3系统测试20
5总结21
参考文献22
致谢24
附录A系统主体程序25
附录B系统实物图27
摘要
由于目前太阳能电池板存在发电效率低、生产成本高等问题,这就造成了太阳能的应用难以推广。
针对发电效率低这一问题,本文介绍一种利用微型控制器51单片机设计的一个太阳能最大功率跟踪控制器。
该控制器是根据太阳能电池板的输出特性设计的,采用脉宽调制波调节其输出电压,不断寻找最大功率点,让它始终以最大功率输出。
本设计能够实现提升20%左右的发电效率,并且能够实时显示太阳能电池板的输出情况,使用非常方便。
关键词
太阳能电池板;
最大功率跟踪;
微型控制器;
脉宽调制
Abstract
Duetolowefficiencyandhighcostofsolarpanelcurrently.Thesereasonshaveresultedintheapplicationofsolarenergyisdifficulttopopularize.Aimatlowefficiency.Thispaperdescribesthatamicrocontrollerwasusedtodesignamaximumpowerpointtracking(MPPT)controller.Itwasdesignedinaccordancewiththeoutputcharacteristicofthesolarpanel.Thepulsewidthmodulated(PWM)wavewasregulatedthesolarpanel’soutputvoltage.Itcanlookformaximumpowerpointconstantlyandmakethesolarpaneloutputmaximumpoweralways.Thedesigncanenhanceefficiencyabout20%anddisplayoutputindicatorsofthesolarpanel.Itisveryconvenienttouse.
Keywords
Solarpanel;
MPPT;
Microcontroller;
PWM
1前言
能源问题越来越为人们所关注,作为一种具有绿色、安全、清洁等优点的太阳能被认为是最具发展潜能的新科技能源之一,目前其在太空研究领域得到广泛应用,同时也成为宇宙飞船、太空站等太空设备的后续能量来源。
太阳能的利用在国内来说,其应用领域正在不断向大众化迈进。
如今的一些路灯都实现了太阳能跟风能结合供电,大城市绿化带、风景区等亦是如此。
现在的农业也在朝自动化、无公害等方向发展,太阳能这一新兴能源在农业方面也得到了应用,比如说太阳能诱虫灯。
人类生活用电也不例外,在太阳光照充足的偏远地区,通过当前的水、火电网进行电能输送成本实在太高,而且偏远地区的住房分散,要实现输电就更加麻烦了。
但是利用充足的太阳能来供电,就可大大节约用电成本,使用更加方便。
目前太阳能的应用主要是通过太阳能硅光电池将太阳能转换为电能以供人类所需。
硅光电池的生产工序复杂,所以生产成本很高,以至于太阳能电池板的售价偏高,市场价大概在5元/W。
然而,由于太阳能电池板的转换效率现在只能达到20%左右,这样就造成了5元钱买不到1瓦特的功率,太阳能的利用成本也就显得更加高了。
针对以上的问题,国内外业界内有不少人士根据太阳能电池板的转换特性做过不少的研究,总结出来了几种实现提高电池板转换效率的方法:
恒压法、扰动观察法、电导增量法,这三种方法各有优缺点,需根据需要来确定[1]。
根据所要达到的目的,比较三种方案的可行性,最终来确定系统方案。
本次设计综合考虑各种因素,选取了扰动观察法来实现提升太阳能电池板的转换效率。
目前国内外在太阳能领域的研究成绩各有千秋,有已经成功面市的各类产品,淘宝网上的MPPT(MaximumPeakPowerTracking)控制器,其售价在几百到几千元不等,根据卖家介绍能提升不少的效率。
除了这种成品控制器以外,各大半导体生产厂商也有属于自己的MPPT控制器IC。
比如说美国德州仪器半导体的MPPT控制IC:
SM72442,通过输出四路PWM(脉冲宽度调制)波来控制转换电路的输出,集成了12位的A/D(模拟-数字)转换器,8个模拟通道,能够使转换效率提高到99.5%[2]。
NXP(恩智浦)半导体推出的MPT612是一款基于低功耗的ARM7TDMI-S32位RISC处理器的MPPT集成电路,支持包括I2C、UART、SPI和SSP在内的多种串行接口,其采用的是正在申请专利的MPPT算法,也带有8通道的10位A/D转换器,能够将转换效率提升到98%[3]。
除了这些MPPT控制器外,也还有一些普通的控制器,但是普通的控制器只能做到将效率提升到50%左右,这样的效果不是很明显,当然其售价也要便宜很多,目前MPPT控制器也正在逐步替代普通控制器。
结合太阳能电池板的输出特性与MPPT控制算法来实现本次设计。
原理图与PCB图的设计采用电子CAD绘图软件Protel99SE[4]。
使用PWM波控制场效应MOSFET管IRFZ48N的导通与关闭时间比来调节太阳能电池板的输出电压[5]。
采用51单片机STC89C52RC作为主控芯片,控制输出PWM信号、A/D转换以及液晶显示。
由于这款单片机内部没有集成A/D转换模块,所以外部扩展A/D转换器TLC2543[6]。
电压采样使用电阻分压,电流采样使用电流检测模块ACS712ELC-20A[7]。
本设计的转换效率只能提升20%左右,总体来说还是可以实现MPPT的这种转换思想,但是也还存在着不足的地方。
现在在效率方面的提升也只是局限于其它环境条件不变的情况,如光强、温度等,其成本也还是比较高的,接下来要向多方面努力改进。
还要思考一个问题:
在节约成本以及降低设计复杂度的前提下,还存不存在更好的方案?
要去改变大环境的温度,这对于现阶段人类科技程度来说不怎么可能实现,所以为了再次提升太阳能电池板的转换效率,只能往提高电池板接受光照强度的方向寻找突破口。
虽然在一天当中太阳的光照强度是不变的,但是可以让太阳能电池板接收的光照一直保持在最强状态。
现在太阳能电池板的安装是固定的,也就是其在一天当中所接收的光强并不是最强的,因为太阳一直在移动。
所以,可以考虑下一步来设计“最强光强点跟踪”控制器。
让太阳能电池板跟随太阳移动(在原地进行旋转),让其一直处于最强光强接收状态,这样也可以大大提升太阳能的利用率。
但是在设计一个新的系统的同时,也应当考虑到新系统是否能最终给人们带来更好的价值,这个就需要去综合各个方面进行考虑。
不过有好的想法是非常值得赞扬的,可以当作个人爱好去将它实现,科技就是在不断创新中发展的,人类进步也离不开创新思维,我们应当好好利用自己所学的知识,努力创新,大胆创新!
2任务分析与方案论证
本次设计的题目就是太阳能最大功率点跟踪控制器。
根据MPPT思想,设计一个控制器,能够使太阳能电池板以最大功率输出,从而达到提升转换效率的目的。
2.1任务要求及分析
设计并制作一个MPPT控制器,实现的指标如下:
(1)、采用脉宽调制波控制,寻找最大功率点;
(2)、相同环境条件下实现负载效率提升40%以上;
(3)、显示实时输出情况,包括电压、电流以及功率。
通过分析以上指标,初步确定系统所需的核心元器件有:
CPU、场效应开关管、液晶显示屏。
2.2系统方案论证
系统方案的论证及选取关键应当建立在太阳能电池板输出特性的基础上。
只有在知道太阳能电池板的特性的情况下,才能找准系统设计的方向,然后再根据方向寻找路径。
路径也许不止一条,找到最便捷的路径才是设计的最终目标。
本设计方案论证的重心放在最大功率跟踪控制的算法上面,关于主控芯片的选取,利用51系列单片机来实现。
也可以选取DSP或者ARM等高速MCU,但是由于这些芯片价格昂贵,自己在这些方面的知识欠缺,故不选取。
2.2.1太阳能电池板特性
系统方案的设计要依据太阳能电池板的特性来进行,如图2.1和图2.2所示分别为太阳能电池板在不同光照强度下的输出电压-电流以及功率关系曲线图。
试验太阳能电池板的标示功率为50W。
从图2.1可以看出:
同一光照强度下,在一个输出电压范围内其输出电流基本上保持不变;
然而在某个输出电压值之后其输出电流急剧下降,根据功率的定义式:
P(W)=U(V)*I(A)(式2-1)
图2.1常温下太阳能电池板在不同光照下的输出伏安特性曲线
图2.2常温下太阳能电池板在不同光照下的输出功率曲线
结合式2-1与图2.1可以得出一个结论:
在常温下,某个光照强度时太阳能电池板的输出总存在一个最大功率点。
如图2.2描述了太阳能电池板输出功率与输出电压的关系,体现出了最大功率点。
本设计所使用的电池板的参数:
开路电压Voc=22.6V,短路电流Isc=2.92A,最大功率点电压Vmp=18.5V,最大功率点电流Imp=2.72A,图2.3更直观地描述出了太阳能电池板的输出特性。
图2.3太阳能电池板特性曲线
2.2.2方案论证
方案一:
恒压法。
由图2.1分析得到,在同一温度条件下,不同光照下的最大功率点几乎在一条垂直线上,这表示着最大功率点应该是对应着某一个固定电压值的,这就是恒压法的理论[8]。
这一固定电压值可以从太阳能电池板生产厂商处获得,从而在设计的时候就可将输出电压设定在这个固定电压处。
方案二:
扰动观察法。
这种方法其实质是引入一个小的变化,然后进行观察,并与前一个状态进行比较,进而进行调节。
其具体方法是:
先测太阳能电池板第i时刻的电压Vi和电流Ii,由式2-1计算出功率Pi,然后与第i-1时刻的功率进行比较。
根据比较的结果调节太阳能电池板的工作点,这里引入一个参考电压VREF,当进行比较后,调节参考电压使之逐渐接近最大功率点的电压。
在调节太阳能电池板工作点时,依据这个参考电压进行调节[9]。
方案三:
电导增量法。
由图2.3可以看出,在最大功率点处其斜率为零。
根据式2-1,因此在最大功率点处有:
=I+U*
=0(式2-2)
即
=-
(式2-3)
式2-3就是达到最大功率点的条件,如果
<
-
(式2-4)
则光伏电池的工作点在最大功率的右边,此时应减小输出电压;
如果
>
(式2-5)
则光伏电池的工作点在最大功率的左边,此时应增大输出电压。
在实际应用中,方程式2-3很难满足,工程应用中引入一个误差因子E,当
-
<
E(式2-6)
满足式2-6,就可认为式2-3成立,从而得出最大功率点。
2.2.3方案比较和选取
前面列出了目前的几种最大功率跟踪的方法,对它们进行了理论介绍。
接下来对这几种方法的各自优缺点进行系统对比,如表2.1所示,最终选择出本设计的最佳方案。
方式
恒压法
扰动观察法
电导增量法
工作原理
断开太阳能电池板负载,测量开路电压,将输出电压设置在78%开路电压处
扰动太阳能电池板的工作电压,并监测功率的变化
扰动太阳能电池板的工作电压,并监控工作点处电导与电导变化率的关系
优点
实现简单,复杂度低
硬件成本低,算法实现容易
误判率低,跟踪精度高
缺点
功率浪费严重,跟踪精度低,不能适应环境的变化
不能判定何时达到最大功率点,因此会存在震荡
硬件要求高,算法实现复杂
表2.1几种方案系统比较
结合实际情况需要以及各种方案的优缺点,本次设计选取扰动观察法来实现太阳能电池板的最大功率点跟踪。
这种方法硬件成本低、算法实现容易。
3系统设计
图3.1系统结构框图
通过之前的方案讨论与分析,最终选取了扰动观察法来实现设计。
根据此方案的原理,本系统既需要硬件电路对太阳能电池板的信号进行处理,也需要程序来进行扰动控制,实现算法。
图3.1为系统的整体框图。
3.1硬件设计
系统方案的设计是通过监测太阳能电池板的实时输出功率。
由式2-1,要想得到功率,就需要知道电压与电流。
所以硬件的设计包括控制核心、DC-DC、电压采样、电流检测等几个大的模块,如图3.1所示。
3.1.1转换模块电路设计
转换电路是用于太阳能电池板和负载之间,通过控制电压,将不控的直流输入变为可控的直流输入。
电路中开关管导通与关断时间比例的改变,对太阳能电池板而言表现为输出阻抗的改变,从而影响其输出特性。
图3.2转换部分硬件原理图
太阳能电池板的参数在前面已经给出,硬件电路图各元器件参数的选择就是根据太阳能电池板的参数来决定的。
如图3.2所示,太阳能电池板输出的是直流电压,电容C1、C2用来防止输出的电压干扰,降低输出纹波,由于输出的电压最大能达到25V,因此,电容的耐压值选择50V,留有一定余量。
电感L1用于滤除电压信号的交流分量,降低来自PWM控制信号的干扰、提高A/D采样结果的准确度、稳定输出。
此处的电流检测采用的是电流检测模块ACS712ELC-20A,模块以+5V供电,可以测量正负20安电流,对应模拟量输出100mV/A,其输出的信号为电压信号,通过A/D采样将其转换为电流;
没有检测电流通过时,输出的的电压是VCC/2。
由于太阳能电池板的输出电压最大能够达到22V,所以用两电阻R1=270kΩ、R2=30kΩ进行分压,测R2两端的电压,由于10倍关系,从而可以得到太阳能电池板的输出电压。
选取电阻阻值大主要是考虑到不影响负载的功率。
电流检测与电压采样的处理都由软件实现。
Q1为IRFZ48N,N型场效应MOSFET,导通电阻RDS(on)=0.016Ω;
栅级和源级最大承受电压为VDSS=55V;
栅极最大承受电流ID=64A,导通电阻小,可以减少在导通时的功率损耗,其它参数均符合设计要求。
在此接在电压的低侧作为开关用,使用PWM控制通断从而控制输出电压值。
此处电阻R3=10kΩ用于泄流,防止控制信号的电流过大而损坏场效应管。
由于控制部分电路的供电电压为+5V,为了方便起见,采用三端集成稳压片LM7805将太阳能电池板输出的电压转换为+5V,LM7805输出稳定的+5V电压,最大输出电流可以达到1.5A[10]。
此处采用三端集成稳压LM7805虽然给整个系统的设计带来了方便,但是其功耗相对DC-DC变换来说大了不少,最主要的是热损耗。
所以,此处也成为了系统的一个缺陷。
从整个转换部分电路的设计来看,其最大的缺陷就是在于LM7805上面的功率损耗严重,但是相对系统效率的提升来说还是很小的。
简洁的电路囊括了滤波、采样、开关等几部分,使得整个电路的设计变得简单、目的非常明确。
3.1.2控制模块电路设计
控制部分电路的MCU采用51系列单片机,外部扩展A/D转换器TLC2543,同时接入液晶显示屏,以便直观了解整个系统的实时输出信息。
产生脉宽调制波控制场效应管的导通占空比,实现输出直流电压的可调节。
图3.3控制部分原理图
STC89C52RC它拥有8K字节Flash;
512字节RAM;
内置4K的EEPROM;
四个IO口。
由于这款单片机内部没有A/D,所以只能够通过外部扩展,采用TI(美国德州仪器)的12位A/D转换器TLC2543,11个模拟输入通道,SPI接口。
为了更加直观地了解系统控制的输出结果,控制部分还接入了n5110液晶屏,+3.3V供电,有背光,功耗低。
控制部分的原理图如图3.3所示。
采样电压包括输出电压与电流,电压采用电阻分压,电流使用模块检测,其输出的也为电压信号。
其信号分别从A/D转换器的0和1通道输入。
单片机P0.0口输出PWM波来实现控制太阳能电池板输出电压,P1.0~P1.4分别接到TLC2543的EOC、I/Oclk、Din、Dout、
,P0.3~P0.7分别接液晶屏的各个数据口。
电容C1=30pf、C2=30pf与晶振Y1共同组合构成单片机系统的振荡电路,两个电容用于电路的起振,给MCU提供系统时钟,单片机指令的执行都是需要时钟信号的激励才能完成,此电路就好比人类的心脏一样。
3.2软件设计
程序编写使用的是Keil软件,它是美国Keilsoftware公司出品的51系列兼容单片机C语言软件开发系统。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。
整个系统的程序采用C语言编程[11]。
3.2.1设计思路
软件的部分主要包括A/D、PWM、液晶屏n5110、以及系统思路的算法。
A/D转换的驱动程序主要根据TI官网提供的Datasheet上面的时序图和一些固定指令来写;
PWM波的产生通过单片机内部的定时器中断来实现;
n5110液晶的驱动程序也通过相应的时序及命令编写。
图3.4TLC2543时序图
如图3.4所示,TLC2543的数据传输是在信号
为低电平的情况下进行的,这是个片选信号。
数据的输入与输出是在时钟信号I/OCLOCK的下降沿进行。
芯片处于转换的状态下时,信号EOC为高电平,转换结束时为低电平,驱动程序的编写按照此时序图。
PWM设计思路:
使用内部的定时中断,最大计数脉冲为65535,外部晶振为12M时,最长定时时间为65.535ms。
定时器赋初值的原则(定时器0):
TH0=(65536-N)/256,TL0=(65536-N)%256,其中N为定时时间,单位为us。
再定义一个数C,定时溢出时C自动加1,此时C为一个常数,把C可以分为两段范围,一段范围内给单片机的P0.0口赋1,另一个范围给其赋0,这样就实现了脉宽调制波形的产生。
根据MPPT的算法思路,结合A/D转换、PWM以及各初始化程序,得到系统的流程图如图3.5所示,此流程图体现出了本设计的核心程序思想。
图3.5MPPT算法流程图
3.2.2子程序设计实现
下面主要分析PWM以及系统算法程序。
系统初始化程序:
/*位定义,其中P0^0为PWM输出,P1^0~P1^4为TLC2543接口,P0^3~P0^7为液晶接口*/
sbitpwm_out=P0^0;
sbiteoc=P1^4;
sbitioclk=P1^3;
sbitdin2543=P1^2;
sbitdout2543=P1^1;
sbitcs2543=P1^0;
sbitsce=P0^3;
sbitreset=P0^4;
sbitdc=P0^5;
sbitsdin=P0^6;
sbitsclk=P0^7;
voidInit_sysm()//初始化系统
{
Init_n5110();
//初始化液晶
Clear_n5110();
//清屏
Init_pwm();
//初始化定时器
}
PWM信号的产生:
voidInit_pwm()
TMOD|=0x11;
//定时器1,工作方式3
TH1=0xff;
//定时器赋初值,高8位,定时1us
TL1=0xff;
//低八位
TR1=1;
//开定时中断
IE=0x8A;
//开总中断
voidtimer1()interrupt3//3为定时器1的中断号1定时器0的中断号0外部中断12外部中断24串口中断
//重新赋初值
pwm++;
voidpwm()
if(pwm>
100)
pwm=0;
if(pwm<
num)//num用于调节占空比
pwm_out=1;
//输出高电平
else
pwm_out=0;
//输出低电平
MPPT算法程序:
voidmppt()
ucharP_new,U_new;
if(P>
P_new)
{
if(U>
U_new)
PWM++;
else
PWM--;
}
else
}
4系统调试与测试
4.1调试与测试工具
系统调试与测试所使用的工具包括:
软件KeiluVision4、50W太阳能电池板、电线、杜邦线、胜利牌VC890D万用表、47Ω/20W水泥电阻、100Ω/20W水泥电阻、螺丝刀等。
4.2系统调试
系统的调试包括硬件调试与软件调试。
硬件调试包括稳压块LM7805的输出电压和采样电阻的分压情况测试。
稳压块的输出为+5V,比较标准。
图3.2所示的R1、R2阻值均已给出,但是由于电阻会存在误差,所以也要进行相应的校正。
通过用万用表测试的结果如表4.1所示:
在测试的过程中,发现了一个很严重的问题:
用万用表可以测出R2两端的电压,但是用A/D却采不到电压。
后来通过上网查找资料,其可能的原因在于作为分压电阻的R1、R2选取的阻值太大,以至于流过其电流很微弱,导致A/D采不到电压的后果,然而万用表却可以测到电压是因为万用表的电压都是通过运放处理的。
表4.1万用表测量分压电阻分压值
R1、R2两端电压U
R2两端电压U2
分压系数U/U2
3.28
0.35
9.3714
4.09
0.43
9.5116
4.89
0.52
9.4038
9.37
1.01
9.2772
19.12
2.07
9.2367
平均系数
9.3604
注:
表中电压的单位为V;
表4.2调整电阻后