APP下载

基于FPGA的三自由度精密激光转台控制系统

2014-09-03叶蔚然孙志斌耿宝明

电子设计工程 2014年11期
关键词:步进电机

叶蔚然,孙志斌,耿宝明

(1.中国科学院 空间科学与应用研究中心 北京 100190;2.中国科学院大学 北京 100049)

基于FPGA的三自由度精密激光转台控制系统

叶蔚然1,2,孙志斌1,耿宝明1,2

(1.中国科学院 空间科学与应用研究中心 北京 100190;2.中国科学院大学 北京 100049)

为了实时监控大型高海拔宇宙线观测站内激光在大气中传输衰减特性,设计一个精密激光转台向站内不同探测器指定方向发射激光脉冲。系统采用Actel FPGA为主控制器,A3977驱动两相混合式步进电机工作,TR绝对值编码器反馈3个方向上的角度数据,实现闭环控制,并将FPGA通过RS422接至本地PC,再接入互联网即可与远程控制端进行通信。最终实现激光转台每个方向均小于0.01°误差的精确定位,且能通过互联网实现远程控制。关键词:FPGA;A3977;激光转台;步进电机;绝对值编码器

高能宇宙射线的观测是天体物理学中新兴的热点话题,宇宙线粒子进入到大气层后,会和大气中的物质相互作用,产生次级粒子群,也就是广延大气簇射现象(Extensive Air Shower,EAS),簇射的粒子数可高达千亿,并散布在数平方公里的面积上[1-2]。因此,在地面上只能通过构建大型的宇宙线探测阵列研究这些簇射粒子群,反演出宇宙线的组成、能量及方向等信息,实现对原初粒子的间接探测。然而,次级粒子在大气中传输会受到大气分子及气溶胶散射衰减,使得宇宙线的重建变得更为复杂。对此,我们要对观测站上空的大气衰减特性进行实时监控,采用精密激光转台,向不同探测器指定方向发射激光,为了使监控实验的顺利进行,特制的激光转台将实现以下功能:

1)转台包括水平、俯仰及角位3个方向,为减小实验重复性误差,精度均小于0.01°;

2)远程控制设定转台方向,及控制激光发射。

1 控制系统工作原理

激光转台的结构如图1所示,主要由底下的水平底座、中间的俯仰台和用来调整光斑形状的角位台组成,要求能够实现包括水平方向0~360°、俯仰方向0~90°、角位方向-45°~45°3个方向连续可调,并能精确定位,重复精度达到0.01°以内。

图1 激光转台结构图Fig.1 Structure of laser turntable

为了达到以上要求,选用Actel FPGA控制芯片,驱动控制转台的3个步进电机工作,并用角度编码器反馈角度信息,实现闭环控制,另外,为了方便监控实验的远程操控,将FPGA通过RS422连到本地PC机,远端PC通过互联网与本地PC通信实现远程控制。根据功能划分,激光转台控制系统,主要分为以下4个部分:中央控制单元、电机驱动单元、角度反馈单元和通信网络单元,如图2所示。

图2 控制系统框图Fig.2 Diagram of control system

2 硬件系统设计

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

图3 系统硬件构成框图Fig.3 Structure of hardware system

2.1 FPGA及配置电路模块

本系统中,FPGA作为控制芯片,其作用至关重要。首先,要给A3977提供控制信号用以驱动步进电机工作;其次,采集绝对值编码器CMV22的角度数据,实现闭环控制;最后,负责和上位机通信,执行上位机的控制命令,并反馈转台的运行状态。

FPGA选用APA600,APA600是ACTEL公司基于Flash工艺的FPGA器件,此系列的FPGA为ACTEL公司的第二代产品,凭借其宇航级品质,此系列FPGA一直应用在我国军工、航天领域,并发挥重大作用,系统门数为60万门,具有126K的内嵌RAM,可以满足本系统的设计要求。FPGA需要I/O电源3.3 V和内核电源1.5 V,均由电源模块提供。

此外,本系统选用频率为16 MHz的外部有源晶振,为FPGA提供时钟,MAX706提供硬件复位信号。

2.2 电机驱动模块

转台的3个方向均采用两相混合式步进电机[3],采用28 V的电压,用FPGA通过Allegro公司的A3977驱动控制电机工作。

