空间遥感相机的指向控制系统设计

2017-06-27 08:08赵丽婷张晓敏耿振华林喆
单片机与嵌入式系统应用 2017年6期
关键词:指向指令脉冲

赵丽婷,张晓敏,耿振华,林喆

(北京空间机电研究所 相机控制技术研究室,北京 100094)

空间遥感相机的指向控制系统设计

赵丽婷,张晓敏,耿振华,林喆

(北京空间机电研究所 相机控制技术研究室,北京 100094)

设计了一个基于FPGA的指向控制系统,可控制遥感相机镜头快速跟踪角度指令。指向控制系统实现了角度位置控制、转向速度控制和平稳调速等功能。本系统采用步进电机作为角运动执行机构;使用FPGA生成电机控制驱动信号,从而简化了电机控制系统构成,降低了系统成本。指向控制系统因模块化设计可灵活应用于多种场合。

指向控制系统;空间遥感相机;FPGA;步进电机;A54SX72

引 言

空间遥感相机镜头根据多种成像需要,镜头按预先设计好的某类速度轨线作一定角度的转向运动,从而改变不同时间条件下的位置以支持成像需求。空间遥感相机指向机构是相机的一个关键部件,主要功能为实现卫星在轨飞行过程中,在一段固定时间内对地面上某一区域进行精确指向跟踪,并将光线引入镜头内。指向控制系统能够控制指向机构按预设的摆动路线运动,完成预设成像功能。指向系统机械结构如图1所示。

图1 指向系统机械结构

本文介绍了一种基于FPGA的指向控制系统设计,采用步进电机作为转向运动执行机构,使用FPGA作为控制器计算、输出步进电机驱动信号。指向系统满足指向精度±0.04°的要求,系统转角范围达到-35°~+57.5°,步进电机最大运行速度为1 075 pps。

指向系统选用步进电机结合谐波减速器作为转向运动执行机构。步进电机体积小、定位精度高,无旋转量的误差累积,运行频率高,动态特性好,其控制方式简单、可靠。电机的位置控制由脉冲指令的总数决定,而电机运行速度与脉冲频率pps成正比,因此可以依照电机特性,预设计一条角加速度曲线,推算相应的脉冲指令以控制相机镜头运动轨线。

1 指向系统的硬件设计

1.1 硬件系统结构组成

指向控制系统由FPGA控制电路、步进电机驱动电路、步进电机、旋转变压器、旋变解算电路、接口电路及配电电路组成。指向控制系统内部设备与外部设备(上位机)的连接关系如图2所示。

图2 指向控制系统硬件连接图

FPGA通过同步串行总线遥控接口接收上位机总线指令;通过同步串行总线遥测接口接收上位机的总线遥测轮询;FPGA接收旋转变压器解算电路输出的电机实时位置信息,实时测量电机位置;FPGA搭载运动控制算法计算并输出A、B、C、D四相变频驱动信号给电机驱动电路,驱动电机转动;配电电路由上位机输入一次电源,经转换电压后给FPGA和电机驱动电路供电。

1.2 器件选型

FPGA作为步进电机的控制芯片,可实现接收/发送三线遥控指令、接收旋变角度数据信息、解算并输出步进电机脉冲驱动信号、控制电机转向等功能。完成以上功能并不要求FPGA芯片含有大量的可编辑逻辑单元,一般规模的FPGA芯片皆可满足设计要求。本文FPGA选用ACTEL(现被Microsemi收购)公司A54SX72A-1CQ208M型号FPGA,速度等级为-1,门数为72 000,PQFP封装,时钟频率为20 MHz,功耗小于1 W,安全可靠性高。

旋变解算电路使用AD2S80将旋转变压器产生的含有角度位置信息的模拟信号解算、输出为数字信号,等待控制器FPGA读取;角度测量元件选用旋转变压器,该旋变类型为双通道无刷旋变,角度测量误差为≤±40″,极对数为粗机 1对极,精机 16对极。旋转变压器以及解算电路实现了对电机角度位置的测量。

选择功率步进电机型号时,首先要计算机械系统的负载转矩,矩频特性曲线能满足机械负载并有一定的余量,可保证其运行可靠。电机矩频特性如图3所示。

图3 电机矩频特性曲线

在实际工作过程中,首先估算机械负载的负载惯量,同时应使步距角和机械系统匹配,这样可以得到驱动部件所需的脉冲当量。在电机运行时,各种频率下的负载力矩必须在运行矩频特性曲线(见图3(b))的范围内,使电机最高速连续工作频率能满足驱动部件快速移动的需要[4];而在电机启动时,启动频率应该既满足装备要求,又能负担机械负载转矩,使之与步进电机的惯性频率特性相匹配还有一定的余量(见图3(a))。运行频率等同电机运行速度,因而不同启动频率或运行频率下的最大转矩曲线,决定了当前速度可获取的最大加速度,相关算法下文详细阐述。

本文指向系统选用J47BH001型混合式步进电机搭配谐波减速器,其主要技术参数如表1所列。

表1 步进电机的主要技术指标

本文设计的步进电机驱动机构,采用50倍变比的谐波减速器作为减速机构,当步进电机以1.8°的步距角步进时,最大的指向误差为步进电机和目标角度相差的半个步距角,即指向误差为1.8°/50/2=0.018°,满足±0.04°的指向精度要求;步进电机最大运行速度为1 075 pps;传动效率≥65%。

2 步进电机的加减速运动设计

步进电机加速转矩计算公式如式(1)所示:

(1)

(2)

式中f1为加速前频率,f2为加速后频率,ta为加速时间,θS为电机步矩角。

指向机构的转动惯量J=2.8×10-2/K2(kgm2), 其中K=50,为转动轴的减速比。驱动脉冲长度为c1=f/f1,c2=f/f2,其中c1为上一步脉冲计数,c2为下一步脉冲计数,f为FPGA运行频率。

步进电机驱动负载按预计的速度启动,若驱动速度超过电机启动最大脉冲频率600,则不能启动。因此采用缓慢加速减速的驱动方式使速度线性增加。加减速运动的设计步骤为:

① 首先根据图3的启动矩频特性曲线及电机启动速率要求来确定启动频率,指向控制系统设计的步进电机最大运行速度为1 075pps,等价于电机启动频率为1 075Hz。由图3可知,步进电机无法直接按1 075pps速度起动,本文选定200;

② 参照电机特性参数(负载转矩、转动惯量等)、电机预计最高转速、电机运行最大角度/时间信息和运行矩频特性曲线,规划加速转矩曲线;加速曲线设计在保证技术要求的基础上,电机驱动力矩裕度大于3,本文设计的电机在不同速度下所需的加速度转矩计算结果如图4所示。

图4 电机加减速转矩曲线

③ 然后参照加速转矩曲线使用式(1)、(2)计算电机加速度曲线和速度曲线。本文设计的加减速过程如图5所示。

图5 步进电机加减速时间频率曲线示意图

在指向控制器的各种工作模式中,步进电机每次旋转的角度是随机的。本文为步进电机按照最大运行角度规划出一条加减速曲线,加速过程与减速过程步数一致,频率变化规律一致,加速过程完毕后按当前最大转速继续运行至减速过程。不同运行步数情况下的加减速速度切换都使用图6所示的加减速曲线,不同步数的加减速曲线规划区别在于开始进行减速的步数不同。

图6 加减速切换曲线示意图

3 FPGA软件设计

本文中指向控制系统的软件设计流程如下:首先使用Actel Libero建立工程,采用VHDL语言编写FPGA代码,代码检查无误后使用modelsim进行功能仿真测试,代码通过验证后再使用synplify pro对工程做综合优化、布局布线和时序分析,待生成网表文件和SDF文件后,在modelsim中做带时延的系统后仿真。最后仿真测试过的VHDL代码经过编译后产生配置文件并下载到FPGA中。

FPGA软件工作流程如图7所示,功能如下:FPGA上电后开始工作,初始化、复位操作;禁止电机使能,锁定电机运动;接收上位机三线串行遥控指令;解析指令分析出步进电机角度运动指令;接收旋变解算电路输出的电机实时位置角度信息;与此同时电机实时位置信息和所需运动角度信息输入至电机控制信号计算模块,按规划好的加减速曲线计算实时脉冲,生成步进电机驱动信号,之后输出电机控制驱动信号;给上位机发送实时遥测的角度信息。

图7 FPGA软件工作流程

步进电机在低速时用电流闭环控制,高速时用步矩角反馈控制。控制信号计算流程如图8所示。

图8 控制信号计算流程

FPGA算法如下:

① FPGA定时读取旋变解算电路输出的步进电机实时角度信息angle;定时读取上位机发送的三线指令信息,解析后得知电机所需运行角度信息step;根据angle和step信息计算当前指令步数step2,如下所示:

(3)

其中,step为解析模块输出的电机运行步数指令,angle为电机实时角度位置,θs为电机步矩角,如果步进电机采用四相八拍的控制方式,θs=1.8°/2,K为减速比。

FPGA设计精确到0.02°的带小数位乘法,算法设计思路如下:因角度指令的最大值在1000°以内,使用16位二进制数表示角度信息,其中整数位11位,用补码表示负角度;使用5位表示小数位,精度满足0.02°;步矩角为1.8°,1/1.8°计算值选取0.555 6,即满足精度,选取14位宽度表示步矩角倒数的小数位,精度可达0.000 1;使用quartus中的MegaWizard Plug In Manager生成16位×14位 lpm_mult乘法器元件。

