云南天文台太阳色球望远镜电控系统的改造*

2013-12-18 00:51陈伟民朱庆生周小军
天文研究与技术 2013年4期
关键词:望远镜单片机太阳

陶 知,陈伟民,朱庆生,周小军,程 钟

(1. 中国科学院大学,北京 100049;2. 中国科学院南京天文仪器研制中心,江苏 南京 210042;3. 南京中科天文仪器有限公司,江苏 南京 210042)

云南天文台太阳色球望远镜电控系统的改造*

陶 知1,2,陈伟民2,3,朱庆生2,3,周小军2,3,程 钟3

(1. 中国科学院大学,北京 100049;2. 中国科学院南京天文仪器研制中心,江苏 南京 210042;3. 南京中科天文仪器有限公司,江苏 南京 210042)

用数字信号处理器(Digital Signal Processors, DSP)控制云南天文台太阳色球望远镜赤经轴、赤纬轴及镜盖的步进电机,并处理手控盒、编码器、零点、限位等信号,高速端升降速平滑,避免了电机失步现象,低速端速度细分精度高,可实现对太阳的长时间较高精度跟踪。使用STC5204AD单片机与数字信号处理器通信,实现编码器计数值及系统状态的断电记忆功能。对数字信号处理器与单片机控制伺服系统进行了比较,证明数字信号处理器系统的性能更为优越。

太阳望远镜;数字信号处理器DSP;伺服系统

伺服系统的主要任务是按控制命令的要求,对功率进行放大、变换与调控等处理,使驱动装置输出的力矩、速度和位置控制的非常灵活方便[1]。在太阳望远镜伺服系统中运用DSP2812实现对望远镜转速与位置的控制,能够较好实现对太阳的自动指向与自动跟踪。同时运用STC5204AD单片机内部的EEPROM模块实现记忆功能,在断电瞬间保存编码器的计数值,下次使用不必重新过零,提高了易用性。

1 系统设计

数字信号处理器自20世纪80年代诞生至今得到了飞速发展,成为目前最有发展潜力的技术、产业和市场之一。TMS320C/F2812是TI公司主要针对工业控制推出的C2000系列中应用最为广泛的一款数字信号处理器,也是当今世界上最先进的32位定点数字信号处理器芯片。它不但运行速度高,处理功能强大,还具有丰富的片内外围设备,便于接口和模块化设计,性价比极高。

DSP2812拥有EVA、EVB两个事件管理器和配套的16通道12位AD数据采集,使其在电机控制上得心应手。再加上丰富的外设接口,如CAN、SCI等,在工控领域占有重要地位[2]。本设计就是应用这些优点在其与外围电路的共同作用下实现对太阳望远镜系统的控制。

本设计的目标是完成对云南天文台太阳色球望远镜的改造。该望远镜从出厂至今已近50年,赤经轴为齿轮传动,赤纬轴为丝杆传动,赤经轴采用的是110双出轴步进电机——110BY250A,速比为2130,赤纬轴采用的是86双出轴步进电机——34HS300B,速比为800。镜盖采用的是42步进电机,速比为30。由于原来的望远镜控制系统老旧,精度不高,误差大,功能单一,故本次改造中运用数字信号处理器设计一套新的望远镜控制系统,赤经赤纬两轴均配置1200线编码器,完成对太阳的跟踪及指向。

太阳望远镜控制系统采用微机与数字信号处理器两级控制方式,数字信号处理器控制赤经轴赤纬轴和镜盖的运动,及处理手控盒操作反馈,编码器数据采集,零点和限位等信号的检测。计算机计算太阳的位置,对太阳进行指向、跟踪,处理误差信号等。微机与数字信号处理器之间用串口进行通讯,用数字信号处理器的串口a连接计算机,同时用串口b与单片机(即记忆电路)进行通信。

系统的整体设计框图如图1,具体软件流程图如图2。

图1 系统设计框图
Fig.1 Designed block diagram of the control system

同时,在记忆电路部分,数字信号处理器通过串口b不断地将当前望远镜的位置状态发送给STC5204单片机,单片机将数据存储到内部的RAM中。当数字信号处理器检测到电压下降时,单片机将最后一次接收的数据存储到内部的EEPROM中。下次上电时,单片机将保存的数据通过串口b发送给数字信号处理器,数字信号处理器接收完数据后再开始执行其他命令。这样便实现了系统的记忆功能。

2 赤经赤纬轴伺服控制的实现

