单片机在赤道式天文望远镜控制系统中的应用

发布者:暗里著迷最新更新时间:2011-12-17 关键字:单片机  天文望远镜控制 手机看文章 扫描二维码
随时随地手机看文章

一 前言

  纵观当前国内的望远镜市场,大大小小的望远镜都配上了电脑,实现PC机控制,这样无形之中就增加了产品的生产成本,使一些原本不必要配电脑的中小型望远镜也必须得配一台电脑,脱离了电脑,就只能进行一些简单的手动操作,令人苦不堪言,本人主要就这一方面作了一些粗陋的研究,用单片机的汇编语言编制了望远镜自动找星的程序,实现了把手盒自动找星的功能。

二 系统硬件概述

  本控制系统的核心部分是采用双串口的CPU(W77E58芯片),可以同时和上位机及把手盒通信,也可以单独和他们通信,一片XC95108-84负责计数分频等工作,一片MC146818时钟芯片,用来产生恒星时,附加一些外围接口电路,具体详情见(图一),因为本文着重介绍的是算法部分,因此硬件部分不再细述。

    下位机系统方框原理图(图一)

三 软件部分

  具体地讲,软件总的可以分为四大部分:PC机(工控机)部分,把手盒部分,下位机部分以及功放模块部分。其中PC机和把手盒分别与下位机的主电脑CPU(W77E58)通信,由串行电缆连接,实现通信,功放模块(驱动部分)与下位机连体,由数据线直接连接,下面我们主要介绍下位机软件的设计流程及算法思路:

  1、 设计思路

  我们应该明确该设计的目的,即实现望远镜自动找星的功能,具体地说,首先得给望远镜进行位置的准确标定,即选中天空中的某一颗已知星,由把手盒手动操作,把它找进望远镜视场的正中央,放在主镜的十字线的中心,此时把这颗星的坐标位置由把手盒输入进去,定标替换望远镜原来的位置,然后以这颗星为基本点,根据时角和赤纬去找寻天空中的任意一颗未知的星,由于系统在程序中做进了掉电保护模块,因此,对望远镜而言,调试完毕之后只需要标定一次,以后每次关机之前系统都会自动保存望远镜当前的实时位置,给用户带来了极大的方便,自动找星时,我们给望远镜输入天空星体的天文坐标(α,δ)之后,望远镜根据当前自身指向的天区位置以及待寻目标星所处的天区位置选择一条合适的路径,驱动赤经、赤纬电机转动使其指向目标星,让目标星体落入望远镜视场,找星结束后自动转入跟踪,望远镜的指向与天体的坐标是通过恒星时联系起来的,因此我们需要知道恒星时,每次观测之前要先校正一下恒星时,恒星时由程序配合手动校正,并显示于面板上。由公式 t+α=s①

  其中t是星体的时角位置

  α 是星体的赤经值

  s 是当地的地方恒星时

  显然我们可以把望远镜的时角和星体的时角对应起来,在跟踪状态时,为了克服地球自转的影响,时角在以每时秒15个角秒的速度沿着反地球自转方向匀速运动,因此在赤经方面主要是实时地采集当地的地方恒星时,不停的刷新显示,计算目标星的时角,最终让望远镜的动态时角值等于目标星的时角,这样赤经找星完毕;在赤纬方面,因为恒星的赤纬是不变的,所以我们只需要将望远镜的动态赤纬显示值不断的靠近目标星的赤纬值,不过对赤道式望远镜而言,得需要考虑望远镜的所处天区的位置以及目标星的位置,选择合适的找星路径,确保望远镜的镜筒的姿势正确,至于限位部分,可以根据客户要求自行设定。[page]

  2 、下位机软件流程图

