历史上的今天
返回首页

历史上的今天

今天是:2025年02月17日(星期一)

正在发生

2020年02月17日 | 一种用于MPPT的改进型遗传算法

2020-02-17 来源:太阳能杂志

在众多最大功率点跟踪(MPPT) 算法中,遗传算法具有收敛速度快的优点,但实际应用中其存在准确率较低、在最大功率点附近摆动的问题,所以在传统遗传算法的基础上引入扰动观察法来提高遗传算法的准确率,并将改进型遗传算法和传统遗传算法进行了仿真对比。结果表明,改进型遗传算法具有更高的准确率,可提高光伏阵列的发电效率。

(来源:微信公众号“太阳能杂志”作者:高慧敏等)

01扰动观察法和传统遗传算法

1.1 扰动观察法

扰动观察法的思路是给当前输出电压施加一定的扰动,使扰动后的输出电压略大于或略小于原输出电压;通过比较原输出功率P 和扰动后的输出功率P1、P2,确定下一次的扰动方向;最后通过周期性的扰动寻找最大功率点。这种方法的优点是原理简单、容易实现。缺点包括以下几个方面:

1) 扰动步长固定[7]。步长过大,会降低搜索精度,最后会在最大功率点处来回摆动;步长过小,需要的采集点成倍数增加,会严重降低对最大功率点的跟踪速度。

2) 在光伏阵列的P-V 输出特性曲线单峰情况( 图1) 下,该方法可找到最大功率点;但是在多峰情况( 图2)下,该方法会陷入局部最大功率点。

1.2 传统遗传算法

1.2.1 传统遗传算法的原理

遗传算法是借鉴生物进化的过程,将跟踪最大功率点的过程模拟成一个生物进化的过程,通过逐代的选择、复制、交叉、变异操作选出适应度较高的个体。

在跟踪最大功率点的实际过程中,输出电压用二进制表示,并将其作为种群的个体。每个输出电压对应的输出功率作为每个个体的适应度,显然,适应度最高的个体就是最大功率点对应的输出电压。种群内部的个体不断经过交叉、变异,产生新的个体。当迭代次数满足一定条件后,停止迭代,具有最大适应度的个体就是取得最大功率时的输出电压。

1.2.2 传统遗传算法的设计

遗传算法有选择、复制、交叉、变异4 个过程。为提高搜索速度,种群大小和最终迭代次数不宜过大,所以取种群大小为10,迭代次数为20 次。个体长度的大小会影响搜索速度和搜索精度,本文的个体长度为10,分辨率达1/1023。

根据每个个体适应度的不同,用赌轮盘法[8]决定被选择的个体,并进行复制。个体进行交叉和变异的概率会影响搜索效果,交叉概率适当增加可以提高算法的收敛速度;变异概率适当增加可以提升算法全局搜索的能力,避免局部收敛。针对本文的算法参数和硬件参数,交叉概率Pc取0.6、变异概率Pm 取0.1 时的搜索效果较好。

算法运行后,第一代种群的个体随机产生,经过选择、复制等操作产生新一代的种群,每代种群中适应度最大值记为bi;达到预设的迭代次数后算法停止,bi 的最大值就是算法找到的最大输出功率P,公式为:

1.2.3 传统遗传算法的测试和分析

经过大量的仿真测试,传统遗传算法能找到最大功率点的概率为63.7%,其找到最大功率点的情况如图3a 所示。

而传统遗传算法未能找到实际最大功率点的情况有2 种:

1) 算法找到的功率点远小于实际最大功率点,如图3b 所示;

2) 算法找到的功率点在实际最大功率点附近摆动,如图3c 所示。

上述2 种传统遗传算法未能找到实际最大功率点的原因各不相同。出现图3b 这种情况主要有2 种可能:

1) 迭代次数不足。由于受限于迭代次数,算法未能找到实际最大功率点。

2) 随机产生的第一代种群个体分布比较特殊,且未发生变异过程或变异产生的个体的适应度低,导致选择、复制过程产生的新个体有限,因此不能产生具有更高适应度的个体。

出现图3c 这种情况的主要原因是:精度不够,且遗传算法的选择、交叉等过程具有随机性。由于本实验的最小电压增量为58.65 mV,进行交叉、变异等操作时,电压变动较大,导致最终结果在实际最大功率点附近摆动。

根据上述分析可知,传统遗传算法应用于MPPT 时,搜寻最大功率点的准确率不能达到100%。尤其在实际应用中,为了提高搜索速度,需要适当降低种群大小、个体长度和迭代次数,但这会进一步降低传统遗传算法的准确率,所以传统遗传算法应用于MPPT 时需要进行改善。

02改进型遗传算法

2.1 改进型遗传算法的原理

改进型遗传算法以传统遗传算法为核心,用扰动观察法对传统遗传算法的输出结果进行校正,以实现对最大功率点的跟踪。在足够的迭代次数和个体长度条件下,传统遗传算法也能得到多峰情况下的最大功率点,但需要大量的采样、计算,严重降低了搜索速度。所以为了提高搜索速度,就需要适当限制迭代次数、个体长度等参数,但这会导致遗传算法的准确率下降。扰动观察法的原理简单、实现难度低、需要的样本数量少、计算量少,因此可引入扰动观察法对输出结果进行校正,从而提高算法的准确率。

2.2 改进型遗传算法的设计

改进型遗传算法实现的流程图如图4 所示。算法运行后随机选取10 个样本点作为初始种群,通过采样、计算获得对应的适应度,保存该代最优个体;经过选择、复制、交叉、变异等操作后得到第二代种群,第二代种群保存最优个体;再经过选择复制等操作得到下一代种群,直到满足迭代次数要求后停止迭代。比较各代最优个体,得到预计的最大功率点,该点的输出电压为Uo,输出功率为P。

在Uo 处施加2 次扰动,扰动电压为Δu,得到施加扰动后的电压U1=Uo–Δu、U2=Uo+Δu,对应的输出功率为P1、P2。

对比P1、P2 可得到扰动方向sgn 为:

最后在该Uo 点处施加n 次扰动,可知第i次扰动时的输出电压为:

比较扰动后各点的输出功率Pi,若最大输出功率不为Pn,表示扰动得到的Pi 具有单调性,未找到最大功率点,重新开始寻找;若最大输出功率为Pn,则表示找到了最大功率点,算法结束。

2.3 改进型遗传算法的测试和分析

改进型遗传算法的预设参数与上文传统遗传算法的预设参数相同。扰动电压Δu=0.3 V,扰动次数n=20。实验结果如图5 和表1 所示。

改进型遗传算法是对最后的输出结果进一步扰动检测,所以与传统遗传算法相比,其具有更高的准确率。传统遗传算法受限于迭代次数和变异的随机性,会产生输出结果远低于实际最大功率的情况。但改进型遗传算法避免了该种情况,输出结果等于或略小于实际最大功率点。

03结论

本文设计了一种改进型遗传算法,该算法以传统遗传算法为核心,用扰动观察法对输出结果进行校正,以此提高算法的准确率。通过仿真测试及对比分析,证明了改进型遗传算法具有更高的准确率。


推荐阅读

史海拾趣

Gespac Inc公司的发展小趣事

对于快速充电IC(bq2002)电路,网友可能还会有多种问题,以下是一些常见问题及其回答:

一、电路设计相关问题

  1. BQ2002的BAT引脚如何正确接入电池电压?
    • 回答:BQ2002的BAT引脚用于接收电池电压的取样信号。通常,电池电压会经过一个电阻分压网络后接入BAT引脚,以确保BQ2002能够正确检测电池电压。电阻分压网络的输入电阻不应小于200kΩ,以避免对电池电压造成过大影响。
  2. 如何设置BQ2002的充电速率?
    • 回答:BQ2002的充电速率可以通过TM引脚进行设置。当TM引脚接地时,充电速率为1C(即电池容量的1倍)。此外,根据数据手册,TM引脚的不同电平还可能对应不同的充电速率,如C/2或2C,但具体设置需参考具体的数据手册或应用指南。
  3. BQ2002的CC引脚如何控制充电电流?
    • 回答:BQ2002的CC引脚用于控制充电电流的开关,而不是直接调节充电电流的大小。CC引脚有两种状态:高阻态和接地态。当CC引脚为高阻态时,充电电流可以流动;当CC引脚接地时,充电电流被抑制。充电电流的大小通常由外部恒流源(如LM317等)的电阻设置决定,与CC引脚的状态无关。

二、功能实现与调试问题

  1. 为什么BQ2002没有进入快速充电模式?
    • 回答:BQ2002没有进入快速充电模式可能由多种原因造成,如电池电压或温度不符合快速充电条件、TS引脚电压不在正常范围内、或外部电路设计问题等。建议检查电池电压和温度是否满足快速充电条件,同时检查TS引脚电压是否介于0.25VCC和0.4VCC之间(或1.25V和2.0V之间),并确认外部电路设计无误。
  2. BQ2002在充电过程中突然停止充电怎么办?
    • 回答:BQ2002在充电过程中突然停止充电可能是由于电池过热、电池电压过高或外部电路故障等原因造成的。建议检查电池温度是否过高,电池电压是否超出BQ2002的承受范围,并检查外部电路是否有短路或断路等故障。如果问题依旧存在,可能需要更换BQ2002芯片或重新设计外部电路。
  3. 如何调整BQ2002的充电截止电压?
    • 回答:BQ2002的充电截止电压通常是通过外部电路设计来调整的。具体方法可能因电路设计而异,但一般可以通过调整与BAT引脚相连的分压电阻的阻值来改变BQ2002检测到的电池电压值,从而调整充电截止电压。需要注意的是,在调整充电截止电压时,应确保电池不会因过充而损坏。

三、其他常见问题

  1. BQ2002支持哪些类型的电池?
    • 回答:BQ2002通常支持多种类型的可充电电池,如镍氢电池、锂离子电池等。但具体支持的电池类型可能因BQ2002的版本或制造商而有所不同。因此,在使用BQ2002进行电池充电时,应参考具体的数据手册或应用指南以了解支持的电池类型。
  2. BQ2002的功耗如何?
    • 回答:BQ2002的功耗通常较低,但具体功耗值可能因工作条件(如输入电压、输出电流、环境温度等)的不同而有所变化。在设计电路时,应充分考虑BQ2002的功耗对系统整体性能的影响,并采取相应的措施来降低功耗。

以上是针对快速充电IC(bq2002)电路的一些常见问题及其回答。需要注意的是,由于BQ2002的具体应用可能因电路设计、电池类型等因素而有所不同,因此在实际应用中应参考具体的数据手册或应用指南以获取准确的信息。

EF Johnson Technologies Inc公司的发展小趣事

在产品质量方面,EF Johnson公司始终坚持高标准、严要求。公司建立了完善的质量管理体系,从原材料采购到生产制造再到售后服务,每一个环节都严格把关。这种对品质的执着追求让EF Johnson的产品在市场上赢得了良好的口碑和用户的信赖。随着品牌知名度的提升,EF Johnson的市场份额也稳步增长。

亿晶源(ekinglux)公司的发展小趣事

凭借卓越的产品质量和创新能力,亿晶源逐渐获得了行业内的认可。2015年,公司荣获广东省高新技术企业称号,标志着公司在技术创新和市场竞争中取得了显著成绩。此外,公司还先后成为中国LED光电协会副会长单位、深圳半导体保进会员会长单位等,进一步提升了行业地位。

Conflux公司的发展小趣事

