基于FPGA的星载步进电机控制电路设计
2017-07-03林方王煜付毅宾陆钒常振邱晓晗
林方,王煜,付毅宾,陆钒,常振,,邱晓晗,
1.中国科学技术大学,合肥 230031 2.中国科学院 安徽光学精密机械研究所,合肥 230031
基于FPGA的星载步进电机控制电路设计
林方1,王煜2,*,付毅宾2,陆钒2,常振1,2,邱晓晗1,2
1.中国科学技术大学,合肥 230031 2.中国科学院 安徽光学精密机械研究所,合肥 230031
针对航天设备在轨运行时间长、不易更换的特点,提出了一种力矩宽且范围可调的步进电机控制电路设计。该电路原理样机以Xilinx公司的XC3S400pq-208型FPGA为核心控制芯片,以LMD18200为步进电机驱动芯片。在对电路总体设计进行介绍的基础上,重点阐述了航天过程中步进电机阻力矩增加的问题,以及通过脉冲频率和PWM控制技术调节输出力矩的方法。试验结果表明,力矩可调范围的最大值能够使力矩裕度达到4,匹配步进电机在轨运行过程中的力矩要求。
航天设备;力矩可调;步进电机控制电路;FPGA;PWM控制技术
步进电机是航天设备上的常用部件,适用于转速要求不高、转距要求不大、间歇性转动的场合,如位置调整机构。在位置调整时,因其具有可施加静止力矩的特点,在转动到位后,无需附加的锁紧机构,即可保持固有位置。
步进电机的基本理论和常用控制方法,如脉冲宽度调制控制方法、加减速控制方法和细分驱动控制方法,在21世纪初就已成熟[1]。近年来,基于FPGA的步进电机控制技术也取得了巨大进步[2]。本设计尝试将FPGA用于星载步进电机的控制上,并基于步进电机的基本控制理论,完成满足航天要求的特殊设计。
步进电机在轨运行的初期,阻力矩较小,小输出力矩就能够维持其正常运转。而步进电机在轨运行的中后期,由于电磁效率的降低和固体润滑剂磨损等因素,维持步进电机正常运转所需的输出力矩会不断增大。但如果在电机入轨初期就将输出力矩固定在一个能够满足步进电机后期正常运转的最大值上是不合理的(原因在第3.4节中详述)。故本文提出了一种输出力矩宽范围可调设计,使步进电机的输出力矩能够在大范围内调节,目的是能够匹配步进电机在轨运行各个时期的输出力矩要求。
除力矩宽范围可调设计外,为了能够使步进电机对光路可能出现的偏移进行在轨调节,加入了半步停止的设计。最后,文中也将简单阐述如何防止空间辐射带来的单粒子翻转效应[3]。
1 工程背景概述
星载差分吸收光谱仪[4](Different Optical Absorption Spectroscopy, DOAS)通过测量天底散射光探测大气成分,是环境检测和大气物理研究中的有效手段。差分吸收光谱仪内部利用步进电机驱动转动部件,以切换光路。本文论述了光谱仪中步进电机控制电路的设计。
星载差分吸收光谱仪内部光路[5]如图1所示。其中,两个步进电机分别驱动光路切换转动部件和漫反射体转动部件。两个转动部件分别有2个和3个位置,组合形成3种不同的光路,分别为太阳光定标光路、地球测量主光路和标准灯测量光路。
光路切换转动部件和漫反射体转动部件结构相似。光路切换转动部件的结构如图2所示。
图2中,步进电机轴连接转盘,用于光路切换的反射镜固定于转盘上,跟随转盘转动。磁钢置于转盘侧面,当磁钢靠近霍尔接近开关时,霍尔接近开关产生霍尔信号并传递到步进电机控制电路,控制电路根据接收到的霍尔信号确定“零位”,再根据所需到达的位置继续转动相应的步数。步进电机单向转动,每次切换位置时首先校准“零位”,以消除失步造成的误差。
2 整体方案
根据设计需求,本设计的整体结构如图3所示。星载CPU通过满足RS-422电平规范的差分串行外设接口(Serial Peripheral Interface,SPI)向控制电路发送命令,驱动电机,并接收控制电路回传的电机状态信息。
控制电路以FPGA作为逻辑控制元件,完成SPI接口的通信功能,产生电机驱动时序,采集电机状态信息。FPGA作为逻辑元件使得整体结构简洁,拓展方便,响应速度快,并且易于产生调节电机驱动电流的PWM波。
电机驱动芯片选用美国国家半导体公司(National Semiconductor)生产的LMD18200芯片[6]。芯片为H桥结构,兼容TTL和CMOS输入,可提供最大3A的持续电流,可通过PWM波占空比调节电机绕组内电流。驱动一个本设计所选用的两相四线步进电机需要两块LMD18200芯片。
试验用电机采用两相四线100齿结构、步距角为0.9°的混合式步进电机。混合式步进电机转子为永磁材料,定子为线圈加软磁体结构,电机一周均匀分布N、S极,通过控制线圈电流,使转子相对定子旋转,每个电流切换周期步进一个齿距。混合式步进电机结合了反应式与永磁式的优点,广泛应用于工业自动化等性能要求较高的场合[7]。
3 设计实施
3.1 通信指令设计
本设计中,星载CPU与FPGA通过SPI总线[8-9]进行通信,通信中使用到两种指令,两种指令同为96位,分别为图4(a)所示的转动指令和图4(b)所示的查询指令。
其中,转动指令控制步进电机转动到指定位置,查询指令查询步进电机状态信息。
转动指令中,“指定位置”表示星载CPU要求电机转动到的位置;“转动电流”和“转动速度”分别调节电机运行时绕组内电流和脉冲频率;“整步停止电流”和“半步停止电流”调节步进电机停止时绕组内电流;“主备切换”负责主板和备用板的切换;“校验字节”由主机向从机发送,为前10字节的亦或值;“应答字节”由从机向主机发送,表示从机是否正确接收了指令。
查询指令中,“电机状态反馈”表示电机转动或停止;“电机位置反馈”表示电机当前所处的位置;“绕组电流反馈”表示当前绕组内的电流大小。“芯片过热标识”和“无法停止标识”分别表示电机的驱动芯片过热和电机无法停止,是步进电机控制电路的自动应急措施[10-11]。芯片过热标识通常在电机堵转、电流过大时将第0位置1;无法停止标识通常在电机堵转或霍尔接近开关失效时将第0位置1。
3.2 FPGA结构
FPGA内部结构如图5所示,其中Communication模块负责实现SPI通信功能,Control模块负责单个电机的控制,通用性强,易于拓展。
FPGA设计中,不使用状态机,仅使用计数器实现功能。这种设计方式一定程度上避免了空间辐射造成的FPGA中单粒子翻转的影响。
3.3 电路运行过程
本设计在FPGA中设置了16位的“当前位置”内部寄存器。电路接收到星载CPU的指令后,运行过程如图6所示。
FPGA在接收到星载CPU指令后,首先判断指令类型。若为“查询指令”,则将相应的电机状态信息返回星载CPU;若为“转动指令”,首先判断“指定位置”字节与“当前位置”寄存器的值是否相等。若相等,表示电机正处于要求位置,无需转动;若不相等,产生驱动时序,电机开始转动。若FPGA输出了能够转动4圈的驱动时序,但仍未接收到霍尔信号,表示电机出现问题,此时电机停止,将“无法停止标识”置1,并等待地面处理;若接收到霍尔信号,表示电机运转正常,在转动到“指定位置”时停止,等待星载CPU的下一条指令。
3.4 力矩可调设计
电机驱动电路采用力矩宽范围可调设计,本节将阐述采用该设计的原因和实现该设计的方法。
(1)输出力矩
步进电机的输出力矩与脉冲频率、绕组内电流有关。
图7中,曲线3电流最大,曲线1电流最小。如图所示,相同条件下,步进电机的输出力矩与脉冲频率成反比,与绕组内电流成正比[12]。
特别地,图8为步进电机矩频特性曲线[13],当步进电机由静止起动时,输出力矩需要至少达到起动力矩。当其他条件(绕组内电流、负载、驱动形式)固定时,电机能够起动的最大频率称为“最大起动频率”,电机能够运行的最大频率称为“最大运行频率”。
综上所述,增大电机输出力矩,需要减小脉冲频率(减慢电机转速)或增大绕组内电流。而减小脉冲频率会导致电机的振动增大,加剧电机磨损;增大绕组内电流会导致产生的热量增加,使得电机温度和散热系统温度升高,加剧二者的磨损。力矩宽范围可调设计可以在步进电机在轨运行的初期,采用小力矩的驱动方式,而在后期根据需要逐渐增加力矩。
(2)时序设计
本设计使用两相四线步进电机,采用半步8拍的驱动方式,驱动时序如图9所示。其中,A、A′、B、B′分别表示电机的4线,A与A′控制电机的一相(绕组1),B与B′控制电机的另一相(绕组2)。当A为1(逻辑高电平),A′为0(逻辑低电平)时,电流由A流向A′;当A′为1,A为0时,电流由A′流向A;当A与A′同为0时,绕组内无电流。8拍的驱动方式为:A′B′-B′-AB′-A-AB-B-A′B-A′,其中,步进电机每拍转动0.45°。
设计通过控制驱动时序每拍的时间,以控制步进电机的转动速度。
(3)电流调节
利用LMD18200芯片,能够通过PWM波占空比对步进电机绕组内电流进行调节[14]。
通常,PWM波的周期固定,占空比能够根据需求调节。如图10所示,T为PWM波的周期,t/T为PWM波的占空比。
绕组两端的实际电压如图11所示。其中,A与A′都为逻辑低电平时,绕组两端电压为0,绕组中无电流;A与A′分别为PWM波和逻辑高电平时,因为PWM波一端平均电压较小,电流由高电平一端流向PWM波一端。
LMD18200芯片内存在反向器,输入芯片的PWM波占空比越大,芯片在绕组一端施加的PWM波占空比越小。随着绕组一端占空比的减小,绕组电压增大,绕组内电流增大。
利用PWM波控制绕组内电流可以有效降低步进电机功耗。电机转动过程中,绕组内电流产生的磁场随时间变化,在绕组内产生感应电动势[15]。感应电动势公式如下:
(1)
式中:u为感应电动势;L为电感系数;i为电流;t为时间。感应电动势方向通常与实际电压方向相反,能有效防止电机绕组内电流过大,降低步进电机功耗。
图12大图为绕组内电流在电机转动过程中的变化趋势,小图为波形上一点放大后,绕组内电流和绕组一端PWM波的对比。如图所示,绕组内电流随PWM波呈锯齿状变化。根据式(1),相对于稳定电压的驱动方式,PWM波的驱动方式将产生更大的反向感应电动势,能更有效地减小电机功耗。
(4)力矩裕度
为衡量步进电机能否在入轨中后期依然正常运行,引入力矩裕度的概念。根据欧洲空间标准化组织提供的转动机构标准[16-17],电机力矩裕度公式为:
(2)
式中:ηM为电机力矩裕度;T为电机输出力矩大小;Tβ为电机轴承摩擦力矩大小;Tα为电机启动惯性力矩大小。
电机在轨运行的中后期,为了维持电机的正常运转,输出力矩需不断增加,电机长期运行后的力矩裕度为:
(3)
式中:τ、β、ρ、γ、δ、ε、ξ均为导致力矩裕度下降的因子,τ为电压因子,β为输出力矩的温度因子,ρ为磁性强度因子,γ为电机轴承系数、δ为摩擦力矩的温度因子,ε为润滑因子,ξ为机械加工离散性因子。
航天应用中,要求步进电机的力矩裕度在3~7之间,以满足步进电机在轨长期运行的要求。
3.5 位置调整
每次切换光路,步进电机转动到星载CPU要求的指定位置,这个位置是发射前在地面装配时确定的。但是设备在轨运行一段时间后,可能需要对指定位置进行微调。
在调整过程中,根据回传图像,在原指定位置前后调节,以确定新的最佳位置。在调节过程中,步距角越小,调节越精确。本设计在整步停止的基础上,加入半步停止机制,进一步缩小了步距角。
图13以4齿步进电机为例,展示了步进电机的整步停止和半步停止。步进电机在整步停止时,如图13(a)所示,定子的软磁材料和转子的永磁材料之间,存在一个磁力矩(静止力矩),使它们的相对位置保持在磁间隙最小的状态;步进电机半步停止时,如图13(b)所示,转子保持在磁间隙最大的位置。半步停止时,绕组需外加电流克服永磁材料的磁力矩,使电磁力矩和永磁力矩达到平衡。此时的电流,称为半步停止电流,同样通过PWM波的占空比调节,可在“转动指令”中通过“半步停止电流”字节进行设置。半步停止电流越大,定位力矩越大,但同时产生的热量也越大。
3.6 预研样机
在本设计中,硬件逻辑设计由Verilog HDL语言实现,测试中使用Xilinx公司的Spartan3系列XC3S400pq-208型FPGA,综合后FPGA中的资源占用情况如表1所示。
表1 FPGA资源占用情况
硬件电路设计为单板4层结构,使用Cadence设计原理图,Altium Designer设计PCB图,电路板实物如图14所示。左边的接线端子为驱动时序的输出和霍尔信号的输入,4片相同芯片为LMD18200电机驱动芯片,中央芯片为FPGA,右下角的接线端子和芯片构成了差分SPI接口。
本设计还构建了上位机软件,上位机软件用于在实验室测试中模拟星载CPU,实现同步串行通信功能。上位机使用WPF(Windows Presentation Foundation)用户界面框架及C#语言编写。
4 结果分析
4.1 试验设备
力矩测试的试验设备如图15所示。步进电机放置在试验平台上,通过上位机和测试电路向步进电机控制电路发送命令以改变电机的绕组电流和转动速度,绕组内电流通过电流示波器监视。电机轴连接半径已知的特制模具,模具连接砝码,测量力矩。当砝码悬挂点稳定在电机轴所在的水平面时,通过砝码质量计算出的输出力矩,即为当前速度和电流所能够产生的输出力矩。
测量精度的装置与图2相似。
4.2 力矩调节
测试中,无负载状态下,电机脉冲频率大于1 250 Hz(转速大于0.64 s/圈)时,电机无法正常启动;电机脉冲频率小于312.5 Hz(转速小于2.56 s/圈)时,电机产生明显振动。本设计中,初始脉冲频率设置为1 000 Hz(0.8 s/圈)。
PWM周期为3.2 μs。初始频率下,电机每步包含312.5个PWM周期,当占空比达到25%时电机可正常运转。
初始脉冲频率下,PWM波占空比、电机绕组内电流和电机输出力矩关系如图16所示。其中,图16(a)展示了占空比的变化导致电流变化,图16(b)展示了电流的变化导致了输出力矩的变化。
具体的试验数据显示,初始频率下,占空比每增加3.125%,电流增加0.01~0.04 A,输出力矩范围为从0.013~0.102 N·m。
当电流调节无法产生足够的输出力矩时,再进行速度调节。
本设计在PWM波占空比为100%,脉冲频率为800 Hz时,力矩裕度可达到4,由于速度还有大量的可调节空间,故有足够的力矩余量,满足航天设计的要求。
由本节叙述可知,步进电机驱动电路所能调节的输出力矩范围能够匹配步进电机从入轨初期到末期的输出力矩要求。
4.3 运行精度
转动部件要求转动到的3个位置分别为70.2°、87.3°和154.8°,要求的控制精度为±0.9°,本设计可达到的控制精度为±0.45°,满足设计要求。
初始速度下(0.8 s/圈),磁钢和霍尔接近开关距离为1 mm时,霍尔接近开关的测量精度为单方向0.225°,小于0.45°,故系统零位稳定,符合设计要求。
5 结束语
本设计通过绕组内电流和脉冲频率,实现了宽范围在轨调节步进电机输出力矩的功能。基于此功能,一颗8~10年的长寿命卫星,可以在入轨初期采用小电流高速度的小力矩驱动方式,减少对结构的磨损。
而在入轨中后期,随着阻力矩变大,长寿命卫星通常需要在运行的中期和后期分别进行一次调整。在调整时,首选增加电流,当增加电流无法满足输出力矩的需要时,再降低速度。这种设计,能够有效延长电机寿命,同时给使用者最大的调节空间。
该设计的接口,通用性强,功能齐备,覆盖了星载设备要求的功能和性能指标,可作为通用设计在今后多种场合使用。
目前,该设计已完成预研样机,还需完成如下后续工作:
1)器件等级提升。在原理样机和工程样机中,拟采用军级、航天级器件,为抵抗空间辐射[18],防止单粒子翻转[19-20](Single Event Upset, SEU),FPGA拟采用反熔丝型FPGA。
2)主备板切换电路设计。原理样机阶段,拟设计为主备板结构。即设计两套相同电路并通过切换机构进行切换。
3)可靠性设计。根据航天工艺,加入可靠性设计。例如电阻电容的降额使用。
References)
[1] 俞小露.航天光学遥感器步进电机控制与实现[D].长春:中国科学院研究生院(长春光学精密机械与物理研究所),2012.
[2] LE N Q,JEON J W. An open-loop stepper motor driver based on FPGA[C]∥International Conference on Control,Automation and Systems. IEEE,2007:1322-1326.
[3] 赵源,徐立新,赵琦,等.抗辐射模拟CMOS集成电路研究与设计[J]. 中国空间科学技术,2013,33(3):72-76.
ZHAO Y,XU L X,ZHAO Q,et al.Research and design of anti-radiation of analog CMOS integrated circuits[J].Chinese Space Science and Technology,2013,33(3):72-76(in Chinese).
[4] 王煜,陆亦怀,赵欣,等,星载差分吸收光谱仪CCD成像电路的设计及实施[J].激光与红外,2015(6): 663-668.
WANG Y,LU Y H,ZHAO X,et al.Design and implementation of CCD imaging circuit for satellite-borne DOAS spectrometer[J].Laser & Infrared,2015(6):663-668(in Chinese).
[5] 柯蒋红,司福祺,付毅宾,等.星载差分吸收光谱仪转动部件测试系统设计[J].大气与环境光学学报,2016,11(2):103-110.
KE J H,SI F Q,FU Y B, et al.Design of drive of rotating parts of space-borne spectrometer[J].Journal of Atmospheric and Environment Optics,2016,11(2):103-110(in Chinese).
[6] REGAN T.A DMOS 3A,55V,H-bridge:the LMD18200[OL].1999[2016-10].http:∥oap.sourceforge.net/datasheets/AN-694.pdf.
[7] 陈志聪.步进电机驱动控制技术及其应用设计研究[D].厦门:厦门大学,2008.
[8] LEENS F.An introduction to I2C and SPI procotols[J].IEEE Instrumentation & Measurement Magazine,2009,12(1):8-13.
[9] SIMON S.SPI master core specification[OL].[2016-10].http:∥www.opencores.org.
[10] 张宜静,吴斌,李志忠,等.航天应急故障操作程序复杂度度量方法研究[J].宇航学报,2009,30(3):1225-1230.
ZHANG Y J,WU B,LI Z Z,et al.Operation complexity measure of emergency failure operation procedure in spaceflight[J].Journal of Astronautics,2009,30(3):1225-1230(in Chinese).
[11] 陈志明,刘海颖,叶伟松. “天巡一号”微小卫星星务故障管理设计[J]. 中国空间科学技术,2014,34(4):79-83.
LIU Z M,LIU H Y,YE W S.Fault management design of NHTX-1 SAT service system[J].Chinese Space Science and Technology,2014,34(4):79-83(in Chinese).
[12] 周黎,杨世洪,高晓东.步进电机控制系统建模及运行曲线仿真[J].电机与控制学报,2011,15(01):20-25.
ZHOU L,YANG S H,GAO X D.Modeling of stepper motor control system and running curve simulation[J].Electric Machines and Control,2011,15(1):20-25(in Chinese).
[13] 刘宝志.步进电机的精确控制方法研究[D].济南:山东大学,2010.
[14] 徐杜,蒋永平,周韶勇,等.全数字式步进电机连续细分方法与实现[J].电机与控制学报,1998,18(4):20-25.
XU D,JIANG Y P,ZHOU S Y,et al.Method and implementation of fully digitized continuous microstep for step motor[J].Electric Machines and Control,1998,18(4):20-25(in Chinese).
[15] 邱关源,罗先觉.电路[M].北京:高等教育出版社,2006:126-136.
[16] ECSS-E-ST-33-01C,欧洲航天标准化合作组织标准[S/OL].(2009-03-06)[2016-10].http:∥www.ecss.nl.
[17] 郑列华,尹达一,冯鑫.K镜消像旋机构在海洋卫星水色仪中的应用[J].红外技术,2007(1):17-21.
ZHENG L H,YIN D Y,FENG X.Application for offseting image rotation “K Mirror” in COCTS[J].Infrared Technology,2007(1):17-21.
[18] 冯彦君,华更新,刘淑芬.航天电子抗辐射研究综述[J].宇航学报,2007,28(5):1071-1080.
FENG Y J,HUA G X,LIU S F.Radiation hardness for space electronics[J].Journal of Astronautics,2007,28(5):1071-1080(in Chinese).
[19] BINDER D,SMITH E C,HOLMAN A B.Satellite anomalies from galactic cosmic rays[J].IEEE Transactions on Nuclear Science,1975,22(6):2675-2680.
[20] NEMATOLLAH BIDOKHTI.SEU concept to reality (allocation, prediction,mitigation)[C]∥Proceedings of Reliability and Maintainability Symposium(RAMS),2010:l-5.
(编辑:高珍)
Design of stepper motor control circuit for satellite based on FPGA
LIN Fang1,WANG Yu2,*,FU Yibin2,LU Fan2,CHANG Zhen1,2,QIU Xiaohan1,2
1.UniversityofScienceandTechnologyofChina,Hefei230031,China2.AnhuiInstituteofOpticsandFineMechanics,ChineseAcademyofScience,Hefei230031,China
A design of a circuit controlling stepper motors in a wide range of moment for special characteristics of long in-orbit operation and the difficulty to replace in space equipments was proposed. This design utilizes FPGA,Xilinx chip XC3S400-208, as the core control chip and LMD18200 as the driving chip of stepper motors. On the basis of a description of the circuit, the problem of the increase of resistance moment and the solutions of output moment adjustment in space equipments by PWM control and impulse frequency were discussed.Tests verified that the design′s maximum value of output moment in range makes moment margin reach 4 and the range of adjusting matches the requests of space equipments.
space equipments; adjustable moment; a circuit controlling stepper motors; FPGA; PWM control
10.16708/j.cnki.1000-758X.2017.0022
2016-11-09;
2016-11-30;录用日期:2017-01-24;网络出版时间:2017-05-31 14:13:19
http:∥kns.cnki.net/kcms/detail/11.1859.V.20170531.1413.012.html
国家自然科学基金(41275037),安徽省自然科学基金(1408085MKL49)
林方(1992-),男,硕士研究生,flin@aiofm.ac.cn,研究方向为电子学开发、电机控制等
*通讯作者:王煜(1970-),男,博士,研究员,yuwang@aiofm.ac.cn,研究方向为电子学开发、光电信息获取、CCD成像光谱仪等
林方,王煜,付毅宾,等.基于FPGA的星载步进电机控制电路设计[J].中国空间科学技术,2017,37(3):77-85.
LINF,WANGY,FUYB,etal.DesignofsteppermotorcontrolcircuitforsatellitebasedonFPGA[J].ChineseSpaceScienceandTechnology, 2017,37(3):77-85(inChinese).
TM 351
A
http:∥zgkj.cast.cn