2. 中国科学院天体结构与演化重点实验室, 云南 昆明 650216
2. Key Laboratory for the Structure and Evolution of Celestial Objects, Chinese Academy of Sciences, Kunming 650216, China
随着天文技术的不断发展,远程观测和自主观测逐渐显露优势,并成为时域天文学研究的重要工具[1],自动调焦是实现远程观测和自主观测的前提和关键,因此,电动调焦器技术越来越受到重视。
大中型专业天文望远镜通常自带结构复杂的专用电动调焦器,相关技术研究主要集中在自动调焦算法领域[2-4]。小型天文望远镜主要应用于天文选址、巡天观测及科普教育等领域,更多采用远程观测和自主观测模式,对电动调焦器需求更为广泛。小型天文电动调焦器通常为独立设备,结构相对比较简单。
云南天文台丽江观测站10英寸米德望远镜配套的电动调焦器为摩擦传动式相对位置调焦器,调焦精度和兼容性均不能满足观测需求。为实现该望远镜自动调焦,我们自行研发了一套支持天文公共对象模型[5]的天文电动调焦器,设计相关控制电路,制定串口通信协议,并编写了一套开源驱动程序SS Focuser(https://github.com/graycodecn/SSFocuser),本文重点介绍电动调焦器的结构原理和实现方法。
1 系统结构天文电动调焦器结构如图 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 电路板实物 Fig. 3 Physical circuit board |
软件设计是天文电动调焦器设计的关键,包括调焦器程序、计算机驱动和手机应用程序3部分。
3.1 通信协议电脑通信采用USB接口,通过CH340C芯片转换为串口通信,波特率9 600。米德串口命令协议是一种常用的标准通信协议,该协议基于同步通信,命令返回格式不规则,靠上位机判断是否返回数据。为了更好地支持异步通信,设计采用类米德的自定义串口命令协议,命令以“:”开头“#”结尾,返回结果以“:”开头“#”结尾,所有命令都有返回,如表 1为部分命令协议,更多命令可在Github网站项目源代码处查询。
Command | Return | Description |
: F+# | : +# | Slew outward |
: F-# | : -# | Slew inward |
: FIn# | : I# | Initialize, On chip storage while n=0, Computer storage while n=1 |
: Fi# | : in# | Query Initialization state |
: FB# | : Bn# | Query move state, Stopped while n=0 |
: FDsn# | : D# | Define position |
: FPsnn# | : P# | Move to |
: Fp# | : psn# | Query position |
: FQ# | : Q# | Stop |
: Ft# | : tsn.n# | Query temperature |
调焦器程序指STM32单片机内部程序,采用C语言编写。步进电机驱动一般可采用脉宽调制(Pulse Width Modulation, PWM)驱动和输入输出(Input Output, IO)读写驱动两种方式[8-9],本文设计采用定时器脉宽调制驱动方式,在定时器中断程序实现启停及加减速等动作,合理设置加减速曲线,最大程度地避免丢步。外部中断有两种:(1)串口通信中断(电脑串口和蓝牙串口),每收到一条完整命令立即插入命令队列,命令计数加1;(2)掉电中断,每次掉电中断时立即保存当前位置和配置信息。软件流程如图 4,程序进行初始化后循环执行以下流程:(1)查询命令队列,如队列为空则循环查询,不为空则取出最前面的一条命令进行解析,命令计数减1;(2)根据所解析命令执行相应的动作,由于采用定时器脉宽调制驱动步进电机,主流程在电机转动相关命令执行期间已经返回,可继续查询和执行下一条命令。为了避免通信中断导致连续移动撞击风险,连续移动命令(: F+#和: F-#)执行期间设置一个1 s的定时器用于自动停止转动,上位机需定时结束前再次发送相同命令以保持继续移动。
![]() |
图 4 调焦器软件流程图 Fig. 4 Focuser Software flowchart |
不同于自行研发的特殊设备如上海天文台新一代地球同步轨道动态监视系统FocusGEO[10],天文电动调焦器可采用标准天文公共对象模型实现集成控制。设计采用C#语言编写,选择ASCOM Platform 6.3平台开发。Focuser类常用的属性和方法如表 2,其中,Absolute属性为调焦器位置编码类型,True为绝对位置编码,False为相对位置编码,设计中采用绝对位置编码方式。
Name | Description |
Connected | Connection property |
Absolute | Encoder property(True or False) |
IsMoving | Moving state property |
Temperature | Temperature property |
Position | Position property |
Move() | Move method |
Halt() | Stop method |
MaxStep | Maximum step property |
计算机驱动流程如图 5,分为连接设备、初始化、调焦操作和断开连接4个阶段。连接设备设置属性Connected=True,断开设备设置属性Connected=False。初始化主要用于电脑端存储位置的情况,如默认调焦器端存储位置则不用初始化。调焦操作细节如下:(1)查询状态,查询IsMoving发送“: FB#”,查询Position发送“: Fp#”,查询Temperature发送“: Ft#”,并将接收的返回值赋值给相应属性;(2)执行Move()方法发送目标位置给Position;(3)执行Halt()方法发送停止转动命令;(4)连续移动命令“: F+#”和“: F-#”并不是ASCOM Focuser类的标准方法,是代替手控盒按钮进行连续移动操作,主要用于初始化校准和手动控制。连续移动操作时需要开启小于1 s的定时器定时发送该命令,超时不发则自动停止转动,是保护电机的一种措施。
![]() |
图 5 计算机驱动流程图 Fig. 5 Computer software flowchart |
计算机驱动需要配合支持天文公共对象模型的控制软件才能工作,图 6为驱动设置对话框,选择对应的串口Device页面自动显示设备详情,选择Initialize页面可校准调焦器位置,具体操作非常简单方便,按住Slew In或者Slew Out按钮,转动调整到零位时松开,然后点击Define Zero即完成校准。PC2Focuser为位置存储方式选项,勾选后位置信息存储在电脑端,未勾选则存储在调焦器端。
![]() |
图 6 Focuser设置界面 Fig. 6 Interface of dome control |
本设计摒弃传统手控盒,通过手机蓝牙实现手动控制。蓝牙通信采用汇承HC-08蓝牙串口透传模块,模块生产商提供完整的手机蓝牙透传源代码,稍加修改即可作为天文电动调焦器控制应用程序,本文不再详述。
4 系统测试天文电动调焦器在云南天文台丽江观测站10英寸米德望远镜及其他多台望远镜上做了一系列测试,经过不断完善,目前已经比较稳定,在低速情况下垂直负重8 kg正常工作不丢步,对大多数小型望远镜来说已经满足要求。在MaxIm DL软件使用自动调焦功能的截图(使用FocusMax等专用调焦软件自动调焦曲线更加平滑)见图 7,从图中可以非常清晰地看出星像半宽和焦距的关系,星像半宽最小处即为焦点位置。
电动调焦器的调焦分辨率为
$ R = \frac{l}{{wrs}}, $ | (1) |
![]() |
图 7 自动调焦界面 Fig. 7 Interface of Auto focusing |
其中,w为调焦机构的减速比;r为步进电机减速比;s为步进电机每圈步数(不计电机减速,即360度/步距角);l为对应的调焦座移动距离。设计采用减速比120:1、步距角7.5°的步进电机(每圈48步),调焦机构减速比为1:1,由于电动调焦器输出端转动一圈(5 760步)调焦座移动20 mm,调焦分辨率为3.472微米/步,该精度能够完全满足观测要求。为改善转动的平稳性,设计采用步进电机细分驱动模式,但不作为分辨率计算依据。
由于采用高减速比步进电机且不带编码器反馈系统,实际使用时传动机构齿轮间隙不能忽略,必须正确测量回差(齿轮间隙对应步数)并进行补偿才能保证调焦精度。如图 7,MaxIm DL软件自动调焦过程回差设置为20步,选择向外移动时补偿。
5 结语本文以极简方式完成了云南天文台丽江天文观测站10英寸米德望远镜天文电动调焦器设计,以手机应用程序代替手控盒,极大地优化了外形尺寸,发布了开源的天文公共对象模型驱动程序SS Focuser。实测结果表明电动调焦器具有很好的稳定性,完全满足设计要求,为天文电动调焦器设计提供了一些可借鉴的经验和方法。
致谢: 感谢云南天虎光学科技有限公司、临海市括苍光学仪器有限公司和昆明晶华光学有限公司对本文的技术支持!
[1] |
王川中, 苏丽颖, 韩军, 等. 远程天文台电源集成控制与监控模块的设计与实现[J]. 天文研究与技术, 2020, 17(1): 104–110 WANG C Z, SU L Y, HAN J, et al. Design and realization of remote observatory power integrated control and monitoring module[J]. Astronomical Research & Technology, 2020, 17(1): 104–110. |
[2] |
李晓燕, 朱庆生. 一种基于图像清晰度评价的天文望远镜自动调焦系统[J]. 天文研究与技术——国家天文台台刊, 2008, 5(3): 294–298 LI X Y, ZHU Q S. An automatic focusing system of astronomical telescope based on image definition evaluation[J]. Astronomical Research & Technology——Publications of National Astronomical Observatories of China, 2008, 5(3): 294–298. |
[3] |
苑嘉辉, 蔡洪波, 魏建彦. 基于能量集中度的广角望远镜自动调焦快速清晰度评价算法[J]. 天文研究与技术, 2017, 14(4): 472–480 YUAN J H, CAI H B, WEI J Y. Fast image definition evaluation based on energy concentration for auto-focusing on wide-angle telescope[J]. Astronomical Research & Technology, 2017, 14(4): 472–480. |
[4] |
苑嘉辉, 蔡洪波, 刘奇, 等. 广角望远镜实时自动调焦的清晰度评价方法[J]. 光学精密工程, 2017, 25(5): 1368–1377 YUAN J H, CAI H B, LIU Q, et al. Definition evaluation method for real-timeauto-focusing of wide-angle telescope[J]. Optics and Precision Engineering, 2017, 25(5): 1368–1377. |
[5] |
和寿圣, 辛玉新, 伦宝利, 等. 基于ASCOM和Modbus/TCP协议的天文圆顶控制系统[J]. 天文研究与技术, 2017, 17(3): 356–362 HE S S, XIN Y X, LUN B L, et al. Astronomical dome control system based on ASCOM and Modbus/TCP standard[J]. Astronomical Research & Technology, 2017, 17(3): 356–362. |
[6] |
翁海勇, 俞加明, 叶大鹏. 基于LM358的单片机掉电保护系统设计与实现[J]. 电子世界, 2013, 2(4): 38 WENG H Y, YU J M, YE D P. The design and implementation of single chip microcomputer power-off protection system based on LM358[J]. Electronics World, 2013, 2(4): 38. |
[7] |
林继鹏, 王君, 凌振宝. 温度传感器和一线总线协议[J]. 传感器技术, 2002, 21(2): 44–45 LIN J P, WANG J, LING Z B. Temperature sensor and its 1-wire bus protocol[J]. Journal of Transducer Technology, 2002, 21(2): 44–45. |
[8] |
熊远生, 刘春元, 蔡伟忠. 基于STM32的步进电机控制器设计[J]. 制造业自动化, 2019, 41(5): 39–41 XIONG Y S, LIU C Y, CAI W Z. Design of stepper motor controller based on STM32[J]. Manufacturing Automation, 2019, 41(5): 39–41. |
[9] |
张海超, 黄风光, 曹建树, 等. 基于STM32的步进电机加减速优化算法[J]. 北京石油化工学院学报, 2019, 27(2): 71–76 ZHANG H C, HUANG F G, CAO J S, et al. Optimization algorithm of stepper motor increase and decrease speed based on STM32[J]. Journal of Beijing Institute of Petrochemical Technology, 2019, 27(2): 71–76. |
[10] |
王维, 毛银盾, 陈国平, 等. FocusGEO软件系统的设计与实现[J]. 天文研究与技术, 2018, 15(2): 225–231 WANG W, MAO Y D, CHEN G P, et al. Design and implementation of software system for FocusGEO[J]. Astronomical Research & Technology, 2018, 15(2): 225–231. |