立方星用太阳敏感器的设计
2021-04-22马霁壮康博南
马霁壮, 王 睿 , 康博南, 杨 罕
(吉林大学 电子科学与工程学院, 长春 130012)
0 引 言
太阳敏感器是航天器在轨飞行过程中用于确定自身飞行姿态的光电传感器。它可为航天器提供当前太阳入射光与航天器上某一平面间的角度位置关系信息, 是实现航天器姿态控制、 任务载荷准确定向的关键传感器之一[1]。当前, 太阳敏感器主要可分为模拟式太阳敏感器和数字式太阳敏感器两种。典型的模拟式太阳敏感器采用光电池[2-5]、 光电二极管[6]等传感单元, 通过测量电学模拟量确定太阳指向; 数字式太阳敏感器则采用线性CCD(Charge Coupled Device)、 CCD阵列[7-8]等传感单元, 对通过光学前端的太阳入射光线在传感平面上的成像位置信息进行采样, 通过微控制器计算太阳矢量。
立方星是一种具有严格的尺寸和重量要求、 实现简单的对地拍摄、 大气观察等任务的微纳卫星[9]。其尺寸重量规定和系统功率要求使立方星上的设备与传统航天器所采用的设备具有不同的设计需求[10]。由于立方星难以安装复杂的姿态控制系统, 多采用简单的姿控手段或不采用姿控。卫星的用户多为大学、 科研机构等非航天相关部门, 地面测控站数量相对较少, 操作者对立方星的测控时间短。因此在有定向需求的任务中, 就需要利用太阳敏感器获取飞行姿态, 保证任务载荷在有限的有效测控时间内指向观测目标。
根据上述设计需求, 笔者设计并实现了一种立方星所使用的数字式太阳敏感器。该设备具有设计简单、 稳定性高、 与立方星的标准架构结合度高等特点。
1 系统架构设计
太阳敏感器主要由以下3个部分组成: 光学前端、 传感器和信号处理部分[11]。其中光学前端限制来自太阳或其他光源的光线, 使其产生落在传感器探测平面上的光斑。该部分可以采用狭缝、 针孔或衍射光栅等结构。传感器部分通过传感光学前端投射在探测平面上的光斑, 将光束的强度转化为具有不同电压值的模拟电信号。典型的传感器结构包括光敏二极管及其阵列、 光电池、 CCD等。信号处理部分将对传感器所产生的电信号进行处理, 模数转换(ADC: Analog-Digital Conversion), 最终得到入射光线的分布情况, 从而使微控制器可以计算得到入射光线相对于平面的矢量关系[12]。该设计中, 采用狭缝、 线性CCD和单片机的组合形成系统的总体架构。
2 光学通路设计
该设计中, 光学前端采用无镜头设计, 通过光学开孔的结构控制入射光在传感器探测平面上所形成的光斑形状和大小。在开孔形状的选择上, 常用于太阳敏感器的设计主要有针孔、 狭缝及矩形窗等[12]。针孔及矩形窗多用于光电池及面阵CCD等光电传感器, 具有加工精度较高、 难度小等特点。对线性CCD, 由于最小感光元件的纵向高度有限, 采用针孔或矩形窗时需要开孔与传感器表面非常接近, 以避免光斑落于有效感光区域外。此种结构难以进行整体加工和安装, 因此本设计采用狭缝的方式进行开孔。图1为太阳敏感器的光学前端结构。其中α为入射光线与平面法线的夹角;L为狭缝宽度;k为最小感光元件的宽度;d为狭缝安装高度;l为入射光线中心点距离传感器中点的距离;k′为最小感光元件间距,l′为线性CCD整体长度。
图1 太阳敏感器光学前端结构Fig.1 The optical front of a sun sensor
设计的光学狭缝宽度取决于传感器的最小感光元件宽度[13]。如图1所示, 狭缝的宽度为感光元件的3~4倍, 以一个光斑能被多个最小感光元件探测到为准。该设计可以防止单个感光元件损坏导致角度传感出现盲区。由于线性CCD的单个感光元件宽度k为55.5 μm, 因此狭缝宽度设计为4k左右, 即200 μm。传感器高度可忽略不计, 由图1可得入射光相对于传感器平面的角度α满足
tanα=l/d
(1)
由式(1)可得
α=arctan(l/d)
(2)
由于在入射角超越90°(即±45°)时, 反正切函数的函数图像变得平缓, 因此为了保证相同精度, 势必要在边缘部分采用更多的感光元件以保证分辨率的一致性。因此对感光元件均匀分布的传感器, 其探测角度不宜超越90°(±45°)。在本设计中, 考虑到光学狭缝的安装固定工艺,d值选定为5 mm, 由式(2)可得该敏感器的理论最大探测角度约为77.2°。实际使用中, 设定敏感器的探测角度设计需求为40°(±20°)。
通过图1还可计算出太阳敏感器的最小分辨率理论值。当光照中心点与传感器中心点相差一个感光元件的距离时, 可获得敏感器的理论最小分辨率
综上所述, 光学狭缝的设计指标为: 宽度200 μm, 长度6 mm, 厚度100 μm, 其材质为不锈钢, 开缝工艺为能获得较平滑的缝隙边缘的化学腐蚀法。狭缝的内外侧表面经过发黑工艺处理, 除狭缝外, 线性传感器周围还安装了发黑工艺处理过的遮光罩。避免敏感器内部反射与散射光线对传感器产生不良影响。
3 系统硬件设计
太阳敏感器所采用的部件均为COTS(Commercial Off-The-Shelf)元器件。传感器的感光元件选择TSL1401CL线性CCD。这是一种电压输出型线性CCD, 具有128×1的光电二极管阵列, 以及对应光电二极管输出保持、 缓冲电路结构。该CCD可以使用3.3~5 V的直流单电源供电, 最小感光单元的全白输出电压为1 V左右、 全黑电压输出为0.08 V左右, 其输出信号电平随曝光时间而呈线性关系。操作该器件仅需微控制器提供时钟信号、 曝光信号和ADC采集信号线, 节省了微控制器的GPIO(General-Purpose Input/Output)资源。线性CCD的输出信号直接进入12 bit ADC进行采集。微控制器的片内ADC基准电压由外部基准源提供, 其值为3.3 V。
太阳敏感器的几何尺寸满足1U立方星的设计规范需求, 长95 mm, 宽90 mm。采用PC-104 32×2pin板间连接器直接与立方星的其他电路板连接。数据通过星上总线传递, 供电由立方星供电母线提供。
4 系统软件架构
敏感器的微控制器运行着开源实时操作系统FreeRTOS[14], 在敏感器上电后, 主进程轮询操作两个线性CCD曝光, 进行模拟电压信息的读取、 二值化以及输出最终太阳矢量信息等任务; 通信进程监听板选信号和星上总线, 在星上接收到计算机指令时进行应答并实行数据传送。各进程间信息交互通过队列的方式进行, 资源间通过互斥锁进行复用[15]。系统的逻辑流程图如图2所示。太阳敏感器作为立方星系统中的一块子板, 连接在立方星的星上总线上。星上计算机通过轮询的方式调取当前太阳敏感器的传感读数。
图2 系统逻辑流程图Fig.2 System logic flow chart
二值化运算过程通过将输入信号的电压值进行排序, 取中间部分并求平均值的方式获得判定阈值, 然后将所有电压值与阈值进行比较, 使其转化为仅包含0和1两种状态的处理结果。
5 实验分析
太阳敏感器的测试通过水平转台进行。光源固定在水平转台一端, 太阳敏感器固定在转台上, 并以4°为步进进行测定。敏感器中的控制器将测定轴上的二值化后的中心点信息通过串口发送至上位计算机。其他的测试仪器还包括计算机以及相应的电源等。测定X轴输出后, 再将太阳敏感器旋转90°并测定Y轴输出, 得到的太阳敏感器输出如图3与图4所示。可以看出太阳敏感器经二值化过程后的输出值与光源角度间具有较好的线性关系。
图3 X轴传感器输出峰值像素点 图4 Y轴传感器输出峰值像素点Fig.3 X-axis sensor peak output pixel Fig.4 Y-axis sensor peak output pixel
6 误差分析
由计算可得出, 该敏感器在接近测定角度边缘时误差逐渐变大, 通过角度计算出的狭缝和线性CCD之间的距离在整个测试过程中发生了线性变化。导致这一误差的原因可能为光源、 狭缝和线性CCD的中心点并不严格共线, 测试光源并不严格平行等原因。同时, 由于安装工艺的影响, 狭缝距离线性CCD间的距离也会受到狭缝形变的影响而改变。因此在使用中, 需要在敏感器安装完成后进行测试, 确定敏感器的修正常数[16]。未来的工作中将对敏感器误差进行进一步的研究。
7 结 语
笔者分析了太阳敏感器的结构, 并设计实现了狭缝光学结构, 实现了40°视场范围、 理论测量精度为0.01°的太阳敏感器。通过测试验证了敏感器理论的可行性, 并测定了敏感器的基本指标。该太阳敏感器采用COTS元器件, 符合立方星机械和电气标准, 适合立方星使用。未来的研究方向将集中在敏感器的误差分析、 提高敏感器探测视场角度、 敏感器分辨精度等技术指标上。