牧夫天文网

 找回密码
 加入牧夫(请注明天文爱好者,否则无法通过审核)

QQ登录

只需一步,快速开始

半自动GOTO系统完工了(附电路图)

  [复制链接]
ddr 发表于 2010-10-9 22:24 | 显示全部楼层 来自: 北京市 鹏博士BGP
恢复54楼  rabbitgg75

54 楼说关于浮点的计算 估计是你没有弄清楚 赤道仪命令;星图软件发送 Ms 命令前发送 Sd Sr 发送了星座坐标的,星座的坐标不依赖于你的地理位置;所以不用经过复杂的三角运算 运算的只有把 角度或者时角转换为步进电机的步数而已  这点计算8为的AVR完全没有问题,也不像你说的失去了星图控制的乐趣;至于你使用RTC 模块来定时好处是有的 不过其实完全可以使用单片机的定时器完成 RTC模块好像没有恒星时功能,地方时转换恒星时比较麻烦;不过完全可以打开电跟是只进行一次计算 工作期间以打开时刻为基础进行恒星时累加即可;要麽只在系统空闲时进行计算。不过我感觉没有必要,毕竟是道义RA 轴就相当于一个钟表不过是恒星时钟表,赤道仪goto使用前肯定是要进行方向校对和最少一星校准的 其实就相当于对表了完全,没有必要使用RTC;如果想让他更精确 想办法把单片机定时器调整的更精确 就是了晶振使用高稳定晶振 我感觉没有太大必要,机械精度远远没有电子精度高。每天跑快或者慢1分钟 对于30分钟跟踪来说并不算太坏吧。还有我的电跟并不是只能用我做的那个上位机才能工作的 使用支持lx200 协议的skymap k3 等软件都没问题,我的上位机虽然有goto输入但是那个完全和 星图软件发送命令是相同的。上位机软件主要作用是对电跟进行配置;考虑到diy 每人的赤道仪 和外部齿轮 电机步进角等可能不同 所以它不能使用所有的赤道仪 但是可以根据你用的齿轮参数电机参数改变电跟的内部参数就可以使用与多数赤道仪而不用专门加工齿轮等去适应这个电跟 毕竟较改改参数要比改硬件方便的多。
回复 支持 反对

使用道具 举报

ddr 发表于 2010-10-9 22:47 | 显示全部楼层 来自: 北京市 鹏博士BGP
stm32  不错 便宜 呵呵
回复 支持 反对

使用道具 举报

capa1983 发表于 2010-10-9 23:11 | 显示全部楼层 来自: 广东省广州市 电信
隔行如隔山,文科生来这里飘过,实在不懂
回复 支持 反对

使用道具 举报

flydoc 发表于 2010-10-10 19:33 | 显示全部楼层 来自: 福建省福州市 电信
牛X啊,我也想自己DIY一个,不过要先恶补下单片机。电路什么的。先做个记号。
回复 支持 反对

使用道具 举报

rabbitgg75 发表于 2010-10-10 23:13 | 显示全部楼层 来自: 四川省绵阳市 电信
回复 61# ddr

DDR兄果然高见啊!!一席话让我豁然开朗。“RA 轴就相当于一个钟表不过是恒星时钟表”,经典!

不过我觉得RTC还是要的,毕竟要随时反馈RA和DEC给星图软件,让星图软件指示镜子的位置,呵呵。当然,用你的方法,计算一次就OK了!用计数器定时回受到程序影响,误差还是比较大,跑时间长了可能不行,RTC的精度还是比较高的。
回复 支持 反对

使用道具 举报

rabbitgg75 发表于 2010-10-10 23:14 | 显示全部楼层 来自: 四川省绵阳市 电信
回复 62# ddr


    STM32现在火啊,资料也多,有空了也搞块来玩儿玩儿。
回复 支持 反对

使用道具 举报

ddr 发表于 2010-10-11 08:54 | 显示全部楼层 来自: 山东省烟台市 联通
回复 65# rabbitgg75


    你的使用RTC 其实我还没有搞明白,返回 RA DEC 坐标和时间又有什么关系呢? 比如望远镜指向 一个目标后,上位机再查下 这个坐标都是不变的 虽然赤道仪还在跟踪运动状态。你做的只是一开始让goto的内部坐标和天球坐标一致而已。我感觉RTC 的作用最多可以作为晶振的校准而工作。比如 1分钟电机需要600步,但是单片机定时器只让做了599 或者600多 ,那么根据RTC 时间进行一次纠正。不过这样纠正算法不知道会不会让电跟走的不稳定。RA 轴虽然相当于一个钟表,但是只是他走动形式;如果在跟踪状态 返回坐标是不变的。因为他指向的目标坐标是不会变的 虽然目标看似天上自东向西运动,否则恒星坐标就不是恒定的了(岁差不计);说起当地恒星时 就是当地子午线在天球坐标上的赤经。
赤道仪跟踪状态 只是为了补偿地球的自转,赤道仪以1x 前进时 这个时候 RA 和DEC 返回的坐标就是一个真正的恒星时钟表了,不过RA轴1天要跑2圈了。
至于定时器不准的问题 如果你定时器使用自动装填方法,程序没有什么不妥不至于丢中断 精度还是可以保证的。如果使用非自动装填方式,你可以初始化定时器时让他速度稍微快一点点,然后在状态定时器之前插入以下nop 指令 调整定时器时间,这个通过仿真是可以搞定的。比如我做的电跟跟踪速度每秒电机要走128步;我把定时器设定在19200 hz 上,这样对其进行150分频后就可以得到准确的频率了。不要担心定时器精度 有人用它做钟表 一周误差时间也就几秒。
回复 支持 反对

使用道具 举报

errai 发表于 2010-10-11 09:13 | 显示全部楼层 来自: 浙江省宁波市 电信
占位备查...........................
回复 支持 反对

使用道具 举报

rabbitgg75 发表于 2010-10-11 09:49 | 显示全部楼层 来自: 四川省绵阳市 电信
回复 67# ddr


    谢谢DDR兄的耐心解答,由于刚在一个月前才买的镜子,第一次用赤道仪,天文知识几乎为零,呵呵,所以还有几个问题:
  在goto同步的时候,并没有告知赤道仪现在同步所指的具体RA,如何得知?返回星图软件需要,不然,星图软件(我用stellarium)上的的望远镜指示会不正确,也无法进行goto另一个目标。
  定时器在处理中断的时候,中断处理程序里语句越多,是否会在中断处理完成后再进行定时器计数,还是在处理中断的同时,进行计数?看你定时器150分频,如何做到的?不是只能。。64.256、1024这些吗?
回复 支持 反对

使用道具 举报

rabbitgg75 发表于 2010-10-11 12:29 | 显示全部楼层 来自: 四川省绵阳市 电信
重新看了看CM命令,原来在发CM之前就发了Sr和Sd,哈哈,这下就OK了,谢谢DDR!
回复 支持 反对

使用道具 举报

ddr 发表于 2010-10-11 16:40 | 显示全部楼层 来自: 山东省烟台市 联通
goto 和 同步之前 都会发送 Sr Sd 的用来设置目标位置 至于这个目标位置环是用来goto还是用来同步就看后面跟着的命令了。
定时器在他的中断中是不会停止计数的。比如8位定时器 在自动装填状态 top 是可以自定义的,那么就可以在255范围内进行随意的分频了;不过不一定都有自动装填,假设使用溢出中断 top 溢出;比如进入中断时立即把计数器的数值强制更新到一个数 比如跟新为128 ,那么就从128开始计数了 那么就进行了最大是256-128 的分频。之所以说是最大因为这是不准确的,mcu 进入中断和强制更新计数器都需要时钟周期 所以会带来实际的分频比略大的问题,所以你可以让分频吧做的稍微小一点点,进入中断后不立即进行计数器跟新,在更新前适当的插入以下 nop 指令去调整定时器误差。我的做法是在定时器你驱动一个io 输出方波,方波接频率计 这样这个方波的频率就是定时器频率的1/2,根据这个调整让他产生你要的频率,当然我是在protues 仿真调整的 我没有那些仪器。不过我是使用的类似ctc 方式的。我使用了mega16 timer1 的比较中断,定时计数器和比较寄存器内相等时就发生中断,我在每个匹配中断中更新比较器内容比如每次进行+100;这样就没有干扰定时器运行,只要改变+??? 就可以改变频率的了。定时器是16位的 定义的割word变量 不用担心溢出问题 二者是同步的。
回复 支持 反对

使用道具 举报

rabbitgg75 发表于 2010-10-13 00:59 | 显示全部楼层 来自: 四川省绵阳市 电信
回复 71# ddr


    谢谢DDR兄的指教,我的goto部分也基本搞好了,现在还有个问题想请教一下:
我配合stellarium星图软件,每次slew到一个位置后,是否下位机要给上位机发个什么完成的标志?可是lx200中并没有相关描述。不然,没办法进行第二次slew,一直会报slew过程中。
回复 支持 反对

使用道具 举报

ddr 发表于 2010-10-13 07:47 | 显示全部楼层 来自: 山东省烟台市 联通
lx200 没有完成命令返回的数据的命令,不过没有关系 stellarium 并不关心命令是否完成 它只是忠实的取得赤道仪坐标在星图上显示而已。如果你自己做ascom 驱动 可以做到ascom 驱动里面 。
回复 支持 反对

使用道具 举报

wolfbeard 发表于 2010-10-13 16:54 | 显示全部楼层 来自: 上海市 上海颐翔通信有限公司电信节点
本帖最后由 wolfbeard 于 2010-10-13 16:58 编辑

请问ddr,我做的是经纬架子,要用高度和方位,有办法把ALT/AZ从stellarium里面弄出来吗?我看它串口和tcp/ip发出来的都是RA和DEC。实在没办法我只好写个小软件通过本地端口取stellarium的RA和DEC,然后计算高度和方位传给步进电机驱动板了,再就是手敲。赤道仪还好点,只要校准以后把校准的时间叠到RA上就差不多了,我这个真是头疼。原来以为telescope会把高度和方位还有时角一起给出来呢,在端口一看,只有RA/DE,真失望。
回复 支持 反对

使用道具 举报

ddr 发表于 2010-10-14 09:16 | 显示全部楼层 来自: 山东省烟台市 联通
经纬台比赤道仪麻烦的多,首先经纬台跟踪就很有问题,普通的8位单片机很难完成跟踪任务,如果可愿意使用32位单片机估计还行。LX200 驱动在初始化时 会询问赤道仪类型的,如果是标准的lx200 驱动,上位机首先会发生0x06 ACK 命令,然后 goto会返回 A AltAz 模式这个是方位角仰角吧 返回 L 是 Land Mode 不知道啥意思 返回 P 就是赤道仪 天球坐标。我想 如果你做的经纬台goto 应该返回 A 也许是 L 吧;
当然 相应的 你要查询命令我想因该支持 GA GZ ,Ga Gz  goto 命令变成 MA;当然这是我的猜想我没有试验过 不过我想应该差不多。我想如果 星图软件查询到了赤道仪类型相应的 他的命令也会随着改变。
回复 支持 反对

使用道具 举报

wolfbeard 发表于 2010-10-14 10:05 | 显示全部楼层 来自: 北京市 电信
我是架双筒,不跟踪,就目视寻星玩,我看了ASCOM,也是上来就问E,就是不发06,再后面就是一堆乱七八糟,太麻烦了,我还是自己用VB写个外挂凑合着吧,慢慢再琢磨怎么弄个插件什么的,跟你们慢慢学吧。
回复 支持 反对

使用道具 举报

cccp123 发表于 2010-10-14 10:13 | 显示全部楼层 来自: 四川省达州市 电信
建议LZ出成品套件出售方便广大 囊中羞涩的爱好者们!
回复 支持 反对

使用道具 举报

 楼主| dragon88 发表于 2010-10-17 12:08 | 显示全部楼层 来自: 安徽省合肥市 电信
回复 支持 反对

使用道具 举报

seaingreen 发表于 2010-10-21 14:13 | 显示全部楼层 来自: 上海市 联通
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

disremember 发表于 2011-3-17 19:28 | 显示全部楼层 来自: 河北省保定市 电信
您的goto电路图.sch打不开,我用的是Protel 99 SE

怎么办?
回复 支持 反对

使用道具 举报

本版积分规则

快速回复 返回顶部 返回列表