伺服电机维修主要针对基于汇编语言实现伺服控制器的高速化进行讲解。用微控制器进行分类的处理器多数没有搭载浮点运算单元。由于在伺服控制器中需要用到浮点运算 伺服电机维修,所以也可能会降低伺服控制器的性能。下面结合CPU的情况来设计浮点格式,编写汇编语言实现浮点运算路径。1IEEE标准的单精度浮点1单精度浮点的位配置 伺服电机维修,表示的是IEEE标准的单精度浮点的位配置标准。单精度浮点用4字节来表示,从较高位开始分别由符号位(1位)、指数位(1位)、小数位(23位)构成。这种结构的特征是将较高位的31位配置为符号位,因此指数位的8位就从30位开始配置到23位,以字节为单位来看的话,就相当于移动了一位,所以小数位也不再是24位了,变成了23位。到速度极限为止所花的时间加速期间移动的距离和目标移动距离的比较有恒定速度期间的情况恒定采样数无恒定速度期间恒定速度采样数=0
16位精度浮点的有效位为5位,精度不是很好。虽然不能像计算器那样使用 伺服电机维修,不过作为反馈控制器来说,精度是足够了。
反馈控制器的输入是位置偏差或者是速度偏差,通常状态是数值计数器的整数。反馈控制器的输出是转矩电流指令,化成整数值,这个数据的范围也是取决于电机电流检测的分析能力的。*2章中介绍的电机驱动电路中较大是1500counto所以,较终的结果中有效位数会减少,仅提高反馈控制器的计算精度的话,也没有什么意义。
16位精度浮点的计算方法
下面针对16位精度的浮点运算方法进行介绍。因为所有的计算方法都是用汇编语言写的,伺服电机维修为了让C语言也可以调用 伺服电机维修,ER0和ER1以外的寄存器都避开不用。
1.FADD16C浮点的加法运算)
程序如程序清单8.1所示。加法运算的输人数据是ER0(参数1)和ER1(参数2),运算结果保存在ER0中,在R1L中保存出错信息。
首先,确认输人数据是否为零。参数1或者参数2是0的情况下,没有必要进行加法运算,不为零的情况下就直接输出结果。
*16位,正好是从高位数下来*二个字节的位置。小数部分是从*15位开始到*0位的十六位。在4个字节当中低位分配2个字节。