3、子程序部分

  (1)键盘输入及显示部分

  在该系统中,我们选用了8279芯片,在程序中查询键值,送入固定单元,如果无键按下,则送#0FFH入固定单元,然后查询此单元,如果为#0FFH,则返回,否则根据单元的键值内容转入相应的功能子程序;而显示部分主要把待显示的数据经过拆分成7位(本系统采用7位数码管显示),分别送给显示缓冲区,由查表的方式从表中取出7个相应的字型,送到8279数据口实现动态显示,8279的键盘扫描及显示方式是通过初始化编程来实现的,8279初始化部分程序如下:

  MOV DPTR, #7FF0H; 8279芯片的状态地址

  MOV A, #0D1H; 清除命令

  MOV @DPTR, A; 命令字送入

  LL: MOV A, @DPTR; 读8279状态字

  JB ACC.7, LL ; 清除等待

  MOV A, #08H; 显示器左边输入外部译码,双键互锁方式

  MOV @DPTR, A; 命令字送入

  MOV A, #2AH; 时钟编程命令

  MOV @DPTR,A; 命令字送入

  RET; 返回

  (2)MC146818时钟部分

  MC146818芯片是摩托罗拉公司生产的一种可编程的时钟芯片,该系统中用它来读写恒星时,其中一些主要的操作就是芯片的初始化,读时间操作,写时间操作几大部分,在使用该芯片进行执行读/写时间操作时,必须得注意,要首先查询它的状态看它是否正在刷新数据,如果是,必须等刷新数据动作完成之后再对芯片进行读/写操作,否则容易出错,MC146818的初始化部分程序如下:

  MOV DPTR,#0BFCAH; A寄存器口地址

  MOV A,#26H; 命令字

  MOVX @DPTR,A

  INC DPL; B寄存器口地址

  MOV A,#1AH; 命令字

  MOVX @DPTR,A

  RET; 返回

  读时间子程序:

  MOV DPTR, #0BFCAH

  AA: MOVX A, @DPTR; 读取状态字

  ANL A, #80H

  JNZ AA; 芯片是否正在刷新?否,读取数据

  MOV DPTR, #0BFC0H;读秒单元

  MOVX A, @DPTR

  MOV @R1, A

  INC R1

  MOV DPL, #0C2H; 读分单元

  MOVX A, @DPTR

  MOV @R1,A

  INC R1

  MOV DPL, #0C4H; 读时单元

  MOVX A, @DPTR

  MOV @R1, A

  RET; 返回

  写时间的子程序同上类似,不再多述。

  (3)串行通信子程序

  W77E58实现双串口通信,初始化完毕后进入主流程,逐个查询串口是否有通信数据请求,如果有则进入通信子程序执行并返回,否则程序直接往下执行,把下位机的数据分别发送给把手盒和工控机,等待接收控制命令。具体的初始化程序如下:

[page]

  MOV TCON,#50H; 定时器/计数器状态设置

  MOV TMOD,#21H; 定时器/计数器方式设置

  MOV PCON,#00H; 电源控制器设置

  MOV SCON,#53H; 串行口0工作方式设置

  MOV TL1,#0FDH; 计数常数设置

  MOV TH1,#0FDH

  MOV SCON1,#53H; 串行口1工作方式设置

  MOV TH0,#3CH; 计数常数设置

  MOV TL0,#0B0H

  RET; 返回

  (4)标定子程序流图

(5)自动找星子程序

  首先根据输入的目标星的赤经值,取出当地的地方恒星时S,通过计算,换算成目标星的时角值to,然后读取望远镜此时的实时位置值tt,根据他们赤经时角所处的天区差异来选择不同的找星路径,具体情况可以分为以下几种:

  1) 如果望远镜与目标星的时角处于同一天区(以望远镜的中柱为轴线,分为东西两大天区,人为设定),则先驱动赤纬轴,再驱动赤经轴,直到找到目标星,进入跟踪。

  2) 如果望远镜与目标星的时角处于不同天区,即跨天区找星,则先驱动赤纬轴,让赤纬指向北极,再驱动赤经轴,然后再驱动赤纬轴,直到找到目标星,进入跟踪。

  另外,由于我们的位置反馈信息是来自增量式圆光栅编码器,而赤纬的度数始终在(-90,90)区间,因此还需要进行一下特殊处理。

  剩下的就是典型的追击问题,以赤经为例,具体流程图如下:

四 结束语

  经过一个多月的实际使用观测,望远镜系统运行良好,平稳无噪音,找星定位准确,精度高,能适用于各种大中小型的望远镜。

 

关键字:单片机  天文望远镜控制 引用地址:单片机在赤道式天文望远镜控制系统中的应用

上一篇:一种基于SPCE061A单片机的燃气炉灶语音控制装置
下一篇:基于单片机的某医用灭菌器控制系统开发

推荐阅读最新更新时间:2024-03-16 12:48

基于Proteus的51单片机实时时钟的仿真设计
  单片机技术应用于各行各业,是一种实用的智能型控制技术,单片机技术的发展极大地推动了电子、通信、计算机、机电一体化等行业的快速发展,成为当前教学和科研的热门技术。本文详细介绍一种新型的单片机仿真软件Proteus,利用它可以实现单片机教学中很多面向端口、外围设备扩展控制型实验的仿真,提高教学效果,进一步缩短教学与工程实际的距离。   1Proteus简介   ProteusISIS是英国Lacenterelec-tronics公司开发的电路分析与实物仿真软件,应用范围十分广泛,涉及PCB制版、Spice电路仿真、单片机仿真以及对ARM7/LPC2000的仿真。Proteus主要由ARESISIS两大模块构成,ARES主要用于
