和寿圣,丁 旭,王传军,范玉峰,余晓光,王德清,黄永萍,伦宝利
(1.中国科学院云南天文台,云南 昆明 650216;2. 中国科学院天体结构与演化重点实验室,云南 昆明 650216)
随着天文技术的不断发展,远程观测和自主观测逐渐显露优势,并成为时域天文学研究的重要工具[1],自动调焦是实现远程观测和自主观测的前提和关键,因此,电动调焦器技术越来越受到重视。
大中型专业天文望远镜通常自带结构复杂的专用电动调焦器,相关技术研究主要集中在自动调焦算法领域[2-4]。小型天文望远镜主要应用于天文选址、巡天观测及科普教育等领域,更多采用远程观测和自主观测模式,对电动调焦器需求更为广泛。小型天文电动调焦器通常为独立设备,结构相对比较简单。
云南天文台丽江观测站10英寸米德望远镜配套的电动调焦器为摩擦传动式相对位置调焦器,调焦精度和兼容性均不能满足观测需求。为实现该望远镜自动调焦,我们自行研发了一套支持天文公共对象模型[5]的天文电动调焦器,设计相关控制电路,制定串口通信协议,并编写了一套开源驱动程序SS Focuser(https://github.com/graycodecn/SSFocuser),本文重点介绍电动调焦器的结构原理和实现方法。
天文电动调焦器结构如图1,由调焦控制器(即控制电路板)和含步进电机的调焦机构组成。16英寸以下小型天文望远镜的负载能力和安装空间有限,通常采用质量小于5 kg的商业CCD相机作为观测终端,相应的电动调焦器尺寸也不宜过大。为保障驱动能力,同时减小空间尺寸,设计采用减速比为120∶1的两相步进电机直接驱动调焦机构,合理设计加减速曲线,有效防止步进电机丢步。集成化设计将调焦控制器与步进电机集成封装,并摒弃常规手控盒以最大程度地优化外形尺寸。控制计算机与调焦控制器采用USB通信,可通过MaxIm DL,FocusMax等支持天文公共对象模型协议的控制软件进行自动调焦操作,也可根据串口通信协议自主编写程序实现。手机终端与调焦控制器采用蓝牙无线通信,可通过手机应用程序替代手控盒实现初始化校准及手动控制功能。电动调焦器集成了温度采集模块,以支持上位机控制软件进行焦距补偿。
图1 系统结构图Fig.1 System schematic
电路设计包括控制器模块、电源模块、通信模块、驱动模块和温度模块5部分,图2为核心电路原理图。
图2 电路原理图Fig.2 Circuit schematic
控制器模块采用意法半导体的STM32F103C8T6单片机,负责与上位机通信、电机驱动、温度采集等工作。采用8 M无源晶振作为外部时钟,串口1负责与控制电脑通信,串口2负责与手机终端通信,串口3负责与驱动模块通信以配置驱动芯片参数,以STEP/DIR方式控制步进电机驱动芯片,采用一线协议采集温度传感器的数据。
电源模块外部输入采用直流12 V,由DC5.5-2.1标准接口引入,加上二极管D1防反插。步进电机驱动电压12 V,其它芯片3.3 V,采用LM2596-3.3电源芯片将12 V转为3.3 V。小型天文电动调焦器采用控制电脑端存储位置的方式,由于不带绝对编码器会产生两个问题:(1)转动过程中如果控制电脑和电动调焦器先后掉电,其位置会产生偏差;(2)如果控制电脑重装软件或者更换控制电脑,需重新初始化位置。为了保证掉电瞬间存储调焦器位置及配置信息,增加掉电保存电路,掉电时立即存储数据。掉电检测通常可采用输入电压监控和电源管理芯片中断两种方式[6],设计采用第1种方式。
通信模块负责与上位机通信,考虑固定机位和户外移动两种情况,分别采用USB通信和蓝牙通信两种方式,前者用于固定台址电脑控制,后者用于户外移动手机控制。USB通信采用CH340C芯片(USB转UART芯片,实际上是串口通信),蓝牙通信采用汇承HC-08蓝牙串口透传模块,分别连接STM32单片机串口1和串口2。
驱动模块采用TMC2208步进电机驱动芯片设计,该芯片有效电流(均方根电流)为1.4 A,工作电压为5~36 V,最高可达256细分,支持低速静音模式和高速防抖模式。设计直接通过MS1和MS2管脚接地设置8细分,同时公用数据网(Public Data Network, PDN)连接STM32单片机串口3预留配置接口。
温度模块采用数字化温度传感器DS18B20,该芯片支持一线总线协议[7]。
如图3,(a)为电路板实物图,电源模块及蓝牙模块设计在背面;(b)为电动调焦器实物图,外形尺寸为52 mm×52 mm×44 mm。
软件设计是天文电动调焦器设计的关键,包括调焦器程序、计算机驱动和手机应用程序3部分。
电脑通信采用USB接口,通过CH340C芯片转换为串口通信,波特率9 600。米德串口命令协议是一种常用的标准通信协议,该协议基于同步通信,命令返回格式不规则,靠上位机判断是否返回数据。为了更好地支持异步通信,设计采用类米德的自定义串口命令协议,命令以 “:” 开头 “#” 结尾,返回结果以 “:” 开头 “#” 结尾,所有命令都有返回,如表1为部分命令协议,更多命令可在Github网站项目源代码处查询。
调焦器程序指STM32单片机内部程序,采用C语言编写。步进电机驱动一般可采用脉宽调制(Pulse Width Modulation, PWM)驱动和输入输出(Input Output, IO)读写驱动两种方式[8-9],本文设计采用定时器脉宽调制驱动方式,在定时器中断程序实现启停及加减速等动作,合理设置加减速曲线,最大程度地避免丢步。外部中断有两种:(1)串口通信中断(电脑串口和蓝牙串口),每收到一条完整命令立即插入命令队列,命令计数加1;(2)掉电中断,每次掉电中断时立即保存当前位置和配置信息。软件流程如图4,程序进行初始化后循环执行以下流程:(1)查询命令队列,如队列为空则循环查询,不为空则取出最前面的一条命令进行解析,命令计数减1;(2)根据所解析命令执行相应的动作,由于采用定时器脉宽调制驱动步进电机,主流程在电机转动相关命令执行期间已经返回,可继续查询和执行下一条命令。为了避免通信中断导致连续移动撞击风险,连续移动命令(:F+#和:F-#)执行期间设置一个1 s的定时器用于自动停止转动,上位机需定时结束前再次发送相同命令以保持继续移动。
不同于自行研发的特殊设备如上海天文台新一代地球同步轨道动态监视系统FocusGEO[10],天文电动调焦器可采用标准天文公共对象模型实现集成控制。设计采用C#语言编写,选择ASCOM Platform 6.3平台开发。Focuser类常用的属性和方法如表2,其中,Absolute属性为调焦器位置编码类型,True为绝对位置编码,False为相对位置编码,设计中采用绝对位置编码方式。
表2 Focuser类常用的属性和方法Table 2 Common properties and methods of focuser class
计算机驱动流程如图5,分为连接设备、初始化、调焦操作和断开连接4个阶段。连接设备设置属性Connected=
图5 计算机驱动流程图Fig.5 Computer software flowchart
True,断开设备设置属性Connected=False。初始化主要用于电脑端存储位置的情况,如默认调焦器端存储位置则不用初始化。调焦操作细节如下:(1)查询状态,查询IsMoving发送 “:FB#”,查询Position发送 “:Fp#”,查询Temperature发送 “:Ft#”,并将接收的返回值赋值给相应属性;(2)执行Move()方法发送目标位置给Position;(3)执行Halt()方法发送停止转动命令;(4)连续移动命令 “:F+#” 和 “:F-#” 并不是ASCOM Focuser类的标准方法,是代替手控盒按钮进行连续移动操作,主要用于初始化校准和手动控制。连续移动操作时需要开启小于1 s的定时器定时发送该命令,超时不发则自动停止转动,是保护电机的一种措施。
计算机驱动需要配合支持天文公共对象模型的控制软件才能工作,图6为驱动设置对话框,选择对应的串口Device页面自动显示设备详情,选择Initialize页面可校准调焦器位置,具体操作非常简单方便,按住Slew In或者Slew Out按钮,转动调整到零位时松开,然后点击Define Zero即完成校准。PC2Focuser为位置存储方式选项,勾选后位置信息存储在电脑端,未勾选则存储在调焦器端。
图6 Focuser设置界面Fig.6 Interface of dome control
本设计摒弃传统手控盒,通过手机蓝牙实现手动控制。蓝牙通信采用汇承HC-08蓝牙串口透传模块,模块生产商提供完整的手机蓝牙透传源代码,稍加修改即可作为天文电动调焦器控制应用程序,本文不再详述。
天文电动调焦器在云南天文台丽江观测站10英寸米德望远镜及其他多台望远镜上做了一系列测试,经过不断完善,目前已经比较稳定,在低速情况下垂直负重8 kg正常工作不丢步,对大多数小型望远镜来说已经满足要求。在MaxIm DL软件使用自动调焦功能的截图(使用FocusMax等专用调焦软件自动调焦曲线更加平滑)见图7,从图中可以非常清晰地看出星像半宽和焦距的关系,星像半宽最小处即为焦点位置。
图7 自动调焦界面Fig.7 Interface of Auto focusing
电动调焦器的调焦分辨率为
(1)
其中,w为调焦机构的减速比;r为步进电机减速比;s为步进电机每圈步数(不计电机减速,即360度/步距角);l为对应的调焦座移动距离。设计采用减速比120∶1、步距角7.5°的步进电机(每圈48步),调焦机构减速比为1∶1,由于电动调焦器输出端转动一圈(5 760步)调焦座移动20 mm,调焦分辨率为3.472微米/步,该精度能够完全满足观测要求。为改善转动的平稳性,设计采用步进电机细分驱动模式,但不作为分辨率计算依据。
由于采用高减速比步进电机且不带编码器反馈系统,实际使用时传动机构齿轮间隙不能忽略,必须正确测量回差(齿轮间隙对应步数)并进行补偿才能保证调焦精度。如图7, MaxIm DL软件自动调焦过程回差设置为20步,选择向外移动时补偿。
本文以极简方式完成了云南天文台丽江天文观测站10英寸米德望远镜天文电动调焦器设计,以手机应用程序代替手控盒,极大地优化了外形尺寸,发布了开源的天文公共对象模型驱动程序SS Focuser。实测结果表明电动调焦器具有很好的稳定性,完全满足设计要求,为天文电动调焦器设计提供了一些可借鉴的经验和方法。
致谢:感谢云南天虎光学科技有限公司、临海市括苍光学仪器有限公司和昆明晶华光学有限公司对本文的技术支持!