基于STM32的可调恒温滤光片转轮盒的设计*
2018-07-12徐艺灵张鸿飞姜逢欣陈金挺陈亚奇贾明皓董书成杨臣威
徐艺灵,张鸿飞,姜逢欣,陈金挺,陈亚奇,贾明皓, 董书成,陈 杰,杨臣威,王 坚
(中国科学技术大学近代物理系,核探测与核电子学国家重点实验室,安徽 合肥 230026)
超大质量黑洞的吸积过程及其与寄主星系的共同演化是黑洞物理和星系行程与演化的基本问题。活动星系核是超大质量黑洞高速增长的阶段,其观测特征为高光度、多波段的连续谱辐射及较强的发射线。连续谱和发射线均存在不同程度的光变,且光学-紫外波段主要宽发射线光变受到连续谱光变激发。通过测量活动星系核宽发射线对连续谱光变的响应时延能测量出谱线发射区气体到中心黑洞的距离(反响映射测量),结合光谱测量获得的谱线速度展宽,可以估计中心黑洞质量。传统的反响映射测量主要依靠光谱测量长期监测活动星系核目标,由于光谱仪效率限制,需要大口径望远镜,且耗时长,定标精度低[1]。为了实现高效率、高精度的反响映射测量,中国科学技术大学研制了1.2 m望远镜天文成像系统,主要利用宽窄带滤光片多波段测光监测活动星系核连续谱和发射线光变。计划将反响映射样本数目增加4倍,并大幅增加高光度、高红移活动星系核目标以改善样本的参数空间覆盖。为了实现该科学目标,需要长时间(几个月到数年)监测一批活动星系核,要求整体测光精度优于1%,因此对滤光片提出了相当高的要求,特别是系统所用的窄带滤波片中心波长随温度漂移。
1.2 m望远镜天文成像系统的结构和光路图如图1。这是一个红/蓝二通道成像系统,望远镜入射光焦比f/8.429,光束通过准直系统变为平行光束,由分光器分为红/蓝两端光束,其中红端为透射,波长为650~1 000 nm,蓝端为反射,波长为400~650 nm。之后光束通过滤光片系统,每个通道最多需要更换14片滤光片,窄带滤光片带宽范围为8~17 nm。平行光束经过滤光片系统滤光后进入成像系统,焦比变为f/5,之后通过相机成像。
系统中所用的窄带滤光片由于带宽小,中心波长和带宽对温度响应灵敏。抽取一组用自行搭建的滤光片性能检测系统对其做了性能标定,观察其带宽和中心波长的温漂。如图2,在10~23 ℃温度范围内,中心波长的漂移可以基本忽略,而温度越低,带宽越大,在Δ13 ℃测试范围内带宽变化约为0.03 nm,占全带宽约0.2%。一般天文台所在的高海拔地区,环境温度变化大,周年典型昼夜温差可达40 ℃,冬季昼夜温差约15~20 ℃。按环境周年昼夜温差40 ℃估算,带宽变化将达到0.6%,所以有效的温控对高精度窄带测光至关重要。除了温控以外,对于某些科学观测目标需要同时或准同时多波段测光检测,能快速实时切换滤光片对科学目标的实现也十分重要。
图11.2 m量子望远镜双通道成像仪
Fig.1The astronomical imaging system of 1.2m telescope
图2窄带滤光片中心波长(a)和带宽(b)随温度的漂移
Fig.2The thermal drift of the central wavelength (a) and the bandwidth (b) of the narrow band filter
针对以上需求,本文设计了一个基于STM32电控的可调恒温多轮式滤光片转轮盒系统[2-4],在保证滤光片温度的同时,能快速稳定地在14个滤光片中切换。该系统也同样适用于其它需要快速切换及温控的光学系统。
1 系统结构
望远镜成像系统中红蓝两通道的滤光片转轮架构一样,如图3,由3部分组成:转轮盒、电控盒和上位机。转轮盒的电机和加热片由电控盒提供驱动,且转轮盒实时给电控盒位置和温度反馈信号;电控盒由主控板和电机驱动板组成,直接对接转轮盒,并通过串口接收、应答上位机命令。
转轮盒的机械结构[5]如图4,转轮盒内有3个滤光片转轮,由各自独立控制的步进电机驱动。每个转轮有6个通光孔,通过放置滤光片盒子,最多可以安装5个滤光片,剩下1个空的通光孔。当某个转轮上的某个滤光片需要放在光路中时,另外两个转轮将空通光口与光路准直,即只有一个滤光片在光路上。每个通光孔附近都有位置感应片,有滤光片的通光孔附近安装一个感应片,空通光孔附近安装两个感应片与其他区别开作为归零位。感应片与转轮盒外壳上的位置传感器配合可以获得转轮的当前位置,通过接口反馈给电控盒。电机控制由电控盒内电机驱动板和控制板完成。转轮盒内壁覆有加热片和温度传感器,通过外部接口与电控盒内相应模块组成温控系统。
图3滤光片转轮盒系统框图
Fig.3The diagram of the system of filter wheel box
图4 转轮盒结构示意图Fig.4 The sketch of the wheel box
电控盒作为底层硬件控制模块,由电机驱动板和单片机主控制板组成,安装在一个小巧的匣子里,并通过串口接收上位机命令和上传反馈信息。
使用人员通过上位机软件,可对电控盒指令设置使用的滤光片、启停温度控制、获取实时温度和转轮位置信息,并确认温控和转轮就位。在调试模式时还可设置目标温度、单独设置每个转轮的转动和复位、设置温控运行参数、控制转轮电机步级角、校准滤光片位置、设置转轮孔位和滤光片波段的映射等。
2 控制电路
滤光片转轮的控制电路结构如图5,由主控制板和电机驱动板组成,二者一起放在一个电控盒内,只露出对外的传感接口、控制接口、通信接口以及电源接口。电控盒负责与上位机的通信,并实现对滤光片转轮盒电机和温控的底层控制、数据采集。其中主控板承担了温控功能和产生电机控制信号功能,电机驱动板作为电机控制模块的一环,将电机控制信号转化为直接驱动电机的二相电流。
图5控制电路结构图
Fig.5The diagram of the control circuit
主控制板是电控模块的核心,它根据上位机命令具体实现转轮电机控制和滤光片保温控制。它包括主控芯片STM32、串口通讯模块、温控模块和电机控制模块。主控单片机STM32是一款基于Cortex-M3内核的32 bit微控制器,具有足够通用输入输出和片上串口收发器、串行外设接口等。
在电机控制模块中,主控板对驱动板的控制信号经过三极管的电平转换,位置传感信号由转轮盒上的电感式接近传感器接入,用光耦合器作电平转换和防护隔离再输入到STM32。
温控模块包括温度采集和场效应管驱动输出。本文选用了一款24 bit的高精度模数转换器测试温度,自带电流源,用四线制测量方法抵消引线电阻对热电阻测量精度的影响;对加热片的控制依次经过一级数字隔离和驱动芯片后,通过一个P沟道功率型场效应管给转轮盒内壁的加热片提供脉宽调制电流。
转轮的精确转动需要步进电机驱动,从最大同步转矩、保持转矩、最小步距角、价格等方面考虑,本文选用东方马达CMK243MAP型号两相步进电机组合,基本步级角为0.9°。电机本身配有驱动板,但在系统中每个转轮盒需要3个电机,如果每个电机配一个驱动板无疑会体积过大,使电控结构冗余。所以本文将3个电机驱动集成设计到一块驱动板上,负责把控制板输出的3路电机控制信号转化成3路直接驱动电机的两相信号,并方便地和控制板安装在一个盒子里。
驱动板工作电源包括24 V和3.3 V,其中24 V由主控板提供,3.3 V由24 V经过低压差线性稳定器产生。来自主控板的控制信号经过光耦合器电气隔离再输入电机驱动芯片,提高了接口的安全性。电机驱动选用的DRV8825是一款双极步进电机驱动芯片,最大输出2.5 A电流,实际使用时只需0.6 A就可带动转轮电机,具有片上微步进分度器,最大可配置成32细分,这样电机的运转分辨率可达12 800步/圈,提高滤光片切换的精度。
整个电控设计非常注重电气隔离和安全性,通过光耦合器和数字隔离芯片等使大功率用电模块或高电平模块与低压主控电路绝缘,以防止外部短路导致主芯片损坏。在保证功能的前提下设计紧凑,体积小巧,每个转轮盒配一个电控盒,可以方便地安装拆卸。经过后续实验证明电控模块能稳定可靠地实现既定功能。
3 STM32固件程序设计
电机控制信号和加热片控制信号的产生以及对上位机命令的解析由STM32单片机完成,固化在单片机内程序的结构如图6,包括初始化模块、命令解析模块、状态查询模块、ADS1248测温模块、脉宽调制加热片控制模块、电机控制模块、位置传感器模块、参数修改和读取模块、串口通信模块等。
图6STM32固件程序结构
Fig.6The structure of the firmware program on STM32
每次上电后,单片机先执行一系列初始化,包括系统时钟、通用输入输出、串口、中断、电机控制定时器、加热片驱动定时器、温度采样模数转换器的配置以及电机和加热片初始状态设定等。单片机通过串口接收命令,通过命令解析模块处理并触发其它功能块执行。命令的基本格式是:“>+ 命令字 (+ 空格 + 参数)+ #”,其中 > 是命令起始字符,命令解析模块接到该字符才认定接下来的命令字有效;#是命令结束符,表示该条命令结束,可进入等待下一条命令的进程。主要命令如表1,命令涵盖了系统对用户开放的基本功能。
转轮电机控制流程见图7。转轮盒内3个转轮共15个可放置滤光片的孔位被标记为1~15号,当收到指令要切换到某号滤光片时,程序会判断每个转轮分别要转到的孔位。假设命令要求转到8号滤光片时,程序会控制第1、3个转轮转到空孔位,第2个转轮转到第3个滤光片孔位。如果是上电后第1次操作,会先驱动电机将每个转轮转到HOME位复位,然后再转到目标位置,否则转轮会以当前为起点转到目标位置。每个滤光片位置都有位置感应片,每个感应片触发传感器都会触发中断,程序在当前位置寄存器上+1,直到目标滤光片触发。由于感应片在传感器附近一段范围会造成触发,为了精确定位滤光片,需要在触发位置基础上再驱动电机运转一小段作偏移量修正,所以文本对每个滤光片位置都通过实验校准了这一修正量。到达目标滤光片位置后,程序将停止电机运转,并更新系统状态。
表1 主要命令举例Table 1 Examples of the main commands
图7转轮电机控制流程
Fig.7The control flow of the motor of the wheel
电机运转遵循如图8的S型加速曲线,这是一个加速度逐渐增大再逐渐减小的过程,目的是防止电机突然启动或停止造成失步。程序控制电机每5 ms加速一次,从启动到匀速运转总共需要500 ms,对应的PWM脉冲频率是1.5 kHz增加到稳定的25 kHz,占空比一直保持为50%。
温控部分流程如图9,采用了PID算法(比例-积分-微分控制)[6-8],这是一种常见的反馈控制算法。当单片机收到命令设定目标加热温度时,每个系统周期轮询到温控模块,都会进入PID控制函数,计算当前温度与目标温度的温差e、温度积分量ie=ie0+e、温差微分量(变化量)de=e-e0,其中ie0和e0分别为上一时刻的积分量和温差。计算功率P值:
图8电机加速曲线
Fig.8The accelerating curve of the motor
P=kp*e+ki*ie+kd*de,
然后判断是否有p> MAX_duty_cycle或p< 0,如果是则输出占空比对应上限/下限,否则占空比为p,实际设置MAX_duty_cycle为85%。为了使加热片的温度平稳上升并能在目标温度稳定,需要调整3个比例参数kp,ki,kd,其中,kp是输出与输入误差的比例系数,决定了上升速度和快慢;ki是输出与输入误差积分的比例系数,随着时间积累会放大误差量,决定达到目标温度后的震荡程度;kd是输出与误差变化率的比例系数,具有抑制误差的作用。实际温控中前两项占据主导,经过实验确定本系统的系数kp=10,ki=0.02,可保证加热速度的同时,尽量减小达到目标温度后的过冲和震荡。程序每秒调整一次脉宽调制脉冲占空比为p,达到持续控制实际加热片功率输出的目的。该过程持续到温度稳定在目标温度 ± 2 ℃达到100 s以上,此时更新系统状态为温度稳定。
图9温控算法流程图
Fig.9The flow diagram of temperature control algorithm
整个程序借助STM32的固件函数库,可以轻松应用单片机外设,较快搭建一个应用工程。设计完成后使用Keil μVision5开发平台编译,通过STLINK固化到STM32中。
4 测试结果
完成设计后,对滤光片转轮盒性能进行了测试,图10为转轮盒实验中的实拍图。在单次滤光片切换功能正常的基础上,本文用脚本持续24 h对电控盒发送随机切换滤光片的命令,发现系统工作稳定性良好:单个转轮匀速转动一个孔位的时间间隔约为1.4 s;若3个转轮的目标位置与当前位置都为所容许的最远距离5个孔位,则自动切换时间最长,约为10 s。
图10滤光片转轮盒实物图
Fig.10The picture of the filter wheel box
另外,将滤光片转轮用保温棉包好后放入冰箱,模拟低温环境,冰箱温度设为-25 ℃,目标温度设为20 ℃,测试发现转轮盒加热片经过大约2.5 h可达到目标温度。加热曲线见图11,可见在PID算法控制下,前期加热片驱动PWM一直以最大占空比85%输出,功率最大;当温度逐渐接近目标,先是比例控制项kp*e占据主导,占空比随着温差e减小而线性减小,随之该项与积分控制项ki*ie之比变小,积分控制项占据主导,输出功率刚好能维持当前温度,没有震荡产生。如图12是温度控制在室温下达到稳定之后,滤光片转轮盒腔体内两个PT100温度传感器返回的一组温度随时间变化曲线。由于PT100测量的是腔内空气温度,而非紧贴加热片的温度,PT100对加热片功率变化的响应有一定迟滞,所以控温稳定程度受到限制。实测温度波动幅度稳定在 ± 1 ℃以内,稳定度已经足够满足要求。
图11转轮盒加热过程温度变化及加热驱动PWM占空比
Fig.11The temperature and the duty ratio of driving PWM during the process of heating of the wheel box
图12达到温控目标后转轮盒内部温度随时间变化曲线
Fig.12The curve of the temperature change in the wheel box after it reached the target temperature
5 总 结
本文设计了一个结构紧凑的恒温滤光片转轮盒系统,转轮盒内部最多可放置15个滤光片,由基于STM32单片机的控制系统实现电机驱动、温控、状态查询等功能。在一系列测试中证明了系统性能良好,目前已在德令哈天文观测站的1.2 m望远镜系统中稳定运行。该设计对其它需要滤光片切换的光学系统也有一定借鉴作用。