- 收藏
- 加入书签
基于FPGA的增量式编码器在激光雷达中的应用
课题来源 研究生校级创新项目
课题名称 基于FPGA的神经网络设计与实现
课题编号 CX2022SY043
摘要:针对传统的增量式编码器测角度受不同的应用场景的限制,提出了一种应用于激光雷达、可精确测量角度值的现场可编程逻辑门(FPGA)的设计方案.采样xc7a100tfgg484-2芯片设计了 用于实时增量编码器解码的硬件系统,实现了对增量编码器的实时解码,描述了硬件设计思路,并采用Vivado2019.2软件开发平台上完成了程序设计,并通过仿真软件对硬件进行仿真并分析实际效果,验证了解码的正确性和实时性。
关键词:增量式编码器;现场可编程逻辑门阵列、激光雷达
0引言
增量式编码器是由分度码盘和光电检测装置组成;是一种把角度值或者位移转换成电信号的一种装置。由与电机同轴的分度码盘随着电机的转动,光电检测装置随着码盘转动向外发送脉冲波形,通过检测脉冲波形,实现精确的角度值或位移测量;具有精度高、泛用性强、体积小、寿命长、抗干扰能力强、可靠性高等优点。被广泛用于雷达、伺服电机、机器人等精密设备中[1]。
本文提出一种应用于激光雷达、可精确测量角度值的基于可编程逻辑门阵列(FPGA)平台的工作,实现了激光雷达中精确的脉冲计数和角度值测量。
1 系统设计方案
光电编码器是一种通过光电转换将输出轴上的几何位移量转换成脉冲或者数字量的传感器。常见的光电编码器由光栅盘、发光元件和光敏元件组成。光栅实际上是一个刻有规则透光和不透光线条的圆盘,光敏元件接收光的通量随透光线条同步变化,光敏元件输出波形经整形后,变为脉冲信号。光栅盘转动输出脉冲,根据脉冲的变化,可以精确的测量和控制位移量[2]。
由于本增量编码器需要旋转并不断的采集输出角度值,为了防止错误累计,本次研究选用的三通道式增量式编码器。三通道增量编码器的三个通道分别为A相、B相和Z相;当电机正向旋转时,A相比B相超前90°,当电机反向旋转时,A相比B相滞后90°,当电机旋转一周后,Z相拉高,防止误差累计。正常情况下三通道增量编码器的正转和反转输出波形如下图所示。
基于FPGA技术的增量电机编码器系统,采用Xilinx公司的A7系列的xc7a100tfgg484-2作为主控芯片,完成对增量编码器的输出信号采集、辨相、计数、传输功能。
激光扫描雷达工作时,电机连接激光器,电机转动带着激光器进行360°旋转扫描。电机连接增量编码器,电机旋转时带着增量编码器一起旋转并输出脉冲,每个脉冲周期内完成激光器的发射与回波接收,经过一定的信号处理后得到距离值[3]。扫描一圈联合角度值和距离值即可形成二维点云。本次设计采用的增量编码器为一圈40000个脉冲,测量范围为0~360°,则每个脉冲对应的角度值为0.009°。根据奈奎施特采样定理可知,最小的采样时钟为80KHZ,我们实际的采样时钟为50MHZ,远远满足采样需要。
2 基于FPGA的增量编码器解码设计
增量编码器根据旋转的方向和速度向外发送不同相位、频率的脉冲。当电机正转时,A相比B相超前90°,电机反转时,A相滞后B相90°,Z相信号到来时,脉冲计数清零,防止错误累计。
当AB两相的信号变化如下图,当信号变化为顺时针时,电机正转,编码器累加;当信号逆时针旋转时,电机反转,编码器递减。
3 增量编码器的仿真
编写完verilog代码后,使用Modelsim SE-64 10.7进行仿真。Modelsim是Mentor公司是业内最优秀的HDL语言仿真软件,支持多种语言混合仿真且仿真速度快,是FPGA首选的设计仿真软件。
模拟电机正转时的输入,得到的仿真波形,看到当A超前B的脉冲触发时,边沿被正常检测,cnt计数器正确累加,模拟仿真无误。
模拟电机反转和Z信号脉冲到来时的输入,得到的仿真波形。看到A滞后B的脉冲触发时边沿被正常检测,cnt计数器正确递减。且Z信号脉冲到来时计数器正确清零。模拟仿真无误。
4 结论
本文提出了激光雷达三相增量式编码器的使用方案,并给出了基于FPGA实现的高精度三相增量编码器的实现方法;将由三相增量编码器输出给FPGA的三路信号进行同步并解析,得到了三相式增量电机的旋转输出角度值,可实际运用于激光雷达中激光扫描的角度值测量和输出。实测结果证明:本方法能后准确、快速的实现脉冲计数个角度测量;实现了三相增量编码器的准确、高频输出。
参考文献
[1]乔栋. 高精度绝对式光栅尺测量技术研究[D].中国科学院研究生院(长春光学精密机械与物理研究所),2015.
[2]邱壮彬. 超奈奎斯特干扰消除算法及FPGA实现[D].广东工业大学,2022.DOI:10.27029/d.cnki.ggdgu.2022.000920.
[3]胡春生. 脉冲半导体激光器高速三维成像激光雷达研究[D].国防科学技术大学,2005.

京公网安备 11011302003690号