A3977是一种用于双极型步进电机的微步进电机驱动集成电路,其内部集成了步进和直接译码接口、正反转控制电路、双H桥驱动,电流输出2.5 A,最大输出功率可接近90 W。由于采用了内置译码器技术,A3977可以很容易的使用最少的控制线对步进电机实施微步进控制[4-5]。由FPGA提供的步进控制信号有步进输入(STEP)、步进模式逻辑输入(MS1,MS2)以及方向控制信号(DIR)以及电机运转使能控制信号(EN),如图4所示。图中A+、A-和B+、B-分别接至步进电机的两路线圈中,通过电流按一定规律变化,就会使电机做出相应的转动。

图4 电机驱动电路原理框图Fig.4 Block diagram of the motor driving circuit

在工作时,EN管脚处于低电平时有效,此时当STEP输入的上升沿到来后,内置译码器将根据步进逻辑的输入值(步进模式见表1)控制H桥的输出,使电机在当前步进模式下产生1次步进。

表1 步进细分控制真值表Tab.1 Microstep resolution truth table

2.3 编码器信号采集模块

本系统中,对于角度的精确度具有极高的要求,我们采用德国TR的多圈绝对值编码器CMV22读取角度信号,绝对编码器具有断电记忆的功能,此编码器单圈分辨率4096,即最小分辨率约为0.087 9°,最多可以读取256圈,再加上转台三个方向减速器机构传动比(俯仰传动比最小1:90,水平转台传动比1:180,角位转台传动比1:352),那么换算过来俯仰、水平、角位的最小分辨率分别为0.000 977°、0.000 488°和0.000 250°。

绝对值编码器输出的脉冲信号采用同步串行接口(Synchronous Serial Interface,简称SSI接口),SSI接口是高精度绝对值角度编码器中一种较常用的接口方式,基于RS422的通信技术,包含一对时钟信号及一对数据输出信号,采用主机主动式读出方式,即在主控者发出的时钟脉冲的控制下,从最高有效位(MSB)开始同步传输,如图5所示。

2.4 RS422通信模块和电源模块

RS422通信模块采用TEXAS INSTRUMENTS公司生产的DS26LV31AT和DS26LV32AT,分别把FPGA发送、接收信号转化成差分信号,通过TXEN和RXEN可以对发送接收使能控制,再将RS422通过转换器转为RS232协议与上位机通信。所需的时钟、使能和输出使能信号均由FPGA提供。

系统电源部分,主要包括28 V、3.3 V和1.5 V。其中28 V为系统直流输入电源,为外部的电机和编码器供电;3.3 V通过DC/DC转化得到,为FPGA供电,并与28 V电源完全隔离;1.5 V由3.3 V通过三端稳压芯片产生,为FPGA内核供电。为了防止前端大功率电路影响到后端的控制和信号传输部分,将28 V电源隔离与后端隔离,28 V采用一次地,3.3 V和1.5 V共用二次地,电路如图7所示。

图5 SSI协议时序图Fig.5 Timing diagram of SSI protocol

图6 RS422电路原理图Fig.6 Schematic of RS422

图7 电源模块电路原理框图Fig.7 Block diagram of the power supply module circuit

3 FPGA逻辑设计

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

3.1 422串行通信

RS422负责与上层工控机通信,接收上位机的控制指令,发送转台的状态参数、工程参数,实现信息互通。RS422异步串行接口的波特率为115.2 kbps,其频率由系统时钟16.384 MHz经过计数器分频得到,数据帧格式由1位起始位、8位数据位、1位校验位(奇校验)和1位停止位构成。

图8 FPGA程序工作流程图Fig.8 Flow chart of FPGA software

串行通信模块可分为发送子模块和接收子模块,均由状态机实现。发送子模块,FPGA按照软件配置的数据包发送间隔,将内部寄存器按地址顺序依次组包发送;接收子模块,首先对输入的数据进行3取2处理,处理后的串行数据按照RS422链路层协议进行串并转换,解析出有效数据的同时完成数据的奇校验,并写入寄存器接口模块。如果校验结果不正确,则错计数寄存器计数,进行错误统计。

3.2 电机闭环控制

该模块负责对3台电机的分时控制,根据配置的参数选择对应电机工作,产生控制电机运行的驱动信号,控制电机以一定速度运转至预定位置。

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

4 实验结果

