| 关于数字定标和标么化 发表于:08-10-06 最后更新时间:08-10-06 所属论坛:飞思卡尔DSP应用 评论(0) | 完整回复 | 提交评论 | 打印此页 共1项,第1/1页 |
老大 论坛版主 积分:20 |
问:编写PI控制程序(或调用PI控制库函数)
uf(k)=Ksc.ef(k) + uIf(k-1) + KIsc.T/TI.ef(k)
上式中各个量如何定标。如果控制器系数K或K.T/TI 大于1(如100),那如何处理,运算结果又该如何处理,处理后的结果如何变换成最终的控制输出(实际控制量)。实际控制量大都是整型数,如0 ~ x 或 –x ~ +x 。 。
一般来说要通过选取合适的基值来使得运算过程中所有变量范围在0~1之间。如果实在不行必须大于1.那么你要知道你的实际控制量的范围,将计算结果调整到该范围内(一般做线性变换即可)
例如你的输入转速为-3000~3000rpm,可以选取6000rpm为基值,则你的实际转速为1500rpm时的转速定标值为8191。这样你的输入误差ef(k)的范围就是-32767~32767之间(即-1~+1之间)。
实际输出控制量也是一样。详细算法参见6.4节。 例如,控制直流电机,母线电压为100V,经过PI调节器实际输出直流电压为60V,你通过调节器实际输出值为19660,19660就代表60V,将19660赋给PWM,PWM输出的占空比就是60%,你所要的实际电压就是60%*100V=60V。所以在DSP中始终不会出现60V这样的量,全部都是定标以后的值。 |
| 1楼 |
|