天文吧 关注:456,489贴子:2,907,647

自制导星相关

只看楼主收藏回复

最近在自制一个onstep一样的导星系统,就是从图像识别,到串口通讯,到单片机控制电机从头开始写代码
现在已经把图像识别和偏移量计算用C++的OPENCV库解决了,但是因为我没有用过电跟,所以不知道偏移量到单片机后该怎么控制步进电机....
就比如说DEC轴接受偏移信号后正反转的角度(输入给步进电机的脉冲个数)该是多大,RA轴接受信号后是该加减速(脉冲之间的间隔时间)还是正反转(脉冲个数),如果是加减速该加减多少,如果是正反转该转多少角度?
我现在的想法是在偏移量(单位是像素)前面乘一个系数,然后转换成整型数据发送到单片机,比如说DEC的电机对应的那个单片机,就控制DEC轴正反转我发过来的数据的那么多脉冲,所以问题就是确定这几个系数(乘在前面的系数)和运动规律(该加减速还是正反转),对于那几个系数我的想法是利用反馈调节,通过偏移量和修正量的大小反馈调节这几个参数,对于运动规律,我的想法是让RA轴进行加减速(因为理论上这个地方应该是地球自转的速度),让DEC轴正反转。
我使用的是两个51单片机分别控制,上位机是我的电脑,程序写在VS2019里面的,赤道仪是自制的双谐波赤道仪。请问吧里面有大佬知道这些相关的东西吗,可以给我一些思路吗?


IP属地:上海来自Android客户端1楼2022-05-20 21:22回复
    希望大佬指引


    IP属地:上海来自Android客户端2楼2022-05-20 21:24
    回复
      这些地方没有实验过我也不知道结果怎么样


      IP属地:上海来自Android客户端3楼2022-05-20 21:24
      回复


        IP属地:上海来自Android客户端4楼2022-05-20 21:24
        回复


          IP属地:上海来自Android客户端5楼2022-05-20 21:24
          回复


            IP属地:上海来自Android客户端6楼2022-05-20 21:24
            回复


              IP属地:上海来自Android客户端7楼2022-05-20 21:24
              回复


                IP属地:上海来自Android客户端8楼2022-05-20 21:24
                回复


                  IP属地:上海来自Android客户端9楼2022-05-20 21:24
                  回复
                    让RA轴加减速的意思是让他有一个初始的速度,这个速度就是我测试出来的地球自转速度我,在这个基础上变速


                    IP属地:上海来自Android客户端10楼2022-05-20 21:30
                    回复
                      知网上大部分的论文都是讲星点怎么定心,但是控制这方面的论文几乎没有


                      IP属地:上海来自Android客户端11楼2022-05-20 21:38
                      回复
                        你这个太专业了,很少有人能知道,不过我是希望你能研究出来,加油


                        来自Android客户端12楼2022-05-20 23:08
                        收起回复
                          步进有细分可以设置,就是多少个脉冲一度在步进驱动器可以设置。如果你不用驱动器直接用步进芯片驱动步进电机的AB相,那就要看步进电机的步距角自己算一下。一般步进都差不多的好像是1.8度。而且步进的驱动单片机的样例茫茫多。随便都能找到。单片机最简单的应用了。问题是你图像识别之后是转换成角度么。如果确定是角度的话,这玩意还是挺简单的应该


                          IP属地:江苏来自Android客户端14楼2022-05-20 23:32
                          回复
                            51单片机直接控制步进驱动器的话,就用定时器中断发脉冲给驱动器就完事了。驱动器有脉冲,和方向。看你往哪个方向发多少个脉冲就完事了。这个转速很慢的,脉冲频率设很低就可以。


                            IP属地:江苏来自Android客户端15楼2022-05-20 23:34
                            收起回复
                              我现在的编程逻辑是,在我的导星函数里面加两段脉冲-像素移动距离比例系数测量的代码,让电机运动给定的脉冲,考察两个轴基向量方向上移动的像素距离,这样就可以求得传递参数的初始值,在导星函数的死循环里面,加入比较历史偏移量,每一次都比较和上一次的偏移量,如果发现位移越来越大,大于我给定的阈值,那么说明参数小了,这时候我以0.1的步长加大传递参数,这样实现的自反馈调节。
                              在单片机这边,对于DEC轴的电机,当然我传给他参数后他直接快速运行这么多脉冲,然后停止,等待下一组数据传过来;对于RA轴的电机,先是在一个我测量好的初始速度匀速转动,当收到上位机调整信号后,停止匀速运动,在中断函数里面,快速的运动指定脉冲,运行完中断函数后又跳回主函数,这样我认为是我能想到的最好的解决办法了。


                              IP属地:上海来自Android客户端16楼2022-05-22 00:28
                              回复