打印
[逆变器]

逆变器平均值电压外环反馈

[复制链接]
4853|66
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
逆变器小白,求教各位大佬;
想自己做一个spwm逆变器,spwm波形是基于stm32查表法做出来的;
对于利用stm32进行输出电压采集进行反馈的原理不熟悉,请求各位大神解惑;
1.采集到的电压是否是有效值
2.采集到的电压如何进行pi运算
3.是否是通过计算调制比来改变表格里的数字来调节spwm的占空比,从而来使输出电压幅值稳定

使用特权

评论回复

相关帖子

沙发
sanzi666| | 2019-6-11 08:19 | 只看该作者
这块应该没有人能讲,

使用特权

评论回复
板凳
tianxj01| | 2019-6-11 08:47 | 只看该作者
输出正弦波,经过整流滤波,衰减,到单片机AD端,采用固定间隔方式采样,然后所有周期结果加起来就是有效值,不需要太多,每半周期百来个精度已经很高了。
PI运算不给你细数了,自己找资料去看。
假如查表的值为 sinX,而我们可以将PI运算结果格式化为小于1的一个值,则该值直接和sinX相乘就是我们输出控制目标寄存器PWM值。

使用特权

评论回复
地板
叶春勇| | 2019-6-11 11:12 | 只看该作者
tianxj01 发表于 2019-6-11 08:47
输出正弦波,经过整流滤波,衰减,到单片机AD端,采用固定间隔方式采样,然后所有周期结果加起来就是有效值 ...

那种三角波与正弦波合成的,是不是输出波形少点。
用你的方法,是不是一个正弦波要很多采样点?

使用特权

评论回复
5
tianxj01| | 2019-6-11 11:28 | 只看该作者
叶春勇 发表于 2019-6-11 11:12
那种三角波与正弦波合成的,是不是输出波形少点。
用你的方法,是不是一个正弦波要很多采样点? ...

三角波+正弦波?类似D类放大器形式?这不能算全数字的正弦波逆变器。
正弦波逆变器,考虑到线性度要求,有个100采样点,失真度已经在1%以内了。100个采样点,对现在的单片机,那就是毛毛雨的FLASH,谈不上很多采样点吧。
至于后面反向AD采样,高频滤波后,百来个采样,积分,也是为了照顾精度。采样点太少,反馈精度就差。
10mS 100采样点,采样时间也就是100uS,目前哪怕003这样8位单片机都轻轻松松可以通过中断定时来完成。
加起来的值,就是有效值不是,参与PI运算后,控制读表格数据后乘以系数,就是输出PWM目标。

使用特权

评论回复
6
叶春勇| | 2019-6-11 11:37 | 只看该作者
spwm由很多方法,能比较下吗?

三角型.png (155.35 KB )

三角型.png

等面积法.png (50.93 KB )

等面积法.png

使用特权

评论回复
7
a1301272283|  楼主 | 2019-6-16 21:08 | 只看该作者
本帖最后由 a1301272283 于 2019-6-16 21:24 编辑
tianxj01 发表于 2019-6-11 08:47
输出正弦波,经过整流滤波,衰减,到单片机AD端,采用固定间隔方式采样,然后所有周期结果加起来就是有效值 ...


你好 (渴望得到回复)
我查表里边直接是寄存器的值。
请问采样到的有效值具体是怎么样推出寄存器的值吗。
可以用具体的数字和计算解释一下吗,万分感谢。
例如,采样到的是5v的有效值,期望的是10v,那么可以让寄存器的值都乘以2吗?
万分感谢

使用特权

评论回复
8
tianxj01| | 2019-6-17 09:58 | 只看该作者
a1301272283 发表于 2019-6-16 21:08
你好 (渴望得到回复)
我查表里边直接是寄存器的值。
请问采样到的有效值具体是怎么样推出寄存器的值吗 ...

为了精度,sin表里面,一般我们存储的是最大幅度的PWM数,比如我用的是8位的PWM。则sin90=255。sin0当然=0,所以,我解释了,PID结果返回的应该是一个小于1的值,为了输出余量,我们假定输出是8V的sin,(假定最大只能到10V),因此,既定的K=0.8,而采样的结果,7V,则实际执行的K=0.8*8/7=0.91。
这里只是描述了pwm计算系数K的实际意义,有点类似简单的比例算法,事实上PID过程要比这个复杂,具体的亲自己找资料学习吧。
这里有1个关键的点:为了保证波形不失真,对PWM结果系数控制要么是高速sin算法,你可以pwm逐周控制,否则你只能在一个完整正弦波周期以后才能修改,保证一个正弦波周期的幅值符合sin数值。

使用特权

评论回复
9
新好男孩| | 2019-7-10 10:19 | 只看该作者
之前做过逆变,采用PID来稳定输出电压。

调整duty就可以改变输出电压值。

使用特权

评论回复
10
SFY2020| | 2020-11-9 16:39 | 只看该作者
新好男孩 发表于 2019-7-10 10:19
之前做过逆变,采用PID来稳定输出电压。

