天文吧 关注:453,576贴子:2,905,468

DIY手机星野赤道仪

只看楼主收藏回复

好久没混贴吧了,就造福一下同好,就知道很多人用手机拍照,但赤道仪无奈真的太贵,这里就做个100块内的赤道仪吧,实测效果很棒,勉强可以扛单反



IP属地:广东1楼2019-01-28 14:42回复
    首先就是要准备材料

    材料里面有两个可能是比较多人有疑问的
    1电机,电机最好搜索NMB电机
    2蜗杆,蜗杆注意外径是5.5mm,长度8mm,孔2mm


    IP属地:广东2楼2019-01-28 14:44
    回复(5)
      然后整个的工作原理就是,单片机发送信号给驱动板,驱动板驱动电机,使用usb供电


      IP属地:广东3楼2019-01-28 14:46
      收起回复
        顶顶


        IP属地:江苏来自Android客户端4楼2019-01-28 14:51
        回复
          安装好软件和驱动,将单片机通过数据线连接到电脑,然后到计算机管理可以查看到是否安装好,以及对应是什么端口,micro的不用安装驱动,安装好Arduino ide就可以查看到

          然后是Arduinoide的使用,这软件也比较傻瓜,如果有现成代码,复制就能下载到单片机

          程序下载到单片机之前,就要先设置好配置,以及端口


          IP属地:广东6楼2019-01-28 15:00
          回复
            然后就是复制代码了,经过实测之后,那个减速比1000的电机,实际上是1:1012.5
            恒星速度约86160秒一周,那么电机蜗杆速度就应该是85.096秒一周
            步进电机是3.75°,96步一周,所以每一步应该是886.42毫秒。就有下面程序
            int a = 2; //定义一个参数a作为a+,a+为接口2
            int aa = 3; //定义一个参数aa作为a-,a-为接口3
            int b = 4; //定义一个参数b作为b+,b+为接口4
            int bb = 5; //定义一个参数bb作为b-,b-为接口5
            int ms = 886; //定义ms毫秒
            int us = 420; //定义us微秒
            void setup()
            {
            pinMode(a, OUTPUT); //a接口为输出
            pinMode(aa, OUTPUT);//aa接口为输出
            pinMode(b, OUTPUT); //b接口为输出
            pinMode(bb, OUTPUT);//bb接口为输出
            }
            void loop() //电极循环
            {
            digitalWrite(a, HIGH); //a+接正
            digitalWrite(aa, LOW);
            digitalWrite(b, LOW);
            digitalWrite(bb, LOW);
            delay(ms); //延时毫秒
            delayMicroseconds(us); //补偿延时微秒
            digitalWrite(a, LOW);
            digitalWrite(aa, LOW);
            digitalWrite(b, HIGH); //b+接正
            digitalWrite(bb, LOW);
            delay(ms);
            delayMicroseconds (us);
            digitalWrite(a, LOW);
            digitalWrite(aa, HIGH); //a-接正
            digitalWrite(b, LOW);
            digitalWrite(bb, LOW);
            delay(ms);
            delayMicroseconds (us);
            digitalWrite(a, LOW);
            digitalWrite(aa, LOW);
            digitalWrite(b, LOW);
            digitalWrite(bb, HIGH); //b-接正
            delay(ms);
            delayMicroseconds (us);
            }
            程序直接复制替换界面里的初始程序就行了,别漏了括号


            IP属地:广东7楼2019-01-28 15:03
            收起回复
              不过由于步进电机可以半步工作,比如两个电极同时通电
              这样一步就只有443.21毫秒,提高电机旋转精度
              int a = 2; //定义一个参数a作为a+,a+为接口2
              int aa = 3; //定义一个参数aa作为a-,a-为接口3
              int b = 4; //定义一个参数b作为b+,b+为接口4
              int bb = 5; //定义一个参数bb作为b-,b-为接口5
              int ms = 443; //定义ms毫秒
              int us = 210; //定义us微秒
              void setup()
              {
              pinMode(a, OUTPUT); //a接口为输出
              pinMode(aa, OUTPUT);//aa接口为输出
              pinMode(b, OUTPUT); //b接口为输出
              pinMode(bb, OUTPUT);//bb接口为输出
              }
              void loop() //电极循环
              {
              digitalWrite(a, HIGH); //a+接正
              digitalWrite(aa, LOW);
              digitalWrite(b, LOW);
              digitalWrite(bb, LOW);
              delay(ms); //延时毫秒
              delayMicroseconds (us); //补偿延时微秒
              digitalWrite(a, HIGH); //a+接正
              digitalWrite(aa, LOW);
              digitalWrite(b, HIGH); //b+接正
              digitalWrite(bb, LOW);
              delay(ms);
              delayMicroseconds (us);
              digitalWrite(a, LOW);
              digitalWrite(aa, LOW);
              digitalWrite(b, HIGH); //b+接正
              digitalWrite(bb, LOW);
              delay(ms);
              delayMicroseconds (us);
              digitalWrite(a, LOW);
              digitalWrite(aa, HIGH); //a-接正
              digitalWrite(b, HIGH); //b+接正
              digitalWrite(bb, LOW);
              delay(ms);
              delayMicroseconds (us);
              digitalWrite(a, LOW);
              digitalWrite(aa, HIGH); //a-接正
              digitalWrite(b, LOW);
              digitalWrite(bb, LOW);
              delay(ms);
              delayMicroseconds (us);
              digitalWrite(a, LOW);
              digitalWrite(aa, HIGH); //a-接正
              digitalWrite(b, LOW);
              digitalWrite(bb, HIGH); //b-接正
              delay(ms);
              delayMicroseconds (us);
              digitalWrite(a, LOW);
              digitalWrite(aa, LOW);
              digitalWrite(b, LOW);
              digitalWrite(bb, HIGH); //b-接正
              delay(ms);
              delayMicroseconds (us);
              digitalWrite(a, HIGH); //a+接正
              digitalWrite(aa, LOW);
              digitalWrite(b, LOW);
              digitalWrite(bb, HIGH); //b-接正
              delay(ms);
              delayMicroseconds (us);
              }
              不懂代码意思也不要紧,只要复制到Arduino ide就可以下载到单片机
              等程序下载到单片机,然后就可以按照前面的接线方式连接,就可以看到电机转动了,又或者可以在单片机的2345引脚上,接LED观察是否正常工作


              IP属地:广东8楼2019-01-28 15:04
              收起回复
                然后就是硬件部分了
                先要把蜗杆安装到电机上,蜗杆是紧配的,所以需要用力才能装到电机上,我这里就用个十几块包邮的虎钳压进去了

                然后拆掉原来的电机,用AB胶或者什么都好,把电机固定上

                最后连接好电机,单片机,和驱动板
                如果手机支持OTG,就可以连接手机,使用手机作为电源驱动

                提示可以通过电机菊花观测电机是否正常转动


                IP属地:广东9楼2019-01-28 15:09
                回复
                  然后制作基板,选择6mm厚的板材

                  把电机用AB胶固定到基板上,整理好板子和电线,赤道仪主体就完成

                  平衡杆可以用5-6mm厚的板材制作,建议用5mm,适配1/4云台螺丝的长度

                  M8手拧螺帽固定上就是完整的赤道仪了


                  IP属地:广东10楼2019-01-28 15:11
                  回复
                    动手达人


                    IP属地:四川来自Android客户端11楼2019-01-28 16:08
                    回复
                      原来黑灯巨老在这里呀


                      来自iPhone客户端12楼2019-01-28 16:13
                      收起回复
                        我以前用51单片机做过这东西。


                        13楼2019-01-28 16:24
                        收起回复
                          你用的是什么步进电机驱动模块?


                          14楼2019-01-28 18:30
                          回复
                            高人呀!


                            IP属地:河北来自iPhone客户端15楼2019-01-28 19:47
                            回复
                              厉害厉害


                              IP属地:河南来自Android客户端16楼2019-01-28 19:49
                              回复