[单片机]
基于Proteus的51<font color='red'>单片机</font>实时时钟的仿真设计
一种数控DC电流源的设计与实现
系统硬件系统设计 本设计采用单片机作为主要控制部件,通过键盘预置输出电流值并采用液晶模块实时显示。整个系统硬件部分由微控制器模块、电压-电流转换模块、键盘模块、显示模块、直流稳压电源模块和语音提示模块组成。系统结构框图如图1所示。 图1 数控DC电流源系统 微控制器是整个系统的核心,负责整个系统的运作。为了能够做到硬件电路简单,系统性能稳定可靠,便于实现语音播报、键盘设置和信息实时显示等功能的协调,通过多种方案论证后,选用凌阳十六位单片机SPCE061A。该单片机采用现代电子技术——片上系统SOC(system on a chip)技术设计而成,内部集成有ADC、DAC、PLL、AGC、DTMF、LCD-DRIVER等
[单片机]
一种数控DC电流源的设计与实现
单片机实验期末考试-使用两个外部中断控制8只LED显示的电路
在51单片机的某一IO口上接8只LED,在外部中断0输入P3.2(INT0)引脚接一只按钮开关K1,在外部中断1输入P3,.3(INT1)引脚接一只按钮开关K2。要求K1和K2未按下时,8只LED呈流水灯逐一动态显示【方向自定义】,当K1按下时,8只LED奇数偶数位交替闪烁,按下K2时,8只LED以特定时间间隔动态的显示你的学号,多个学号以特定花型。 #include SST89x5x4.h #include Intrins.h unsigned int arr1 = {0x03, 0x01 , 0x04, 0x01, 0x04, 0x00, 0x04, 0x02}; unsigned int arr2 = {0x03,
[单片机]
EMC技术在单片机系统中的应用
EMC电磁兼容性包括EMI(interference)和EMS(susceptibility),也就是电磁干扰和电磁抗干扰。随着智能化技术的发展,单片机的应用也日益广泛。虽然单片机本身有一定的抗干扰能力,但是用单片机为核心组成的控制系统在应用中,仍存在着电磁干扰的问题。为防止外界对系统的EMI,并确保单片机控制系统安全可靠地运行,必须采取相应的EMS措施。 1 EMI的产生原因分析 在单片机系统的工作环境中,往往有许多强电设备,特别是电机启动和继电器的吸合将对单片机产生强烈的干扰,使用示波器的话可以看到电源电压波形上有明显的毛刺干扰。此外受到条件限制有时单片机控制系统的各部分之间要有较远的距离,数据和控制线使用较长的导线且没有良好
[单片机]
基于多线程温度控制专家系统
0 引言     随着科学技术的发展,温度的自动控制已经广泛地应用在生产和生活中,因此对自动控温方法的研究具有很强的实际意义。由于温度具有大惯性和纯延滞的非线性特性,实际温度控制过程的复杂性又使温度控制系统的参数不易确定,因此实际的温度控制系统是一个复杂的自动控制系统,用一般的控制理论难以得到较为满意的结果。以此为目的,在此设计了基于80C196KB单片机为核心的温度控制系统,通过多线程和专家系统优化程序的算法,对温度进行闭环控制,从而达到精确控温的目的。 1 硬件系统设计     图1为系统原理框图,通过图示可以看出,硬件系统分为:温度采样及放大、显示、按钮输入、温度控制四个部分。系统首先通过AD590采样将温度信号转化为电压信号
[嵌入式]
51单片机中关于波特率的介绍
在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在8051串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器T1的溢出率控制。 方式0 方式0的波特率固定为主振频率的1/12。 方式2 方式2的波特率由PCON中的选择位SMOD来决定,可由下式表示: 波特率=2的SMOD次方除以64再乘一个fosc,也就是当SMOD=1时,波特率为1/32fosc,当SMOD=0时,波特率为1/64fosc 方式1和方式3 定时器T1作为波特率发生器,其公式如下: 波特率= 定时器T1溢出率 T1溢出率= T1计数率/产生溢出所需的周期数 式中T1计数率取决于它工作在定时器状态还是计
[单片机]
51<font color='red'>单片机</font>中关于波特率的介绍
STM8S单片机的内部eeprom编程
简介:STM8S单片机芯片内部也集成有EEPROM,容量从640字节到2K字节。最为特色的是,在STM8单片机中,对EEPROM的访问就象常规的RAM一样,非常方便。EEPROM的地址空间与内存是统一编址的,地址从004000H开始,大小根据不同的芯片型号而定。 当然如果有外部EEPROM,自然是不会使用到内部的EEPROM的。但小东西也有大用途,例如做无线应用时,减少成本的情况下,还能保存一些特定设置,如:休眠时间,工作频率,输出功率,密码等。 EEPROM的3种编程模式: l字节编程(没有擦除操作) 可对EEPROM的数据区域进行逐字地编程。应用程序直接向目标地址写入数据。 l字编程 EEPROM允许字
[单片机]
海速芯8位MCU-TM52F1376用于电动剃须刀
电动剃须刀由不锈钢网罩、内刀片、微型电动机和壳体组成,其中主控方面控制按键开关、电机驱动、电源管理等,为保证性能,电动剃须刀需要选用一个稳定性能好的MCU。本文将推荐海速芯高性能、高稳定性的8位MCU-TM52F1376应用于电动剃须刀。 海速芯8位MCU-TM52F1376的主要应用优势特点如下: ①采用8051内核、8bit的MCU,主频高达18MHz,因而拥有高性价比、稳定性好的特点,适合电动剃须刀上的应用,节约成本; ②拥有3ch PWM控制资源,满足电动剃须刀对于电机方面的控制; ③封装形式多样,满足不同设计需求,同时可以有效简化PCB面积; ④工作温度为-40℃~85℃,非常适合对于消费类电子产品即电动剃须刀上的应
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved