伺服控制软件中三角函数值的计算误差分析
- 格式:pdf
- 大小:136.90 KB
- 文档页数:3
摘 要 :文章对不同的三角函数实时计算方法的误差进 行定量分析 ,给出了伺服控制软件中确定三角函数计算方法 的标准和注意事项 ,有助于伺服控制软件的合理设计 。
关键词 :伺服 ;矢量控制 ;三角函数 ;误差 ;DSP 中图分类号 :TM383. 4 文献标识码 :A 文章编号 :1004 - 7018( 2004) 05 - 0020 - 03
图 3 4 096 点查表法的量化误差
图 7 电机转速波动曲线 (16 位 2 048 点查找表)
图 4 4 096 点查表法 16 倍插值误差
不同查找表长度对应的最大相对误差是一致的 , 主要差别在于误差的局部变化 。图 5 、6 分别给出了 图 2 、4 的局部放大图 ,对应于角度值 30°~31°。由图 可以看出 ,查找表长度增加 ,sin 函数计算误差的变化 频率升高 ,即对应的作用于控制系统的未建模扰动频 率也升高 ,这有益于控制器的设计 。
设计分析 Design and analysis 伺服控制软件中三角函数值的计算误差分析
最小二乘法一种 ,采用其它方法可能会获得更小的相 对误差 。但不论采用什么方法 ,计算精度的提高都伴 随着计算复杂度的增加 ,这与最小二乘法是一致的 。
图 12 给出了采用七次多项式拟和的电机转速变 化曲线 ,可见与采用 16 位查找表时的转速波动相当 。
图 5 2 048 点查表法 16 倍插值误差 (局部)
图 6 4 096 点查表法 16 倍插值误差 (局部)
不过也应注意到 ,sin 函数计算误差比较小 ( ±6 ×10 - 5) ,小于伺服控制系统中电流反馈 、PWM 死区 及功率器件非理想等带来的误差扰动 。在小功率交 流伺服系统中 ,这些误差扰动的数量级通常不小于 10 - 3 。所以采用查表法获取的正弦函数值可以认为 是准确的 。如果希望进一步减小查表法的误差 ,可以 增加查找表中每个数据点的位数 。例如用两个相邻
16 位 DSP 实时计算多项式 ,多项式系数事先存 储在 RAM 中 。考虑 DSP 存储和计算的 16 位精度限 制 ,多项式计算误差不会小于 ±3 ×10 - 5 。
21
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
以下对分别采用查表法和实时计算法获取正弦
函数值的误差进行分析 。作为参考的正弦函数准确 值是在 Pentium III 个人计算机上调用 C 语言函数计 算的 。应说明的是 ,计算机中复杂函数的计算也是采 用近似计算式 ,也有误差 。但其精度足够高 ,误差可 以不予考虑 。 2 查表法的误差分析
查表法实现简单 ,查表法的误差可分为两部分 , 一是制作查找表时的量化误差 ,二是对非表中数据点 进行线性插值带来的误差 。以下工作以 16 位定点 DSP 芯片 TMS320L F2407A 为实现对象 。
Abstract :Quantitative analysis has been made on errors of real - time calculation met hods for various trigonometric func2 tion. The guidelines of trigonometric calculation met hods for servo
图 1 2 048 点查表法的量化误差
收稿日期 :2003 - 04 - 08 基金项目 :国家 863 计划 (2001AA423160)
中国博士后科学基金 (2002 年度)
图 2 2 048 点查表法 16 倍插值误差
若查找表长度增加为 4 096 点 ,得到的结果与
20
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
图 12 电机转速波动曲线 (七次多项式拟和)
4 结 论 可见 ,实时的伺服控制中三角函数值获取方法的
选择 ,取决于 DSP 的存储空间和计算速度的裕度 。 如果存储空间足够大 ,可以采用查表法 。反之 ,如果 计算速度的裕度较大 ,可以采用高阶的逼近多项式来 计算 。如果存储空间和计算速度都受到限制 ,以至于 必须采用低精度的函数值获取方法 ,应注意由此给控 制系统带来的扰动影响 。
ror ;DSP
1 引 言
分析伺服控制系统中的非线性因素和未建模动 态是有益的[1 ] 。其目的首先是对系统有更深入的了 解 ,然后是提高系统整体的控制精度 。
由于量化误差和其它原理性误差的存在 ,伺服控 制软件中三角函数的计算给控制系统引入了扰动 。 对于以电机转子位置为自变量的三角函数 ,其计算误 差成为位置反馈误差的一部分 。这种扰动的频率随 着电机转速的降低而降低 ,不利于电机的低速平稳运 行。
设计分析 Design and analysis 伺服控制软件中三角函数值的计算误差分析
图 1 、2 基本一致 ,如图 3 、4 所示 。
的 16 位字组成一个 32 位字表示一个函数值 ,可以将 最大相对误差减小到约为 ±1 ×10 - 9 。
图 7 、8 给出了三角函数计算误差对伺服系统性 能影响的例子 。图 7 为采用 16 位 2 048 点查找表时 的电机转速变化曲线 ,图 8 为同一系统采用 12 位 2 048 点查找表时的转速变化曲线 。电机转速给定为 50 r/ min ,转速测量频率为 10 k Hz 。由图可见 ,采用 16 位查找表时的转速波动要小得多 。
图 9 用于最小二乘拟和的正弦函数曲线
上述三次和七次多项式对应的 16 位 DSP 实时计算 误差分别如图 10 、11 所示 。
图 10 三次多项式最小二乘拟和误差
图 11 七次多项式最小二乘拟和误差
七次多项式拟和的最大相对误差约为 ±3. 5 × 10 - 5 , 和 16 位 查 表 法 的 ±6 ×10 - 5 相 当 。而 三 次 多项式拟和的最大相对误差约为 ±1 ×10 - 2 ,大于16 位查表法的误差值 。如前所述 ,函数逼近方法不只是
设计分析 Design and analysis 伺服控制软件中三角函数值的计算误差分析
伺服控制软件中三角函数值的计算误差分析
史敬灼1 ,徐殿国2 ,王宗培2
( 1. 河南科技大学 ,河,黑龙江哈尔滨 150001)
为使计算公式形式简洁 ,对正弦函数的拟和区间 取为 [ - 90°,90°] ,如图 9 所示 。分别做三次和七次 多项式拟和 ,得到的拟和结果分别为 :
sin x = - 1. 54172 ×10 - 16 + 0. 01726 x + 3. 17477 ×10 - 20 x 2 - 7. 71179 ×10 - 7 x 3
control softwave are provided here. All t hese met hods are helpful
for suitable design of servo control software. Keywords :servo ; vector control ; trigonometric function ; er2
图 8 电机转速波动曲线 (12 位 2 048 点查找表)
3 实时计算法的误差分析
实时计算是计算数学中的函数逼近问题 。随着 计算机的发展 ,函数逼近也得到了越来越深入的研 究 ,提出了众多的方法 ,常用的有泰勒 ( Tylor) 级数展 开 、切比雪夫 (Chebysev) 多项式 、最小二乘拟和 、最佳 一致逼近多项式 、有理分式逼近等等[2 ] 。其中有理 分式逼近需要用到除法 ,不适合于 DSP 计算 ,例如 TI 的 2000 系列 DSP 没有专门的除法指令 ,完成 16 位/ 16 位的除法需要 17 个指令周期 。最小二乘拟和 可以得到较好的整体效果 ,且由于最小二乘方法为工 程人员所熟知 ,所以基于最小二乘拟和的函数逼近在 实时控制中应用较多 。
Calculation Error Analysis of Trigonometric Function in Servo Control Sof t wave
S HI J i ng - z huo1 , X U Dian - guo2 , W A N G Zong - pei2 (1. Henan U niversity of Science and Technology ,L uoyang 471003 ,China ;
(上接第 19 页) 磁动势作用下产生的总电磁转矩 ,它 是在平均电磁转矩上叠加六次谐振脉动转矩 。
机时需要认真考虑 ,采取措施 ,避免脉动转矩过大 ,影 响电机运行性能 。
参考文献
[1 ] 朱东起 ,赵争鸣 ,孙旭东. 电动机的新发展[ M ] . 北京 : 机械工业 出版社 ,2000
[ 2 ] 唐任远. 现代永磁电机理论与设计[ M ] . 北京 :机械工业出版社 , 1997
torque in permanent magnet motors[ M ] . Japan : J IEE IAS ,1994
图 5 集中绕组永磁无刷电动机转矩波形图
可见 ,集中绕组永磁无刷电动机由于谐波磁动势 及齿 、槽的影响 ,会产生较强的脉动转矩 。在设计电
作者简介 :刘利宏 (1966 - ) ,男 ,讲师 。
伺服控制软件中三角函数的计算有查表法和实 时计算法 。查表法需要占用较多的存储空间 ,而实时 计算法则要占用较多的计算时间 。考虑到控制的实 时性 ,实时计算法选用的近似计算式通常较为简单且 适合于 DSP 计算 ,因而其计算误差通常比查表法大 。 实时计算法的一个优点是可以计算任意自变量对应 的函数值 ,而查表法只能给出确定点的函数值 ,其它 点插值得到 ,实用中通常采用线性插值 。