望远镜的跟踪与指向最重要的就是赤经轴及赤纬轴的运动,有快、慢、微、恒四档速度,其中快动为1°/s,慢动为4′/s。太阳望远镜恒动时赤经轴的速度虽微有变化,但仍然接近15″/s,故恒动速度仍定为15″/s[3],正向微动比恒动快5″/s,即20″/s,反向微动比恒动慢5″/s,即10″/s,但方向仍为正转,保证跟踪过程中齿轮始终紧贴一个面,避免齿隙误差。赤纬轴微动速度±8″/s。

要想使赤经赤纬轴运动,须给电机驱动器适当的脉冲。本系统使用数字信号处理器的PWM模块产生脉冲控制步进电机运动。

图2 软件设计流程图

Fig.2 Designed flowchart of the software for telescope control

2.1 PWM波形的设计

PWM波形的设计中,赤经轴采用定时器T1,赤纬采用定时器T3。将两个定时器设置为模式2——连续增模式,即将定时器T1的控制寄存器T1CON的TMODE1和TMODE0设置为10。通过各自每一档的速度选取合适的输入时钟预定标因子P,保证每一档速度的定时器周期寄存器T1PR/T3PR值在允许范围内。占空比设为50%,方便定时器比较寄存器T1CMPR/T3CMPR计数[4]。

设望远镜要达到的速度为m°/s,电机速比为n,电机为10细分。则电机的频率为:

(1)

其中1.8°为电机步进角。则可算出赤经轴每档速度的频率如表1。

表1 赤经轴的频率Table 1 Frequencies of the rotations of the right-ascension axis in various speed modes

当T1CNT的计数方式为连续增计数时,T1PWM引脚输出不对称的PWM波形。当T1CNT的值计数到和T1CMPR的值相等时,发生比较匹配事件。如果T1CON的第1位定时器比较使能位TECMPR为1,即定时器比较操作被使能,且GPTCONA的第6位比较输出使能位TCMPOE为1,同时GPTCONA下的T1PIN引脚输出极性为高电平或者低电平的话,T1PWM就会输出不对称的PWM波形,如图3。

图3 T1产生非对称的PWM波形
Fig.3 Asymmetric PWM waveform generated to control step motors

此时的频率为:

(2)

本设计中高速时钟HSPCLK为75×106Hz,定时器T1的预定标因子P设为6,再根据速度可得每档速度的T1PR。为方便计算,本设计PWM的占空比设为50%,这样T1CMPR的值刚好为T1PR的一半。T3PR/T3CMPR同理可得。

2.2 快动升降速的设计

望远镜快速时,电机频率达11×103Hz以上。若瞬间将速度由0 Hz升至11×103Hz,由于力矩不足必将导致电机失步,破坏系统的稳定性。为保证电机更好的性能,需要用升降速来实现快动。由步进电机的动态特性知,理想的升速曲线一般为指数曲线,在数字化系统中,一般是通过设置n档速度的台阶,使其尽可能符合指数曲线规律,如图4、5[5]。

由曲线可以看出,其斜率是由大变小的,又由于斜率k的计算方法为:

(3)

所以,在使Δf逐渐变小的同时,还要保证Δt不变,即每档频率的持续时间不变,这样才能达到斜率k逐渐变小的目的。

本设计运用指数函数计算每一档的频率:

f=fmax(1-e-at)(Hz)

(4)

图4 理想曲线Fig.4 Ideal curve of increasing the step-motor frequency

图5 实际曲线Fig.5 Actual curve of increasing the step-motor frequency

式中,fmax为最大频率11 833.3 Hz;a为参数。设计目标中升(降)速过程为2.5 s,若参数a为1,将t=2.5 s代入式中得到f约为11 000 Hz,基本达到最大频率,故为方便计算,将a取为1。本设计取了100个台阶,将时间2.5 s均分100档,每一档代入(4)式,得到每一档的频率f,然后代入(2)式得到每档频率的T1PR和T1CMPR。若其中某几档的频率相差不大,则可合并。同时定义两个数组,将T1PR和T1CMPR的值放入其中,程序中依次调用。

在实际使用过程中,往往在选择快动后,在升速的台阶未全部走完便发现到达预定位置,不必走完剩下的升速台阶了,这时需要暂停升速,转而降速直至恒动,即实现快动的点动。故在升速的程序中调用每个台阶前先判断此时手控盒是否还在按住升速的按钮或者此时有没有通过串口发送停止命令,再决定是否走完剩下的台阶。具体逻辑程序见图6[6]。

图6 升速程序
Fig.6 Program of increasing the step-motor frequency

2.3 性能对比

对于单片机和数字信号处理器两者的性能,将从频率和字长两个方面进行对比。

(1)晶振频率:给DSP2812提供时基的是频率为30×106Hz的晶振。当锁相环PLL设置成最大(10倍频)时,即PLLCR的DIV位被设置成最大值 1010的时候,CPU的时钟频率将达到150×106Hz,是DSP2812所能支持的最大时钟频率。而平时用的51单片机等的晶振频率一般为10×106Hz,远远低于150×106Hz。

(2)计数器字长:DSP2812是32位定点数字信号处理器芯片,计数器寄存器为16位,而单片机一般只有8位。

频率精度对比:由于两者的频率分别为150×106Hz和10×106Hz,这使得两者的频率精度相差一个数量级之多。

升降平滑性对比:在单片机实现升降速的时候,往往计数器变化1,频率变化很大,不能很好地拟合所需的指数曲线。而用数字信号处理器拟合时,由于数字信号处理器频率更高,字长更长,使得计数器变化1时,频率变化可以很小,这样得到的曲线较之更为平滑,系统更为平稳[7]。

由于计数器字长的限制,T1PR产生的频率与理论值存在字长误差。太阳望远镜以恒动速度跟踪太阳,故恒动的速度直接影响着跟踪的好坏。算出恒动时T1PR为0x5CD9,即23769,代入返回得到此刻望远镜每秒钟转过的角度约为14.998 5″/s,这样累计5 min得到的理论误差:

(15-14.998 5)×60×5=0.45″

(5)

可以看出,由于数字信号处理器的字长有限所带来的理论误差在合理范围内,足以保证其跟踪精度。

3 测试数据

3.1 升速测试

对赤经轴进行10次快动测试得到,赤经轴频率由0 Hz升至11×103Hz基本上在2.5 s左右,升速过程平滑,声音可以接受,符合设计要求。

3.2 指向测试

在2012年6月9日10:00~15:00这300 min内对望远镜进行自动指向测试,统计了20次的指向误差,见图7。由图可以看出,误差基本上分布在±3′左右,符合设计要求[8]。

图7 太阳指向误差
Fig.7 Errors in the pointings toward the sun

3.3 恒动测试

在2012年6月9日 14:45~14:50这300 s内取样1 433个点,分别采集了望远镜位置和太阳当前位置的赤经轴数据,计算了恒动时5 min内两者之差,换算成角秒,误差曲线如图8。由图可以看出,误差大体上均匀分布在±10″之间,计算出其均方根误差为3.735 654 36″,精度符合设计要求。

图8 恒动误差曲线
Fig.8 Curve for the errors in the constant rotation of the telescope

3.4 跟踪测试

在2012年6月10日 14:30~14:35这300 s内取样1 426个点,分别采集了望远镜位置和太阳当前位置的赤经轴数据,计算了跟踪时5 min内两者之差,换算成角秒,误差曲线如图9。由图可以看出,误差大体上均匀分布在±2″之间,计算出其均方根误差为1.348 028″。由于望远镜比较老旧,且改造的经费有限,制定的技术指标不是很高,为0.5‰,而5 min内太阳转过的角度约为4 500″,1.348 028/4 500≈0.3‰,精度符合设计要求。

图9 跟踪误差曲线
Fig.9 Curve for the telescope-tracking errors

由于赤纬变化较小,本设计没有进行跟踪。预留了自动导行接口,若以后添加自动导行模块即可进行跟踪。

4 结束语

本设计使用数字信号处理器实现太阳望远镜控制系统,相比较之前使用单片机控制,有诸多优点。升降速稳定,芯片接口多(有2路SCI、1路SPI、1路McBSP、1路eCAN),部分管脚功能可以复用(有56个可独立编程的GPIO引脚),内部有两个事件管理器模块(每个包括6路PWM/CMP、2路QEP、3路CAP和2路16位定时器),AD转换模块(16路12位精度的ADC),还有3个独立的32位CPU定时器,不必在电脑上配插IO卡,也不再需要额外的AD转换芯片、编码器数据采集芯片等,一块芯片实现了过去几块芯片的功能。

在结构化设计方面,数字信号处理器一个工程下可以有诸多子文件,编写查阅起来简便易行,而单片机一个工程在编译时只能编译一个子文件使得程序冗长,查阅起来不方便。

