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

来源:百度文库 编辑:神马文学网 时间:2024/06/12 05:42:01

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

分析是以TI的文档SPRA589A为例子。
逆变器程序,CPU频率在20MHz,载波为20kHz(50uS), updown计数,所以周期寄存器定时25uS,那么周期寄存器T=25000nS/50nS=500,
;Convert Q11 value to an absolute Q0 for use in Compare reg.
spm 3
LT Uniinv_H_0 ; (Q11)
MPY #1000 = 1000*U = 2T*U
PAC ;ACC = 2T*U/64 = (T/2)*(U/16), max U=16, T=500
rpt #4
norm *
SACH GPR0
这个逆变器是双极性的,如果是开环双极性SPWM推动逆变器,可以发现开环双极性SPWM公式,最大的pwm寄存器也是250,那么我想,无论最后的PI补偿结果算出来是什么,最后都要小于250,
即U × 待定系数<=250,
因为U是Q11有符号,即U的绝对值最大为16,
但是前面的P = 1000*U = 2T*U不知道是如何得来的?特别是2T,其中的T是否是我估计的周期寄存器值。
问题2,U是如何规格化的

计算PI结果时,
norm * ;q27
sach Un_iinv ;Q11
他只取高11为,低15位都不要了,似乎是在忽略小数部分,也许是因为后面的小数太小了,不起作用了。
可是我对于norm的作用不清楚,查了半天也没有找到相关的资料,这个应该是和补码的乘法有关,估计是去掉多余的符号位,但是介绍的资料太少了
闭环的SPWM程序如何写的啊
希望高手来指教下

看你的PID是什么方式的,是增量型的还是位置型的!
操作方式主要还是调节PID参数来实现!
PID输出的值再作用传递函数来实现目的