在阅读此文前,诚邀您请点点右上方的“关注”,既方便您进行讨论与分享,还能及时阅读最新内容,感谢您的支持。
在本文中,通过理论知识和实验数据的结合,提出了使用按键控制电路来控制单片机实现射电望远镜跟踪并观测天体的任务。整个系统主要由GPS模块、天线模块、按键控制电路模块、电机驱动模块和数据采集模块等组成。
利用已知的天文学知识,通过坐标转换公式,计算出某一时刻太阳的方位角和俯仰角,并通过算法将方位、俯仰的角度转换为相应的角度,再通过相应的软件控制,从而实现抛物面天线对太阳的天线跟踪、天线校零等功能。根据系统要求使用Altium Designer的电路画图软件,设计出适合控制射电望远镜的单片机开发板。

系统的整体方案
系统原理图如图1 所示,太阳射电望远镜主要由主单片机、从单片机、接收天线、转台、接收机等部分组成。 其中,转台由方位控制电机和俯仰控制电机两部分组成,可以进行顺时针和逆时针两方向自由度转动。

图1 系统原理图
射电望远镜的基本原理和光学反射望远镜类似,天体投射来的电磁波被一精确镜面反射后,同相的电磁波到达公共焦点。采用旋转抛物面作镜面易于实现同相聚集,所以,实验中射电望远镜的天线采用抛物面。射电望远镜主要构成为:
1)收集射电波的定向天线,它主要用来接收来自太阳发出的电波并传到接收机里。
2)放大射电信号的高灵敏度接收机,它对馈源收集到的太阳射电波进行混频、中频放大等处理,最后输出的接收机信号供从单片机机采样。
3)控制模块,由按键控制电路控制主单片实现对太阳当前位置的跟踪。
4)GPS模块,同通过对从卫星接收到的信号,并解析来获得当前测量地的地理位置、当前太阳时间,进而通过算法将当前太阳的位置转化为方位脉冲数、俯仰脉冲数。
5)数据采样模块,由从单片机来实现,主单片机控制电机实现对当前太阳位置的跟踪之后,从单片机采集接收机输出的信号,可以分析数据来判断当前太阳的活动。
以上的功能实现之后,就可以研究太阳活动的情况,掌握太阳辐射能量的规律变化,来分析这些变化对地球的影响。

GPS模块及跟踪原理
GPS模块MT-285
实验中采用高稳定度高灵敏度GPS模块MT-285,其供电电压+5V,加上稳定的电压GPS的接收机就会源源不断的接收卫星的信号,GPS定位信号通过串口传送给主单片机。在未进行数据处理前,传送过来的数据是一串长的字节流,必须通过对接收到的信号语句的解析才能转化为实验所需要求的数据。
因此,在对GPS信号进行提取的时候,必须明确数据的帧结构,然后才可以依据其数据结构对所需信号的提取,即实验中GPS采用的是NMEA0183通信协议。不同的数据帧,帧头也不相同,主要包括“GPRMC”、“GPGGA”、“GPGSA”等等。如表1,在实验中采用的是“GPRMC”帧头,在通过对获得的数据进行相应的语句解析,这样就可以提取出所需的测量地理位置、当前的时间等信息。

表1 GPRMC语句
跟踪原理
在实验中采用端口中断来捕获天体运动的轨迹。其原理为:将天体运动的轨迹分解为2个方向,即水平和垂直方向分别对应方位电机和俯仰电机,方位与俯仰电机转一圈(360°)有与之分别相对应的脉冲数。
当按键控制电路给主单片机发送自动跟踪的命令,单片机接收到命令,并进入相应的程序,在程序中的算法会将由GPS模块获得的当前太阳的地理位置转化为相应的角度,再将角度转换为相应的脉冲数,所得的脉冲数会与先前时刻的太阳位置对应的脉冲数做比较,所得到的差值就是方位与俯仰所需要转动的脉冲数。
而电机转动时会触发端口中断,单片机就会通过中断处理来记下所转动的脉冲数,再将所有所记得的脉冲数与新的太阳位置所得对应的脉冲数做比较,再驱动电机转动,如此反复做比较并转动电机,这样方位、俯仰电机的角度即是太阳的方位与俯仰的位置,从而实现了对天体的跟踪。
单片机的设计
单片机使用了一片MSP430F169来实现。单片机1,其主要负责控制转台的转动,我们把它称之为主单片机;而负责信号采集的单片机2,我们把它称之为从单片机。如图2所示:

单片机开发板及GPS模块
主单片机的设计
主单片机的模块图,如图3所示。

图3 主单片机模块图
前面已经提及主单片机的主要功能,所以我们可以确定主单片机的工作流程图,如图4所示。