② 计算所需运动方向dir,如下所示:

(4)

③ 假设设计的加速、减速过程分别是N步,计算减速前的总步数step1,如式(5)所示:

(5)

INT表示对数据向下取整。

④ 根据step1和step2计算每一步脉冲驱动信号的计数值:脉冲宽度计数值按加速过程顺序存入ROM中,如图9所示,ROM选用FPGA的LPM库包含的lpm_rom元件。数据宽度为16位,深度取加速过程N步,脉冲宽度计数值的取值地址address宽度为INT[log(2)]。

图9 脉冲宽度计数曲线

脉冲宽度计数值取用算法为:ifnow_step

elsifnow_stepN ,then address <= address;

elsifnow_step>step1 and now_step

elsifnow_step>step2 ,then address <= address;

now_step为当前步数计数值,初始值now_step=0;正确生成一个脉冲数据后,now_step+1;当now_step>step2时,将now_step置零;

⑤ 查找当前状态机状态,对应驱动引脚生成脉冲信号:步进电机采用四相八拍控制方式,运动分正反两方向,正向运动时定子通电顺序为A-AB-B-BC-C-CD-D-DA,对应状态机正向反向顺序的8种状态,对应A/B/C/D四相驱动脉冲输出值为“1000”-“1100”-“0100”-“0110”-“0010”-“0011”-“0001”-“1001”,其中1表示通

电状态,0表示断电状态,初始状态以及终止状态的四相取值为“0000”。FPGA查找当前状态机状态值后,按上一步取出的脉冲宽度计数值计数,输出A/B/C/D四相驱动相应宽度的脉冲。

编写好控制模块相关算法的VHDL代码后,在modelsim中为步进电机控制模块编写testbench,输入跟踪运动角度为1219°,电机跟踪运动经历加速、匀速再减速的过程。控制模块计算得到step1=654,step2=677。步进电机A/B/C/D四相八拍驱动信号的脉冲宽度与预设脉冲宽度曲线一致,如图10所示。

图10 步进电机四相驱动信号

4 指向系统验证结果

搭建好指向控制系统,连接各器件通信回路。A/B/C/D四相驱动信号输出至功率驱动电路驱动步进电机作正反向运动。步进电机对上位机角度指令跟踪情况如图11所示。实验结果表明,系统的控制性能满足设计要求,最大运行速度为1 075 pps,跟踪677°角位置指令,使用时间在0.3 s以内,共行进376步。

图11 电机角度指令跟踪情况

结 语

[1] 贡亚丽,王文明.FPGA在步进电机控制中的应用[J].电子技术, 2009,11(36):11-12.

[2] 坂本正文.步进电机应用技术[M].北京:科学出版社,2010.

[3] 张桂榕,李光灿,潘积文.步进电机脉冲控制信号到频率控制字的转换[J].现代电子技术,2012,35(17):177-179.

[4] 王天云,陈秋菊.基于FPGA的步进电机控制器设计[J].舰船电子对抗,2013,36(2):104-109.

[5] 肖龙,杨佩君,汤恩生.基于软件锁相环的电机速度控制系统[J].航天返回与遥感,2006,27(3):41-46.

赵丽婷(工程师),主要从事遥感相机机电控制、遥感相机图像跟踪处理相关工作。

Tracking and Pointing Control System of Remote Sensing Camera

Zhao Liting,Zhang Xiaomin,Geng Zhenhua,Lin Zhe

(Camera Control Technology Laboratory,Beijing Institute of Space Mechanics and Electricity,Beijing 100094,China)

In the paper,a high-speed tracking and pointing control system of camera is designed based on FPGA.The system can control the remote-sensing camera lens moving accurately and flexibly.The system has the function of control angle position,control speed and stable speed regulation.The step motor is used to be the actuator.The structure of motor control system is simplied through using the FPGA.The modular system can be widely used in various fields.

point control system;remote sensing camera;FPGA;step motor;A54SX72

TP273.5

A

�士然

2017-02-06)

猜你喜欢
指向指令脉冲
脉冲离散Ginzburg-Landau方程组的统计解及其极限行为
科学备考新指向——不等式选讲篇
上下解反向的脉冲微分包含解的存在性
ARINC661显控指令快速验证方法
黄芩苷脉冲片的制备
把准方向盘 握紧指向灯 走好创新路
杀毒软件中指令虚拟机的脆弱性分析
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法
无限时滞―阶脉冲中立型偏泛函微分方程温和解的存在性