[1] 郗小鹏, 冯立强. 步进电机跟踪伺服系统的设计[J]. 现代电子技术, 2011(23): 121-122.

Xi Xiaopeng, Feng Liqiang. Design of tracking servo system of stepper motor[J]. Modern Electronics Technique, 2011(23): 121-122.

[2] 顾卫钢. 手把手教你学DSP: 基于TMS320X281x[M]. 北京: 北京航空航天大学出版社, 2010.

[3] 王斌, 张珣. 太阳方位的自动获取及实时跟踪系统的设计[J].天文研究与技术——国家天文台台刊, 2011, 8(1): 52-57.

Wang Bin, Zhang Xun, Automatic real-time solar tracking system[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2011, 8(1): 52-57.

[4] 张宝发, 赵辉, 岳有军. 基于DSP的步进电机控制系统设计[J]. 仪表技术与传感器, 2010, 08: 63-65+81.

Zhang Baofa, Zhao Hui, Yue Youjun. Designing of stepper motor control system based on DSP[J]. Instrument Technique and Sensor, 2010, 08: 63-65+81.

[5] Overmars A H, Toncich D J. Application of DSP technology to closed-position-loop servo drive systems [J]. International Journal of Advanced Manufacturing Technology, 1996, 11(1): 27-33.

[6] Pan B, Jiang Z, Jiang Q. Study of Control System of Brushless DC Motor in Mobile Robot Based on DSP[C]. 2010 International Conference on Electrical and Control Engineering. Wuhan, 2010: 2017-2019.

[7] 马锦, 顾伯忠. 地平式望远镜轴系误差对指向精度和跟踪精度的影响[J].天文研究与技术——国家天文台台刊, 2011, 8(2): 132-135.

Ma Jin, Gu Bozhong. Effects of the shaft error of an altazimuth telescope on pointing and tracking accuracies[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2011, 8(2): 132-135.

[8] 朱庆生, 陈伟民, 吴金虎. 卫星激光测距望远镜的指向改正[J].天文研究与技术——国家天文台台刊, 2011, 8(3): 268-271.

Zhu Qingsheng, Chen Weimin, Wu Jinhu. The correction of pointing of a 1m SLR telescope[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2011, 8(3): 268-271.

TheTransformationoftheControlSystemoftheYNAOSolarChromosphereTelescope

Tao Zhi1,2, Chen Weimin2,3, Zhu Qingsheng2,3, Zhou Xiaojun2,3, Cheng Zhong3

(1. University of Chinese Academy of Sciences, Beijing 100049, China, Email: kongxinshu0411@sina.com;2. Nanjing Astronomical-Instrument Research Center of Chinese Academy of Sciences, Nanjing 210042, China;3. Nanjing CAS Corporation Limited of Astronomical Instruments, Nanjing 210042, China)

In this paper we describe a control system based on Digital Signal Processors (DSP) to control the stepper motors of the right-ascension axis, the declination axis, and the mirror cover of the YNAO (Yunnan Observatory) Solar Chromosphere Telescope. This system can process signals of the manual-control box, encoder, zero-point, positioning limits, and so on to appropriately set the speed and displacement of the telescope. Considering that stability is essential to a solar-telescope servo system we allow this system to control acceleration or deceleration in fast moving the telescope. The use of DSP in the control makes changes of high motor speeds smooth to avoid loss of synchronization of a step motor. The system with DSP brings high-precision control of low-speed motions allowing the telescope to track the sun for a long time with a high accuracy. For convenience the system includes the manual-control mode, so that the pointing and motion of the telescope can be controlled through a computer in both automatic and manual modes. The system uses communications between an STC5204AD MCU and DSP to realize the power-off memory of encoder count values and system states. We present the flowchart of the system and details of the implementation of the servo control. We also compare DSP-based and MCU-based servo systems and show that a DSP-based system is superior in performance.

Solar telescope; Digital Signal Processors (DSP); Servo system

CN53-1189/PISSN1672-7673

P111.41

A

1672-7673(2013)04-0420-07

2012-10-12;修定日期:2012-11-10

陶 知,女,硕士. 研究方向:自动控制. Email: kongxinshu0411@sina.com

猜你喜欢
望远镜单片机太阳
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的多功能智能插排
基于单片机的便捷式LCF测量仪
神奇的千里眼——望远镜
打造最大望远镜
太阳几点睡觉
超级望远镜头
“赶紧送几架望远镜过来!”等7则
夏天的太阳