调整duty就可以改变输出电压值。

请问下PWM幅值是什么意思? 能讲下吗?
另外,SPWM正弦值是通过定时读取吗?

谢谢!

使用特权

评论回复
11
SFY2020| | 2020-11-9 16:44 | 只看该作者
tianxj01 发表于 2019-6-11 11:28
三角波+正弦波?类似D类放大器形式?这不能算全数字的正弦波逆变器。
正弦波逆变器,考虑到线性度要求, ...

10mS 100采样点,采样时间也就是100uS, 请问下只是需要采样半个周期就可以了吗?

使用特权

评论回复
12
tianxj01| | 2020-11-10 10:25 | 只看该作者
SFY2020 发表于 2020-11-9 16:44
10mS 100采样点,采样时间也就是100uS, 请问下只是需要采样半个周期就可以了吗?
...

为了保证正弦波对称性,所有调整动作只在半周期动作,另外半周期,就是上半周期的负数。
我们为了节省空间,有时候还会采取0-90°数据存储SIN表格就好,90-180倒过来就成。变成负半周期什么的,都可以在程序里面简单完成,而SIN PWM的调制,比如满幅度是255,128为交流电过零,1为交流电负幅度。
则PID运算结果如果调制度为0.5,则正就变成128+127*0.5=191,过零还是128,负最大幅度就是128-127*0.5=64。

使用特权

评论回复
13
tianxj01| | 2020-11-10 10:29 | 只看该作者
SFY2020 发表于 2020-11-9 16:44
10mS 100采样点,采样时间也就是100uS, 请问下只是需要采样半个周期就可以了吗?
...

顺便说一下,一般为了提高SIN逆变桥的效率,全桥逆变我们通常会采用2个下臂换正负,而2个上臂输入SIN半周期数据,这样同时,8位分辨率可以完全使用。其实下臂就是轮流的10mS方波,而上臂则是SIN数据。这样整个驱动过程,不必考虑正负半波,直接送单极性SIN数据就成,程序计算还简化了。

使用特权

评论回复
14
SFY2020| | 2020-11-10 11:24 | 只看该作者
tianxj01 发表于 2020-11-10 10:25
为了保证正弦波对称性,所有调整动作只在半周期动作,另外半周期,就是上半周期的负数。
我们为了节省空 ...

继续请教,
1 、你的意思是采样正半周,然后通过PID 运算,做正负占空比的调整?
2、 而SIN PWM的调制,比如满幅度是255,128为交流电过零,1为交流电负幅度。
则PID运算结果如果调制度为0.5,则正就变成128+127*0.5=191,过零还是128,负最大幅度就是128-127*0.5=64?
以上我的理解看是不是这样,如我现在SPWM幅值为255,周期点数为128,调制度为1,SPWM中值为128,则产生的正弦信号为:
128,140,152,165,177,189,202,213,225,237,
248,259,269,279,289,299,308,316,325,332,
340,346,352,358,363,368,372,375,378,380,
381,382,383,382,381,380,378,375,372,368,
363,358,352,346,340,332,325,316,308,299,
289,279,269,259,248,237,225,213,202,189,
177,165,152,140,128,115,103,90,78,66,
53,42,30,18,7,-3,-13,-23,-33,-43,
-52,-60,-69,-76,-84,-90,-96,-102,-107,-112,
-116,-119,-122,-124,-125,-126,-127,-126,-125,-124,
-122,-119,-116,-112,-107,-102,-96,-90,-84,-76,
-69,-60,-52,-43,-33,-23,-13,-3,7,18,
30,42,53,66,78,90,103,115

如我现在按以上正弦数据,按定时156US取一次正弦数据(20MS/128),第一次占空比应为128/255,直到128个数据全部取完,一个完整的正弦调整波发送完成,此时候通过AD定时采样正半周数据,通过pID运算,
调制度为0.8,此时,第一次占空比变为128+128*0.8 = 191,第二次占空比变为128+140*0.8 =240,不知道这样对不对?

使用特权

评论回复
15
SFY2020| | 2020-11-10 11:40 | 只看该作者
tianxj01 发表于 2020-11-10 10:29
顺便说一下,一般为了提高SIN逆变桥的效率,全桥逆变我们通常会采用2个下臂换正负,而2个上臂输入SIN半周 ...

用这样的控制方式是不是需要2个滤波电感?

使用特权

评论回复
16
tianxj01| | 2020-11-10 17:01 | 只看该作者
本帖最后由 tianxj01 于 2020-11-10 17:06 编辑
SFY2020 发表于 2020-11-10 11:40
用这样的控制方式是不是需要2个滤波电感?

