打印
[应用相关]

STM32与智能低压无功补偿

[复制链接]
楼主: 東南博士
手机看帖
扫描二维码
随时随地手机跟帖
21
東南博士|  楼主 | 2019-1-26 10:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

使用特权

评论回复
22
東南博士|  楼主 | 2019-1-26 10:38 | 只看该作者

使用特权

评论回复
23
東南博士|  楼主 | 2019-1-26 10:38 | 只看该作者

使用特权

评论回复
24
東南博士|  楼主 | 2019-1-26 10:39 | 只看该作者

使用特权

评论回复
25
東南博士|  楼主 | 2019-1-26 10:39 | 只看该作者

使用特权

评论回复
26
東南博士|  楼主 | 2019-1-26 10:39 | 只看该作者

使用特权

评论回复
27
東南博士|  楼主 | 2019-1-26 10:51 | 只看该作者
    输入相电压220V交流电经过变压器以及桥式整流电路后,得到9V,  1W和9V, 4W两
路直流电源。其中9V, 4W经过转换后主要用来供给STM32和ADE7878这两块芯片以及液
晶屏、EEPROM, LED灯、J-LINK等外设,因此需要4W左右功耗;而另一路9V,  1W经
过转换后主要用来供给RS485通信使用,功耗只需要1W。将两路供电分开的主要原因是防
止RS485受到外界干扰后影响电路芯片正常工作。
    由于RS485和部分器件需要SV供电,因此首先通过转换电路DC-DC将两路电源从9V
传化为SV直流,这里选用DS8259芯片。STM32和ADE7878需要3.3V供电,则需要将SV
转换成为3.3V,此处选用LM2841芯片进行转换,最终得到稳定的3.3V电源。转换电路如下:

使用特权

评论回复
28
東南博士|  楼主 | 2019-1-26 10:51 | 只看该作者
    无功补偿控制器嵌入式软件的设计采用模块化的设计原则,主要包括:数据采集和计算,
自动投切逻辑、液晶显示和按键处理、报警、RS485通信等。这样既提高了系统应用的通用
性,也提高了代码的可读性,维护起来更为方便。
    软件运行流程如图4.11所示:系统上电后进行初始化,初始化的工作包括配置主控STM32
芯片的各个外设、通过I2C配置和启动ADE7878并对其内部寄存器进行校准、启动液晶显示
屏进入界面首页、从EEPROM读取上一次存储的参数等;然后进入while循环,在DMA中
断中处理从计量芯片ADE7878传来的数据,计算出各个电网参数值,再通过按键判断选择进
入工况显示界面、参数设置界面、电容状态显示界面和手动控制界面。投切电容分为手动和
自动控制两部分,手动投切主要用于电容器出场调试,平常工作时系统运行都处于自动控制
模式。在没有出现报警的情况下,系统使用循环投切或者优化投切得出需要投切的电容器组,
然后最后通过RS485通信将投切指令传递给智能补偿电容器综合模块,并在中断中处理投切
延时。

使用特权

评论回复
29
東南博士|  楼主 | 2019-1-26 10:52 | 只看该作者

使用特权

评论回复
30
東南博士|  楼主 | 2019-1-26 10:52 | 只看该作者

使用特权

评论回复
31
東南博士|  楼主 | 2019-1-26 11:01 | 只看该作者

使用特权

评论回复
32
東南博士|  楼主 | 2019-1-26 11:27 | 只看该作者

使用特权

评论回复
33
東南博士|  楼主 | 2019-1-26 11:29 | 只看该作者

使用特权

评论回复
34
東南博士|  楼主 | 2019-1-26 11:30 | 只看该作者
.循环投切方式的自动投切逻辑
    对等容量的电容组,控制器采用循环投切方式。投入或者切除电容器组由当前计算得到
的功率因数与设定的功率因数欠补门限和过补门限进行比较决定。当实时功率因数小于欠补
门限时,则投入一组电容器;当功率因数大于过补门限时,则切除一组电容器。反复对功率
因数进行检测和比较,直到功率因数在两者之间时停止投切。投切方式不合理会造成电容器
的损坏,现有很多控制器采用“顺序投切的方法”,这种投切方式下排序在前的电容器组先投
后切,排序在后的则后投先切。这不仅使前面的电容器组时常处在运行模式,积累热量影响
寿命,而且使后面电容器组的开关经常进行投切动作,容易损坏开关[}26}。采用“循环投切方
式”可以解决以上一些问题,这种投切方式使先投入的电容器组先退出,后投入的电容器组
后切除,达到各电容组使用几率均等的目的。“循环投切”可以减少投切次数从而降低了电容
器组的平均温度,延长了电容的使用寿命。

