打印

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

[复制链接]
2961|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
snakeemail|  楼主 | 2008-2-19 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
逆变器经过PI补偿后,算出一个值,这个值如何与PWM寄存器相对应呢?
具体步骤如下:
1.首先NowE = Vref-Vfeedback,NowE有一个最大值MaxE,就算误差再大,也有一个饱和的误差,防止溢出,那么通过这个MaxE,通过PI补偿后,可以求出一个最大的UMax,如果PWM是16位的,
UMax * K = 65535,即可以求出K,以后所有求出的U都要乘以这个系数K,就可以得到pwm寄存器的值了,是这样吗?
沙发
xieyuanbin| | 2008-2-20 07:58 | 只看该作者

不是有个系数吗?

这个系数就是用来将你的误差和积分与PWM值相对应的。

使用特权

评论回复
板凳
snakeemail|  楼主 | 2008-2-20 19:09 | 只看该作者

系数?不明白

我是说误差e,经过PI,算出一个值,这个值是要通过处理才能进入PWM寄存器的,这个处理是怎么样的

使用特权

评论回复
地板
兰天白云| | 2008-2-21 19:18 | 只看该作者

把PI的结果弄到0~100%

然后把0~100%弄到0~255(如果PWM=8位)

使用特权

评论回复
5
snakeemail|  楼主 | 2008-2-23 10:02 | 只看该作者

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

使用特权

评论回复
6
兰天白云| | 2008-2-23 21:17 | 只看该作者

100%就是最大值

使用特权

评论回复
7
yellowland| | 2008-2-25 11:24 | 只看该作者

100%就是最大值

选一个基准,每补计算要注意进行归一化处理

使用特权

评论回复
8
snakeemail|  楼主 | 2008-2-26 23:10 | 只看该作者

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

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

使用特权

评论回复
9
ocon| | 2008-2-29 13:35 | 只看该作者

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

使用特权

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

本版积分规则

547

主题

1910

帖子

8

粉丝