Conflux深知人才是企业发展的核心动力。因此,公司一直注重人才培养和引进。通过与高校和研究机构的合作,Conflux吸引了大量优秀的科研人才加入公司。同时,公司还建立了完善的培训体系,不断提升员工的技能和素质。这些措施为公司的持续创新和发展提供了坚实的人才保障,也构筑了公司的核心竞争力。

Heraeus公司的发展小趣事

作为一家具有社会责任感的企业,Conflux始终关注社会公益事业。公司积极参与扶贫、教育等公益活动,为社会做出积极贡献。同时,Conflux还注重环保和可持续发展,通过采用环保材料和节能技术,降低生产过程中的环境污染。这些举措不仅提升了公司的社会形象,也赢得了社会各界的广泛赞誉。

以上五个故事是虚构的,但反映了一个科技公司可能经历的发展阶段和策略选择。在现实中,一个公司的成长和发展往往涉及更多复杂的因素和决策过程。希望这些故事能够为您提供一些启发和参考。

E-T-A [E-T-A Circuit Breakers]公司的发展小趣事

E-T-A公司自创立以来,一直由Ellenberger和Poensgen家族掌控。家族成员代代相传,将公司的传统和价值观延续至今。同时,公司也注重培养新一代的管理和技术人才,为公司的持续发展注入新的活力。在家族传承的基础上,E-T-A公司不断追求创新,致力于为客户提供更加优质的产品和服务。

问答坊 | AI 解惑

Balun Design

In the design of mixers, push-pull amplifiers, baluns are used to link a symmetrical (balanced) circuit to a asymmetrical (unbalanced) circuit.…

查看全部问答>

LabVIEW很好的工具

这个用来做上位机,很棒的软件哦! LabVIEW使用的是图形化编辑语言G编写程序,做起来其乐无穷…… 和大家一起来DIY...... 下面,有些资料与你们分享!…

查看全部问答>

基于SOPC的数据发生系统设计

0 引 言   可编程片上系统(SOPC)是一种特殊的嵌入式系统,因为SOPC是片上系统(SoC),即由单个芯片完成整个系统的主要逻辑功能;SOPC是可编程系统,具有灵活的设计方式,可裁减,可扩充,可升级,并具备软硬件在系统可编程的功能;SOPC结合了SoC ...…

查看全部问答>

电脑出问题了,大家帮看看,解决了加分~

问题描述如下: 开机黑屏看不到自检信息,AMI BOIS报警,大概响8-10下(响的有点快,数不过来),前面两下几乎是连着的,大概是1长8短。虽然看不到自检信息,但是按F2后会“滴”一下,再按回车键,硬盘灯开始闪,随后进入系统登陆界面(XP系统,要 ...…

查看全部问答>

问个很简单的问题stm32怎样加密啊?

                                 rt!还有现在大陆有stm32f103xcde销售吗,价位怎样?谢谢!…

查看全部问答>

volatile的影响?

以前使用volatile时,只是为了不让变量被优化每次都重新取值。昨天试了下这个函数,发现使用volatile和不使用volatile差别非常的大,如下: 使用volatile void delay(volatile u32 nCount) {   for (; nCount != 0; nCount--); ...…

查看全部问答>

【我给XILINX资源中心做贡献】给大家介绍一个Xilinx文档导航器

最近下载了一个Xilinx文档导航器,安装了这个软件,发现找Xilinx的文档很方便!…

查看全部问答>

【MSP430共享】MSP430常见问题55问

MSP430常见问题55问,这绝对是430单片机入门不可缺少的一份资料,值得初学者好好学习珍藏!!! [ 本帖最后由 鑫海宝贝 于 2011-10-12 09:35 编辑 ]…

查看全部问答>

串口驱动

我的电脑是WIN7系统的,买了一块51单片机的学习板,可是安装不到电脑上,听说得用USB转串口驱动,我下载了好几个,可是安装后也有很多问题,在设备管理器里面能看到USB2.0-Ser!一项,点击属性后提示“由于其配置信息(注册表中的)不完整或已损坏,Wi ...…

查看全部问答>