电流检出频率和使用的1C相关。在本书中,所介绍的电机电流检出1C是IRF-Japan公司的IR2175S。这个1C大概可以测定130kHz的电机电流。因为要测定U相和V相的电机电流,所以需要使用2个1C。IR2175S的电流检测是使用了PWM的输出,在CPLD的内部设计时钟计数器。如果按照这个处理过程计算CPU占用率的话,就得到了以下的结果:
(1)电流检出频率:l+130kHz=7.6723#。
(2)DTC数据传送所需要的时间:15+32MHz=0.46875^ts0
(3)CPU的占有率:0.46875^s^7.6723#父2通道=J2.2%
只是数据读取的话,对于单片机而言读取130kHz的2通道的数据是比较严峻的。如果可以的话,我们想使用DMA,但是因为外部中断口(IRQ端子)无法启动DMA,所以在本章中我们决定使用DTC。
电机的种类非常多,驱动方法也很多,伺服电机维修全部的方法都介绍是不可能的,在这里,我们从具体的电路的例子着手主要对交流伺服电机的驱动方法进行介绍。从本质上来说,不管是哪种驱动方式,电机驱动必要的知识和经验都是共通的。
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个字节。