使用特权

评论回复
35
東南博士|  楼主 | 2019-1-26 11:31 | 只看该作者

使用特权

评论回复
36
mmuuss586| | 2019-1-26 12:19 | 只看该作者

感谢楼主分享

使用特权

评论回复
37
東南博士|  楼主 | 2019-1-26 12:41 | 只看该作者
    当需要对电容进行投入时,首先判断A[o]的值,若不为。,则表示所有的电容器组都已经
投入运行,而此时功率因数比投入门限小,说明提供电容容量不够,系统需要给出报警信号
以采取增加电容器组。如果A[o]的值为。,将数组逻辑左移一位,末位补。,则AfN_I]所对
应的值即为需要循环投入电容器组的组值。例如数组A左移一位后AfN_I]所对应的数值为x,
则X表示需要投入的电容器组,此时可以通过RS485将投入信号命令发送给对应的电容器组
X,完成电容器的投入。
    当需要对电容进行切除时,首先判断A[N-1 ]的值,若为。,表示没有一组电容投入使用,
但此时功率因数大于切除门限,表明系统运行不正常,需要给出报警信号。如果A[N-1 ]不为
0,则检测从A[0]开始一直到A[N-1 ]的数值,检测到第一个不为。的数组所对应的数值即为
需要切除的电容器组。对该组电容器组发出切除命令后,将此元素的数值送至下标为此元素
下标加N的元素中,并将此元素对应的数值清零。例如A[X]为第一个不为零的元素,则A[X]
的值为循环切除的电容器组,发送切除命令给A[X」组电容器后,将A[X」对应的值赋给A[X+N],
然后A[X」清零,如此便结束了切除电容器组。
    投切电容器组经常会遇到投切振荡的问题,当投入一组电容器,实时功率因数大于功率
因数切除门限,于是系统自动切除一组电容器,实时功率因数又小于功率因数投入门限,于
是又需要投入一组电容器,如此反复投切称为“投切振荡”。“投切振荡”严重影响了电容器
和投切开关的使用寿命,必须避免发生。此处针对循环投切方式解决的方法是:当需要投入
一组电容器时,先进行预判断,求出补偿一组电容器后所达到的功率因数值,若此值大于功
率因数切除门限或者小于零,则不进行电容器的投入。若此值小于功率因数切除门限,则将
电容器组投入,如此便可避免电容器组的“投切振荡”。
    此外,为了使电网在容性和感性状态下都呈同方向线性变化(即投入电容则功率因数增
加,切除电容则功率因数降低),此处将呈容性状态下的功率因数值+2,这样随着电容的投入,
功率因数从0到2之间单调递增,随着电容的切除单调递减,可以更方便的判断当前状态需
要投入电容还是切除电容器组。
    .优化投切方式的自动投切逻辑
    对不同容量的电容器组,控制器主要采用优化投切(也称为编码投切)的方法。此时要
求投入电容器的容量呈一定比例,如1: 2: 4: 4: 4等等。优化投切方式不再以功率因数为
控制目标,而是以当前电压和所消耗的无功功率作为控制量,先求出需要补偿多少容量的电
容,然后通过编码的方式选择电容器组,补偿电容一次到位。
    而如何根据当前电压和所消耗的无功功率求得无功补偿量,我们采用模糊控制算法计算
获得。由于模糊控制算法比较复杂,在无功补偿控制器嵌入式软件中线上实现模糊控制算法
将大大降低软件运行效率,不利于快速控制,因此我们先通过MATLAB实现模糊控制算法,
线下计算得到电压和无功功率偏差两个输入量和一个补偿电容输出量之间的电容器投切查询
表;然后将投切查询表存入无功补偿控制器嵌入式软件中,这样软件便可以通过电压和无功
功率偏差的变化,快速得到需要投切的补偿电容量。模糊控制算法的实现和电容器投切查询
表的获得将在第六章进行详细介绍。
    采用电容器投切查询表的优化投切方式自动投切逻辑流程如图4.18所示,当功率因数低
于投入门限时,先通过查表求出需要补偿量,如果补偿量大于所有电容器组的容量和,表明
所需电容器组电容量不够,则报警。如果电容器组容量满足要求,则将所需补偿量与编码值
从大到小求比值,当比值大于0时表明需要投入该组电容器,当比值等于0时则表明需要切
除该组电容器。当功率因数高于切除门限时,方法相同。

使用特权

评论回复
38
東南博士|  楼主 | 2019-1-26 12:42 | 只看该作者

使用特权

评论回复
39
東南博士|  楼主 | 2019-1-26 13:31 | 只看该作者

使用特权

评论回复
40
東南博士|  楼主 | 2019-1-26 13:31 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则