PI补偿后的值如何与PWM寄存器对应,以正弦波逆变器为例

[复制链接]
2620|0
 楼主| snakeemail 发表于 2008-2-16 21:54 | 显示全部楼层 |阅读模式
分析是以TI的文档SPRA589A为例子。<br />逆变器程序,CPU频率在20MHz,载波为20kHz(50uS),&nbsp;updown计数,所以周期寄存器定时25uS,那么周期寄存器T=25000nS/50nS=500,<br />;Convert&nbsp;Q11&nbsp;value&nbsp;to&nbsp;an&nbsp;absolute&nbsp;Q0&nbsp;for&nbsp;use&nbsp;in&nbsp;Compare&nbsp;reg.<br />spm&nbsp;3<br />LT&nbsp;Uniinv_H_0&nbsp;;&nbsp;(Q11)<br />MPY&nbsp;#1000&nbsp;&nbsp;=&nbsp;1000*U&nbsp;=&nbsp;2T*U<br />PAC&nbsp;;ACC&nbsp;=&nbsp;2T*U/64&nbsp;=&nbsp;(T/2)*(U/16),&nbsp;max&nbsp;U=16,&nbsp;T=500<br />rpt&nbsp;#4<br />norm&nbsp;*<br />SACH&nbsp;GPR0<br />这个逆变器是双极性的,如果是开环双极性SPWM推动逆变器,可以发现开环双极性SPWM公式,最大的pwm寄存器也是250,那么我想,无论最后的PI补偿结果算出来是什么,最后都要小于250,<br />即U&nbsp;×&nbsp;待定系数&lt=250,<br />因为U是Q11有符号,即U的绝对值最大为16,<br />但是前面的P&nbsp;=&nbsp;1000*U&nbsp;=&nbsp;2T*U不知道是如何得来的?特别是2T,其中的T是否是我估计的周期寄存器值。<br />问题2,U是如何规格化的<br /><br />计算PI结果时,<br />norm&nbsp;*&nbsp;;q27<br />sach&nbsp;Un_iinv&nbsp;;Q11<br />他只取高11为,低15位都不要了,似乎是在忽略小数部分,也许是因为后面的小数太小了,不起作用了。<br />可是我对于norm的作用不清楚,查了半天也没有找到相关的资料,这个应该是和补码的乘法有关,估计是去掉多余的符号位,但是介绍的资料太少了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

547

主题

1909

帖子

8

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