偶们几个学生娃做这个驱动器项目,磕磕碰碰也算能让电机转起了。
有几个问题没搞很清楚:
1、速度环的带宽。我的理解是速度给定和反馈,执行一次回路的时间,而这个时间,主要是由速度检测的时间来决定的,因为相对来说传递和矢量变换的时间要远远小于这个时间。是不是这样的呢? 另外这个带宽可以用什么方法测量呢?想不明白,请前辈们不吝赐教。
2、速度检测的问题。很多资料上看到都是采用M/T法,采用数增量脉冲的形式。那绝对式编码器怎么弄呢? 恩,一般绝对式编码器也带有正弦的增量信号,是不是利用这个信号呢?有没有其他的方法。
波恩先生,刘版主,还有各位前辈们给小弟普及下常识吧,实在没办法,我们这边没人可问了啊。
果然是EQI13xx系列的编码器,以前跳,现在不跳? 如果用到16位,都不跳,也算不错了! 不过,既然19位已基本不跳,说明其信号质量比想象的要好,还是建议用足19位,这样一来可以将速度的动态检测分辨率细化8倍,几乎一个数量级了,蛮可观的!
至于电角度对齐的问题,建议参考本人的帖子:《伺服电机转子反馈的检测相位与转子磁极相位的对齐方式[原创]》http://www.gongkong.com/webpage/forum/200810/2008100512121600001-1.shtml 中有关绝对式编码器的相位对齐部分。
其实对于绝对式编码器而言,完全可以随意安装后,再施加特定的转子定向电流,记录定向后读取的单圈绝对位置,根据目标定向角度,计算出相位偏差,并写入编码器的指定寄存器中,以后每次上电读取该寄存器中记录的相位偏差,用于电角度解算。这样一来,就可以免除慢工出细活的相位对齐操作,节省一个工艺步骤,节约一份工时成本。这也恰恰是对绝对编码器的应用优势之一。
至于楼主提及的电机厂家的对齐质量,个人无法评价,最好咨询厂家,问问理论是对齐到多少度的?对齐偏差范围的出厂检验标准是多大?本人手拙,大致也能对到机械角度1°左右,电角度会按极对数倍增,4对极x4,电角度(30°-24.2°)/4=1.45°机械角度,如果是手工装调的话,偏差不算太大。如果是3对极,对应的机械角度就是1.93°,似乎也不算太离谱。
不过,机械角1.45°合19位分辨率的2112个角度当量,1.93°合19位分辨率的2816角度当量,如果采用随意安装,记录定向偏差的方法,原则上就可以准确到19位分辨率的±1个角度当量,由此可见对于单圈绝对式编码器而言,人工装调与随意安装之间相差的不仅仅是工艺复杂度和工时成本,装调精度的差异也是非常显著!
另,波恩并非大师,只是业内工程师,只不过从事伺服这个行当,与之相关的东西关注的多一些罢了。
海德汉网站的公开资料中有一篇讲EnDat的文档,从中有可能分析出大致的帧格式,有兴趣的话,可以配合深存储示波器研读反馈数据,对比FPGA给出的数据,个人以为FPGA用到的原厂IP给出的反馈数据应该不至于有错。
从上面的描述看,建议再次明确机械一圈和编码器回馈的单圈数据循环是否一致。
另,由于EQI 13xx 是多圈绝对式编码器,其12位多圈数据和19位单圈数据由FPGA给出时,是分开的2个数据,还是连在一起的一个31位数据?
针对上面的问题1猜测:有没有可能是16位截取时,计算出来的角度值比实际值小了1半? 所以才会30°对十几度;
针对上面的问题2,-30°对应-24.2°(即335.8°),按照本人在“2010-07-17 13:23:50 25楼”的分析,可能还在手工对齐的不准确度控制范围之内。
这两个现象放在一起确实有矛盾之处,建议再仔细核实一下。
我现在应该想清楚第一个问题了。原先没有理解好电角度的概念。电机固定在-30°,编码器读数335.8°,把它转换成电角度就是(3极对数)1007.4°即287.4°,相差+42.6°....固定在0°,编码器读数107.36°,*3 = 322° ,若加42.6°,正好在364.6°,忽略误差就是0°,322 - 287 = 35,也在30 左右。最后修正的时候,在编码器出来的读数上+42.6 / 3 = 14.2° 。。。是不是这样算的呢??
除了修正值偏大外,很符合逻辑。。但是这个数,电机在开环的时候转的效果并不好,会是上面计算的原因么?
原来前面提及的多少多少度都是机械角度! 若此,则“电角度”=“机械角度”×极对数。
为便于直观理解和分析,可以将单圈反馈折算为以“度”(°)为单位表示的机械角度,以及以“度”(°)为单位表示的电角度。但是,在矢量运算中,则无需如此,应尽可能以反馈当量或其整倍数为分度解算。
设绝对式编码器的反馈分辨率为N=2^n,可视其(N)为随着编码器的旋转逐圈一轮回的n位无符号整数。如果电角度的增加方向与编码器反馈的增加方向相同,比如都是面向电机轴,CCW方向旋转电机轴递增,CW方向旋转电机轴递减,且定向到-30°的反馈读数为K,则定向到0°的反馈读数应该是K+Δk,Δk是30°电角度所对应的以n位无符号整数表示的反馈量,理论上Δk=N/12p,p为电机的极对数。
由此可见,在电角度的增加方向与编码器反馈的增加方向相同的条件下,定向到-30°的反馈读数为比定向到相邻的0°的反馈读数小Δk,因此,以定向到-30°为相位初始化操作时,计算电角度所用的偏置值就是K+Δk,K是定向到-30°的反馈读数,Δk=N/12p,是30°电角度所对应的以n位无符号整数表示的反馈量,其中N=2^n,是n位绝对式编码器的单圈反馈分辨率,p是电机的极对数。
如果以定向到0°为相位初始化操作时,计算电角度所用的偏置值就是K,K就是定向到0°的反馈读数,此时无需定向到-30°时计算所需的Δk(=N/12p),似乎显得简单一些。
综上,建议验证定向到3个不同的相邻-30°和0°时,反馈读数差值与N/12p的符合程度。