[更新]请问逆变器经过PID算出的值,如何与PWM寄存器联系在一

[复制链接]
3853|8
 楼主| snakeemail 发表于 2008-2-19 21:55 | 显示全部楼层 |阅读模式
逆变器经过PI补偿后,算出一个值,这个值如何与PWM寄存器相对应呢?<br />具体步骤如下:<br />1.首先NowE&nbsp;=&nbsp;Vref-Vfeedback,NowE有一个最大值MaxE,就算误差再大,也有一个饱和的误差,防止溢出,那么通过这个MaxE,通过PI补偿后,可以求出一个最大的UMax,如果PWM是16位的,<br />UMax&nbsp;*&nbsp;K&nbsp;=&nbsp;65535,即可以求出K,以后所有求出的U都要乘以这个系数K,就可以得到pwm寄存器的值了,是这样吗?<br />
xieyuanbin 发表于 2008-2-20 07:58 | 显示全部楼层

不是有个系数吗?

这个系数就是用来将你的误差和积分与PWM值相对应的。<br />
 楼主| snakeemail 发表于 2008-2-20 19:09 | 显示全部楼层

系数?不明白

我是说误差e,经过PI,算出一个值,这个值是要通过处理才能进入PWM寄存器的,这个处理是怎么样的
兰天白云 发表于 2008-2-21 19:18 | 显示全部楼层

把PI的结果弄到0~100%

然后把0~100%弄到0~255(如果PWM=8位)
 楼主| snakeemail 发表于 2008-2-23 10:02 | 显示全部楼层

把PI的结果弄到0~100%,那我怎么找到PI计算出的最大值呢?

  
兰天白云 发表于 2008-2-23 21:17 | 显示全部楼层

100%就是最大值

  
yellowland 发表于 2008-2-25 11:24 | 显示全部楼层

100%就是最大值

选一个基准,每补计算要注意进行归一化处理
 楼主| snakeemail 发表于 2008-2-26 23:10 | 显示全部楼层

我把程序编了,但是不对,逆变器出不来正弦波,有几个问题,

1.用的是增量算法,所以我要确定最大的误差是多少,即Vref参考电压-VFeedback反馈电压的最大值,也许我要从开环的spwm着手,25Hz的正弦波,20k载波,一个正弦波周期要中断400次,那么就可以得到最大的增加电压maxE,如果Vref-Vfeedback&gt=maxE,那么就取Vref-Vfeedback=maxE。例如输出电压的有效值为30.5Vrms,那么最大只能对正负30.5*1.414*5%的电压进行调节,超过此范围,就限制输出,每次的增量不能超过最大值。<br />
ocon 发表于 2008-2-29 13:35 | 显示全部楼层

先用开环验证你的系统可用,再上反馈。

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

547

主题

1909

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部