不需要啊,全桥下管各轮流按照50Hz的180°相位打开,全桥交叉上臂送50Hz半波SIN信号。
很明显,当上臂调制PWM=0时候,则输出电压=0;等于PWM=255时候,则输出最高峰值电压。
这种控制模式,查表做起来就简单了,假如一个正弦波均分30度,则我们可以发现,SIN表格是这样的:
0;128;221;255;221;128;。
当PID计算调制度为0.5时候,查表数据的PWM值就变成了0;64;110;128;110;64;0.......
需要注意的是,最后一个0时刻,就是下管交换的时刻,也就是交流电的过零点。接着,系统开始驱动对面上臂MOS管,按照0;64;110;128;110;64;进行驱动。
到下一个周期,如果调制度发生变化,则重新计算PWM输出值。
这样描述,不知道你是否明白了?至于PID采样,这个速度并不进行限制,根据系统的能力来合理规划就行,处理的关键是,在一个完整周期,须采用同一个PID结果,这样的方法,波形失真度可以得到合理保证,关键是处理量少。
当然,如果你采用高速DSP,你可以采用实时计算的方法,来实时输出采样-计算后的PWM数据,这里SIN表格就必须参与高速PID运算了.........,这就不在这里讨论范围了。

使用特权

评论回复
17
SFY2020| | 2020-11-10 18:07 | 只看该作者
tianxj01 发表于 2020-11-10 17:01
不需要啊,全桥下管各轮流按照50Hz的180°相位打开,全桥交叉上臂送50Hz半波SIN信号。
很明显,当上臂调制 ...

谢谢,大概明白了,
另外还有一个地方,调制度的问题,按以上举例说明:
PID结果返回的应该是一个小于1的值,为了输出余量,我们假定输出是8V的sin,(假定最大只能到10V),因此,既定的K=0.8,而采样的结果,7V,则实际执行的K=0.8*8/7=0.91。

意思生产SPWM正弦信号时,可以设定调制度为0.8生成数据,这样就可以让计算的k不会大于1?

使用特权

评论回复
18
tianxj01| | 2020-11-11 09:12 | 只看该作者
SFY2020 发表于 2020-11-10 18:07
谢谢,大概明白了,
另外还有一个地方,调制度的问题,按以上举例说明:
PID结果返回的应该是一个小于1的 ...

当我们以SIN表格满分辨率为最高幅度,那么我们必须设计母线电压,这也是所有正弦波逆变器母线电压是一个350V左右的基本定式的来源,也就是哪怕在有部分压降和重载条件下,保证SIN输出最大幅度>310V。
当目标值是220,而PID设计输出为调制度,当调制度为1时候,则肯定超过~220V,所以,PID计算结果理论上不可能超过1,当然,为了安全起见,我们一般会对PID结果进行限幅,也就是进行上下限控制。防止瞬间计算过冲导致系统算法崩溃。

使用特权

评论回复
评论
SFY2020 2020-11-11 16:30 回复TA
继续请教, 1、请问下过零点要如何处理,我现在的过零点出现很多尖峰,(示波器负接地,正接逆变输出一端) 2、另外基波50H如何切换,我现在切换好像有问题,出来的波形好像方波一样(示波器探头正负接逆变输出2端测量),3、单独测量输出2端,示波器负接地,正分别接输出2端,(一端为方波,一端为正弦波,此波形是正确的,就是正弦波出现1中出现的问题。 谢谢!  
19
SFY2020| | 2020-11-11 16:31 | 只看该作者
tianxj01 发表于 2020-11-11 09:12
当我们以SIN表格满分辨率为最高幅度,那么我们必须设计母线电压,这也是所有正弦波逆变器母线电压是一个3 ...

继续请教, 1、请问下过零点要如何处理,我现在的过零点出现很多尖峰,(示波器负接地,正接逆变输出一端) 2、另外基波50H如何切换,我现在切换好像有问题,出来的波形好像方波一样(示波器探头正负接逆变输出2端测量),3、单独测量输出2端,示波器负接地,正分别接输出2端,(一端为方波,一端为正弦波,此波形是正确的,就是正弦波出现1中出现的问题。 谢谢!

使用特权

评论回复
20
tianxj01| | 2020-11-12 09:22 | 只看该作者
SFY2020 发表于 2020-11-11 16:31
继续请教, 1、请问下过零点要如何处理,我现在的过零点出现很多尖峰,(示波器负接地,正接逆变输出一端 ...

SIN表格的第一个数据为0(正弦波过零点),由于是交叉导通,所以你完全不需要担心共通问题。
从该时刻开始,左桥上臂是0-90-180的SPWM信号,而右桥下臂从SIN【0】时刻导通。同时交叉的另外2个MOS管均关闭。查表到下一个SIN【0】时刻,2交叉臂进行交换。这样就实现了完美的过零切换。
带合适负载测量2桥臂信号,应该都是半周期的SPWM信号。只有示波器GND和探头连接全桥2个输出,你才可以发现双向调制的SPWM信号,这个信号经过LC滤波,则可以直接获得完整的正弦波。

使用特权

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

本版积分规则

1

主题

2

帖子

0

粉丝