DIY 赤道仪平台(Eq platform)上电动跟踪
很久没发贴了,很久以前做好了平台,本来想做电跟的,后来一直忙,就放下了,一放就放了这么久。。。。。。最近天气情况不错,牛反也很久没出来放风了,这几天用牛反来目视,明显感觉手动跟踪的不方便,特别是高倍观测时,终于开始动手做电跟了,迟来的电跟。。。。
由于是目视用,所以用了42 1:120减速步进电机直带,另处用了4*4的键盘用于调速,目前可用调速有8个档(还没实测,档多点看看那个比较适合,我的这个平台的速度不知道怎么算才精确,所以档多点先试下。
先上个图:
自制木质联轴器
整体图
单片机和驱动
4*4调速键盘
测试中
顺便也更新了电动调焦,改为步进电机调焦
电动调焦按钮
实测时,调速比较慢时,42电机有轻微震动,不过因为我的平台是上下分离的,下面的震动传不到上面,倒是没有什么影响。
好简洁的设备,这个是自动跟踪还是用手控制电机跟踪? CXIA 发表于 2015-4-26 21:56
好简洁的设备,这个是自动跟踪还是用手控制电机跟踪?
自动跟踪,可以手动调整电机速度
强大,支持DIY
阿呆 发表于 2015-4-26 22:26
强大,支持DIY
呵呵,我的这个是简陋型的,你的那个星野那才叫强大啊,精度超好!
luckyc 发表于 2015-4-26 22:03
自动跟踪,可以手动调整电机速度
但这个不是地平式么?难道可以自动定位那真是很强大啊...
CXIA 发表于 2015-4-26 23:00
但这个不是地平式么?难道可以自动定位那真是很强大啊...
这个不是地平式,是赤道仪平台,制作的时候是按纬度来制作的,原理在我以前发的这个贴子上有:
http://www.astronomy.com.cn/bbs/thread-225608-1-1.html
这个赤道仪平台,制作过程在这个贴子:
http://www.astronomy.com.cn/bbs/thread-230832-1-1.html
以前测试手动跟踪,8寸牛反,用25MM目镜,1小时15分钟,星点还在目镜内。
luckyc 发表于 2015-4-26 23:06
这个不是地平式,是赤道仪平台,制作的时候是按纬度来制作的,原理在我以前发的这个贴子上有:
http://ww ...
看明白了,底下的就是一个等价的赤经轴盘是吧,非常灵巧的设计。 CXIA 发表于 2015-4-26 23:09
看明白了,底下的就是一个等价的赤经轴盘是吧,非常灵巧的设计。
不错
联轴器都不买一个正经的? 本帖最后由 luckyc 于 2015-4-26 23:21 编辑
xiaoguilink 发表于 2015-4-26 23:13
联轴器都不买一个正经的?
哈哈,懒得上网买了,自制的也好用的,只要保持同心就好了,我这个用的是木质很硬的硬木,同心度做得还算OK。
另外,上面的调焦座那个铁的联轴器也是自制的。。。
你这是在高纬度地区吧 LDOS 发表于 2015-4-27 10:38
你这是在高纬度地区吧
不是,我这里的纬度不高,北纬23度,北回归线的线上
v2500 发表于 2015-4-27 19:21
强大,建议把这些东东装进一个盒子里吧
我准备直接把单片机和驱动固定在底板上,留出电源接口插拨电源就行了,再做一条5V的电源输出线,方便电动调焦用,这样,一个12V的电池,就可以全部搞定了
恩,我试过了,5V可以转,不过没带过主镜,我的主镜加上重锤有点重,所以怕力矩不够,所以选了12V,改天出去测试的时候,试试5V带主镜看看。 本帖最后由 luckyc 于 2015-5-1 01:31 编辑
今晚天气不错,继续调整程序和转速,不过只跟了一会,厚云就上来了,没法继续测试,但基本上可以同步跟踪了,目视用25mm目镜没什么问题了,还差上高倍调试,等天气好了再继续高倍调整,调试有点成果,按键也重新调整了一下,增加了恒星速和月亮速。
4*4键盘用了8个:
减速和加速,每按一次加减速一个档,可以加减到很快和很慢
顺便C代码也贴上,备查#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uintunsigned int
uchar code FFW={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};
uchar code REV={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};
unsigned char key=0xff;
void readkey();
void delay(uint e);
void motor_ffw(uint n);
void motor_rev(uint n);
void main()
{
uchar t;
t=105;
while (1)
{
readkey();
if(key!=0xff)
{
switch(key)
{
case 0xee:
motor_ffw(1);
continue;
case 0xde:
motor_rev(1);
continue;
case 0xbe:
motor_ffw(t);
continue;
case 0x7e:
motor_rev(t);
continue;
case 0xed:
t=47;
delay (200);
continue;
case 0xdd:
t=105;
delay (200);
continue;
case 0xbd:
t=t+10;
delay (200);
continue;
case 0x7d:
if (t<10)
{
t=1;
}
else
{
t=t-10;
}
delay (200);
continue;
}
}
motor_rev(t);
}
}
void readkey()
{
P1=0xfe;
key=P1;
if (key!=0xfe)
return;
P1=0xfd;
key=P1;
if (key!=0xfd)
return;
P1=0xfb;
key=P1;
if (key!=0xfb)
return;
P1=0xf7;
key=P1;
if (key!=0xf7)
return;
key=0xff;
}
void delay(uint e)
{
uint k;
while(e--)
{
for(k=0; k<125; k++)
{ }
}
}
voidmotor_ffw(uint n)
{
uchar i;
for (i=0; i<8; i++)
{
P2 = FFW;
delay(n);
}
}
voidmotor_rev(uint n)
{
uchar i;
for (i=0; i<8; i++) //一个周期转30度
{
P2 = REV;
delay(n); //调节转速
}
}
页:
[1]
2