最近碰到了一个问题,想请教一下各位大神们。
问题背景
位移台X-Y运动,编码器(100p/r)+数据采集卡,编码器装在位移台步进电机轴上。编码器A相输出作为数据采集卡的触发时钟(A相上升沿),以前仅仅在单程运动采集数据。现在改进一下,变成来回都采集数据。如下图所示,(一)1-2同步运动采集数据,向上位移后,3-4返回,重复循环。(二)1-2运动采集数据,向上位移后,3-4同步运动采集。具体路径如下
原因及实验结果
出现了图像错位现象,开始以为是上位机程序的原因,后来才发现是编码器的原因。编码器接在电机轴端,(一)未出现错位是因为电机1-2 和3-4刚好对称。3-4走完之后,电机回到了初始角度再走下一个1-2也就是5-6,也就是说1-2阶段和5-6阶段编码器发出的脉冲一致。 对于(二),电机走完了1-2采集数据,走3-4也采集数据。(这里简称奇数行偶数行)这时候电机带动编码器旋转,初始位置不相同,导致了奇数行与偶数行编码器输出的脉冲存在一个相位差,便造成了偶数行与奇数行采样点的整体错位。
实验结果如下,左边是改进得到的图,右边是应该得到的效果图
奇数行与偶数行存在一个错位,同时奇数行与奇数行对应,偶数行与偶数行对应。我拿了几行画了几个图看看,每两行的错位量存在差异。
硬件方面,开始想过整个电路,把秒冲相位调整一下的,感觉不好弄就没试。
软件方面,以奇数行为基准,求出每个偶数行的错位,再进行补偿。关于这个错位量,本来是想把奇偶数行的峰值相对应点的位置拿出来,在做差,得到错位量。但是发现有些奇偶数行相邻波峰没有其他波峰值大,如上图的17、18行。于是这个办法好像不行。
想问下铁汁们,这个错位量该怎么求,找了个文献,关于毫米波的,看起来好难...