预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

滤波磁编码器设计简述作者:吴正平王璐单位:三峡大学理学院A/D转换器及控制电路A/D转换器将传感器输出的两路模拟信号转变为数字信号A/D采样器的精度直接决定信号处理部分的解码精度而A/D采样器的采样速度则决定磁栅转一圈最大能输出的脉冲数.经过选型最终确定的A/D转换器是AD9226芯片.AD9226芯片是具有12位精度、65Msps的高速模数转换器实验证明该芯片完全可以满足编码器设计要求.对AD9226的控制是通过FPGA芯片实现的通过对40MHz时钟信号分频得到两路方波信号AD_CLK1和AD_CLK2直接将这两路信号接入AD9226的时钟引脚AD_CLK1和AD_CLK2.图3FPGA控制AD9226CORDIC算法及FPGA实现首先介绍CORDIC算法的原理如下[6].设向量(Xk+1Yk+1)是由(XkYk)旋转αk角度得到那么有:Xk+1Yk+[]1=cosαk-sinαksinαk-cosα[]kXkY[]k=cosαk1-tanαktanαk-[]1XkY[]k(1)为便于计算机迭代求解限制每次旋转的角度αk满足条件tanαk=2-k(k=012…)且在旋转过程中始终根据Yk的正负来调整旋转方向调整方法如下:dk=-1(顺时针)Yk>01(逆时针)Yk<烄烆0(2)那么式(1)可展开如下:Xk+1Yk+[]1=A1-dktanαkdktanαk-[]1•1-dk-1tanαk-1dk-1tanαk-1-[]1…1-d0tanα0d0tanα0-[]1•X0Y[]0=A1-dk2-kdk2-k-[]11-dk-12-(k-1)dk-12-(k-1)-[]1•…1-d02-0d02-0-[]1X0Y[]0(3)其中A=cosαkcosαk-1…cosα0=∏ki=01+2-2槡i当k∞时A=1.64676.那么可以证明将向量X0Y[]0进行若干次这样的旋转可以使它最终与X轴重合而向量X0Y[]0与X轴的夹角θ则刚好是所有旋转过的角度之和取反即θ=-∑ki=0dkαk(4)综合起来CORDIC迭代算法可表示为Xk+1=Xk-dkYk2-kYk+1=Yk+dkXk2-kZk+1=Zk-dktan-1(2-k烅烄烆)(5)磁电编码器对旋转角度的解算是实时的那么器件解算角度的速度要足够快例如当磁栅旋转速率为10000转/min用FPGA实现16倍频时则FPGA完成一次角度解算的延时不能大于11.7μs.因此本文采用流水线结构的FPGA来实现CORDIC算法其算法结构如图4所示.采用10级流水线结构的FPGA实现CORDIC算法在QuartusII软件中仿真结果如图5所示.图5CORDIC算法仿真结果从图中可以看到经过10次迭代后输出结果就稳定为19308与理论值19344误差在0.2%以下.倍频信号滤波在完成上述各模块的设计并进行功能验证的基础上设计了磁电编码器原型机8倍频的输出信号如图6所示.图6磁电编码器8倍频输出从图中明显看出输出的方波信号存在脉冲干扰需要进一步做滤波处理.为此进一步利用FPGA芯片实现数字滤波该滤波程序用状态机来实现状态转换图以及滤波后的结果如图7~8所示.实验测试结果按照图1所示结构设计了一台磁电编码器原型机.并测试在GMR传感器输出信号频率fIN分别为400Hz、1000Hz、1500Hz以及2500Hz共4种情况下的8倍频输出信号如图9所示从测试结果看本编码器的8倍频输出结果还是很理想的.但在输入频率1000Hz时部分方波信号不规则这与实验驱动电机轴向稳定性较差有关系.本文利用两轴正交全桥GMR传感器和FPGA芯片EP1C6PQ240成功设计了一台磁电编码器原型机.在原型机上的实验测试结果表明该磁电编码器8倍频输出结果稳定.但是由于GMR传感器输出两路正交信号质量不高导致不能实现更高倍频的输出信号这是以后需要努力改进的地方.