本系统硬件原理图和PCB均采用Cadence软件绘制,FPGA开发环境为Libero,综合工具为Synplify Pro,仿真工具采用ModelSim。制板、程序调通后,并配合相应的上位机及通过网络连接的远端控制机,测试转台精度是否满足设计要求。

将激光打到距离激光发射器3 m远处的墙上,通过设定转台3个坐标值,并用坐标纸做标记,转台归零重启后,重新打到预先标记的点,定位点基本重合,误差在0.5 mm以内,对于3 m的距离,也就是<0.01°,激光转台控制系统满足设计要求。

5 结 论

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

[1] 孙志斌,黄振,叶蔚然,等.深空,自由空间,非可视散射和水下激光光子通信[J].红外与激光工程,2012,41(9):2424-2431.

SUN Zhi-bin,HUANG Zhen,YE Wei-ran,et al.Overview of the photonic communication in deep space,free space,and underwater communication[J].Infrared and Laser Engineering,2012,41(9):2424-2431.

[2] 曹臻.ARGO-YBJ:丰富多彩的宇宙线观测[J].自然杂志,2012,34(5):284-290.

CAO Zhen.ARGO-YBJ:Fruitful Cosmic Ray Observations [J].Chinese Journal of Nature,2012,34(5):284-290.

[3] 花同.步进电机控制系统设计[J].电子设计工程,2011,19(15):13-15.

HUA tong.Design of stepping motor control system [J].Electronic Design Engineering,2011,19(15):13-15.

[4] 张玉更,王晋.基于 AVR 的 PCB 板雕刻机的设计[J].电子设计工程,2011,19(6):143-145.

ZHANG Yu-geng,WANG Jin.Design of a PCB board engraving machine based on AVR [J].Electronic Design Engineering,2011,19(6):143-145.

[5] 杨旭强,吴红星.电机控制集成电路的选用第二十讲内置译码器的步进电机微步进驱动芯片 A3977[J].微电机,2002(4):14.YANG Xu-qiang,WU Hong-xing.Optional motor control IC(Lecture 20),The built-in decoder micro-stepping stepper motor driver chip7[J].Technical lecture,2002(4):14.

[6] 曾繁泰,陈美金.VHDL 程序设计[M].北京:清华大学出版社,2000.

[7] 葛昀,吴宁.基于FPGA的高精度频率电压转换系统设计实现[J].电子科技,2014(4):112-114,117.

GE Yun,WU Ning.Design and implementation of high precision voltage frequency conversion system based on FPGA[J].Electronic Science and Technology,2014(4):112-114,117.

[8] 陈亮,刘金学.基于DSP和FPGA的导航计算机系统设计[J].现代电子技术,2012(2):1-3,6.

CHEN Liang,LIU Jin-xue.Design of navigation computer system based on DSP and FPGA[J].Modern Electronics Technique,2012(2):1-3,6.

Three freedom degrees precision laser turntable control system based on FPGA

YE Wei-ran1,2,SUN Zhi-bin1,GENG Bao-ming1,2
(1.Center for Space Science and Applied Research,Chinese Academy of Sciences,Beijing 100190,China;2.University of Chinese Academy of Sciences,Beijing 100049,China)

In order to monitor the atmospheric aerosol attenuation of the Large High Altitude Comic Ray Observatory,we design a precision laser turntable to emit laser pulses for various detectors in certain directions.We take Actel FPGA as the main controller for the control system of the turntable,A3977 to drive three two-phase hybrid stepping motors,and TR absolute encoder to collect angle data of three directions.And we implement a closed-loop control.And then,we connect to a local PC via RS422,through which we can control the system anywhere with internet.Eventually,the laser turntable achieve precise positioning less than 0.01 ° error in each direction,and can achieve remote control via the Internet.

FPGA;A3977;laser turntable;stepping motor;absolute encoder

TN99

A

1674-6236(2014)11-0015-04

2014-03-14 稿件编号:201403156

国家自然科学基金(61274024);国家自然科学青年科学基金(40804032)

叶蔚然(1989—),男,浙江建德人,硕士研究生。研究方向:智能检测与控制技术。

猜你喜欢

步进电机
一种可自动伸缩的嵌入式LED灯具设计
步进电机智能控制的设计与实现
工矿机车GK1F、GK1C柴油机调速控制
基于单片机的自动化立体车库控制系统设计
基于单片机的雷达伺服控制系统