美章网 资料文库 基于FPGA的激光转台控制系统范文

基于FPGA的激光转台控制系统范文

本站小编为你精心准备了基于FPGA的激光转台控制系统参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

基于FPGA的激光转台控制系统

《电子设计工程杂志》2014年第十一期

1硬件系统设计

根据功能要求,硬件系统包括以下几个模块:FPGA及配置电路模块、电机驱动模块、编码器信号采集模块、RS422通信模块以及电源模块。

1.1FPGA及配置电路模块本系统中,FPGA作为控制芯片,其作用至关重要。首先,要给A3977提供控制信号用以驱动步进电机工作;其次,采集绝对值编码器CMV22的角度数据,实现闭环控制;最后,负责和上位机通信,执行上位机的控制命令,并反馈转台的运行状态。FPGA选用APA600,APA600是ACTEL公司基于Flash工艺的fpga器件,此系列的FPGA为ACTEL公司的第二代产品,凭借其宇航级品质,此系列FPGA一直应用在我国军工、航天领域,并发挥重大作用,系统门数为60万门,具有126K的内嵌RAM,可以满足本系统的设计要求。FPGA需要I/O电源3.3V和内核电源1.5V,均由电源模块提供。此外,本系统选用频率为16MHz的外部有源晶振,为FPGA提供时钟,MAX706提供硬件复位信号。

1.2电机驱动模块转台的3个方向均采用两相混合式步进电机[3],采用28V的电压,用FPGA通过Allegro公司的A3977驱动控制电机工作。A3977是一种用于双极型步进电机的微步进电机驱动集成电路,其内部集成了步进和直接译码接口、正反转控制电路、双H桥驱动,电流输出2.5A,最大输出功率可接近90W。由于采用了内置译码器技术,A3977可以很容易的使用最少的控制线对步进电机实施微步进控制[4-5]。由FPGA提供的步进控制信号有步进输入(STEP)、步进模式逻辑输入(MS1,MS2)以及方向控制信号(DIR)以及电机运转使能控制信号(EN),如图4所示。图中A+、A-和B+、B-分别接至步进电机的两路线圈中,通过电流按一定规律变化,就会使电机做出相应的转动。在工作时,EN管脚处于低电平时有效,此时当STEP输入的上升沿到来后,内置译码器将根据步进逻辑的输入值(步进模式见表1)控制H桥的输出,使电机在当前步进模式下产生1次步进。

1.3编码器信号采集模块本系统中,对于角度的精确度具有极高的要求,我们采用德国TR的多圈绝对值编码器CMV22读取角度信号,绝对编码器具有断电记忆的功能,此编码器单圈分辨率4096,即最小分辨率约为0.0879°,最多可以读取256圈,再加上转台三个方向减速器机构传动比(俯仰传动比最小1:90,水平转台传动比1:180,角位转台传动比1:352),那么换算过来俯仰、水平、角位的最小分辨率分别为0.000977°、0.000488°和0.000250°。绝对值编码器输出的脉冲信号采用同步串行接口(SynchronousSerialInterface,简称SSI接口),SSI接口是高精度绝对值角度编码器中一种较常用的接口方式,基于RS422的通信技术,包含一对时钟信号及一对数据输出信号,采用主机主动式读出方式,即在主控者发出的时钟脉冲的控制下,从最高有效位(MSB)开始同步传输,如图5所示。

1.4RS422通信模块和电源模块RS422通信模块采用TEXASINSTRUMENTS公司生产的DS26LV31AT和DS26LV32AT,分别把FPGA发送、接收信号转化成差分信号,通过TXEN和RXEN可以对发送接收使能控制,再将RS422通过转换器转为RS232协议与上位机通信。所需的时钟、使能和输出使能信号均由FPGA提供。系统电源部分,主要包括28V、3.3V和1.5V。其中28V为系统直流输入电源,为外部的电机和编码器供电;3.3V通过DC/DC转化得到,为FPGA供电,并与28V电源完全隔离;1.5V由3.3V通过三端稳压芯片产生,为FPGA内核供电。为了防止前端大功率电路影响到后端的控制和信号传输部分,将28V电源隔离与后端隔离,28V采用一次地,3.3V和1.5V共用二次地,电路如图7所示。

2FPGA逻辑设计

本系统的FPGA程序使用硬件描述语言VerilogHDL编写,FPGA程序工作流程图如下图所示。转台的3个方向依次运动到设定的位置,当达到指定位置时电机停止,然后转动下一个方向的电机直到转台的3个方向设定完毕,然后就可控制发射激光打向预定的位置。当监控实验结束后,转台用相同的方法,回转到初始位置。FPGA的功能模块主要包括422串行通信和电机闭环控制。

2.1422串行通信RS422负责与上层工控机通信,接收上位机的控制指令,发送转台的状态参数、工程参数,实现信息互通。RS422异步串行接口的波特率为115.2kbps,其频率由系统时钟16.384MHz经过计数器分频得到,数据帧格式由1位起始位、8位数据位、1位校验位(奇校验)和1位停止位构成。串行通信模块可分为发送子模块和接收子模块,均由状态机实现。发送子模块,FPGA按照软件配置的数据包发送间隔,将内部寄存器按地址顺序依次组包发送;接收子模块,首先对输入的数据进行3取2处理,处理后的串行数据按照RS422链路层协议进行串并转换,解析出有效数据的同时完成数据的奇校验,并写入寄存器接口模块。如果校验结果不正确,则错计数寄存器计数,进行错误统计。

2.2电机闭环控制该模块负责对3台电机的分时控制,根据配置的参数选择对应电机工作,产生控制电机运行的驱动信号,控制电机以一定速度运转至预定位置。为了保证转台控制系统的功率不至于太高,控制的3台电机使能信号互斥,通过使能信号依次选择启动某一个电机运转,结束一次运行过程后,再切换至下一个电机。通用驱动控制FPGA根据上位机设定的角度预先配置电机闭环行程设置寄存器,电机开始运行,当电机闭环行程输出寄存器与闭环行程设置寄存器一致时,则表示本次设置的转动结束,反馈电机运行状态标志位。

3实验结果

本系统硬件原理图和PCB均采用Cadence软件绘制,FPGA开发环境为Libero,综合工具为SynplifyPro,仿真工具采用ModelSim。制板、程序调通后,并配合相应的上位机及通过网络连接的远端控制机,测试转台精度是否满足设计要求。将激光打到距离激光发射器3m远处的墙上,通过设定转台3个坐标值,并用坐标纸做标记,转台归零重启后,重新打到预先标记的点,定位点基本重合,误差在0.5mm以内,对于3m的距离,也就是<0.01°,激光转台控制系统满足设计要求。

4结论

文中设计了一种基于FPGA和A3977的精密激光转台控制系统,能够很好地满足高海拔宇宙线观测站的恶劣环境,具有非常高的转台定位精度,为观测站多个探测器监控大气状况实验时,提供了非常可靠、重复性误差极小的稳定光源,为大气监控提供保障,从而大大提高了宇宙射线信息重建的准确性。

作者:叶蔚然孙志斌耿宝明单位:中国科学院空间科学与应用研究中心中国科学院大学