图4 主单片机流程图
在主单片机初始化中,首先设置时钟。MSP430F169单片机一共有三个时钟源:这里我们将时钟设置为高频时钟源XT2CLK,即外接8MHz晶体振荡器。
其次,设置I/O端口。MSP430F169单片机所提供的6组端口,既可以用作输入端口也可以用作输出端口,同时P1和P2口具有中断功能。通过正确设置PxSEL寄存器和PxDIR寄存器,可以获得本设计中需要端口的功能。如表2:

表2 主单片机I/O端口设置
从表2可以得出PxSEL寄存器、PxDIR和P2IE寄存器的设置值分别为:
1)P2DIR = 0x88;//P2端口方向除P2.3和P2.7为输出,其余六个端口都为输入。
2)P2IES = 0xEE;//P2端口中断沿选择,这里选择下降沿中断。
3)P3IES|= 0xC0;//P3.6和P3.7为外围模块功能管脚,即作为UART通信端口,实现与GPS通信功能。
4)P5IDR =0x0F;//P5端口方向选择,P5.0到P5.3作为输出,控制天线转台信号。
最后,设置中断。在本设计中主要使用了三个中断,分别为:串行通信中断、定时器中断和P2端口中断。在单片机完成初始化之后,程序就进入循坏等待状态。只有通过按键控制命令来,单片机正确接收命令后,程序才会进入相应的方位控制程序、俯仰控制程序或从单片机控制程序。
从单片机的设计
从单片机的模块图,如图5所示。

图5 从单片机模块图
和主单片机一样,从单片机的初始化中也包括对时钟、端口等的设置。这里就不再赘述。这里将主要介绍天线温度采集模块和接收机输出信号采集模块。温度采集模块采用了一片温度传感器DS18B20。馈源信号采集模块是完成对接收机输出信号的采样,采样频率为80 Hz。
为了避免接收机输出信号在传输过程中受到干扰,所以在运算放大器的前端加RC低通滤波器来滤除干扰。接收机输出信号模块的电路如图6所示,图中信号线ADC1即为接收机输出信号。

图6 接收机输出信号采集模块
如图7,左边的图片显示的是俯仰电机(上)与方位电机(下)的起始位置,并且将方位与俯仰分别对应13091和10708个脉冲;中间的图片从上到下data数组存的是从GPS获得的地理位置、时间等信息。
AZ与ZL分别表示的是当前太阳的方与俯仰的位置,即太阳在2015年4月3日8点0 分这个时刻的水平与竖直位置所对用的角度,countA与countB是记录当前转台的位置,fa、fb是与countA和countB相对应的角度,即转台此刻角度所对应的脉冲数与角度,实验中将方位与俯仰的起始位置分别选择为97.074°与0°,即fa=97.0743255,fb=0.0,则countA=3530与countB=0,而Longitude、Latitude分别是当前实测地的地理位置经纬度,如7图左图;右边的图片是硬件计数器,是用来捕获跟踪太阳时候所转动的脉冲数,以分析实验数据的精确度。

图7 天线起始位置
如图8,当前时间2015 年4 月3 日12 点12 分,太阳的水平位置AZ=182.349365,而垂直位置ZL=63.8960609,此刻相应天线的水平位置fa =182.158737,垂直位置fb=63.8774757,同时可从左图顺时针估计方位电机、俯仰电机(右边80 是起始位置)的度数为182°和64°。
俯仰方向从起始0.0°转到63.87°转动63.87°,转动相应的脉冲数为63.877°×10708/360°=1900个脉冲,而此刻countB减去起始的值0可得这段时间中断所计脉冲数;而方位方向从起始的位置97.074°转动85.084°,则这段时间转动的脉冲等于转动的度数乘以一度所对应的脉冲数,即转动85.084°×13091/360°=3094 个脉冲,而对应此刻的countA=6624减去起始的3530可得这段时间中断所记脉冲数3094,又最右边的硬件计数器3093。通过硬件计数器转台角度以及中间图片各个参数的对比,可知实验数据比较真实可靠,跟踪误差可以在0.2°以下。

图8 中午时刻天线
本文在设计之初通过市场调研,充分了解到小型或科普类型的射电望远镜与科研使用的大型射电望远镜之间的差异,特别是对于科普类的射电望远镜转台的位置精度与跟踪精度相对大型的科研类射电望远镜要求不是很高。在导师的帮助下,采用多级齿轮转动的方法,通过传感器实时检测初级齿轮转数的方式,来提高直流电机驱动下的射电望远镜转台的位置精度和跟踪精度。
《D-FSMC在快速跟踪望远镜直接驱动系统中的应用》
《射电望远镜》
《大口径望远镜跟踪架的结构研究》