当前位置:[北京同好会]>[制作]>[通用WebCam导星系统]

 

通用WebCam导星装置试验

[最后更新2004-03-25]

这个制作的目标是一个通用的使用摄像头的自动导星系统,可以接在双轴电驱动赤道仪的控制手柄上执行模拟按键操作。对控制手柄的要求是其按键信号为电平控制。

通过与新疆乐天派的王利东、高兴等同好的交流,准备制作一个用于威信DD-1控制手柄的自动导星装置。

一、系统组成

1)网络摄像头:使用VFW驱动的数字摄像头
2)控制软件:编制的CCDTRACKER控制程序
3)转换器:外接在计算机串口上,将串行通信指令转换为开关信号

二、转换器电路制作

转换器电路的制作费了些周折,看来开始考虑的还不够全面。

首先请新疆王利东、高兴同好拍摄了DD-1的线路板照片,并据此判断按键的连接形式为一端〈2〉连接VCC;一端〈3〉通过电阻连到地〈1〉



说明书中的电源电压为7.5V-12V,从板上看不出是否经过降压稳压。因为MAX232需要5V电源,而51单片机是TTL/CMOS输出,如果电压为7.5V以上,则带来电压和电平转换的问题,为此在第一次制作的电路中使用了7805和LM324。

3月15日高兴同好将DD-1的引出连线焊接好后测量其VCC的电压是5伏,这样稳压电路不需要了,所以建议高兴将7805拆除。

熟料19日再试验发现用手动控制(软件)没有反应。经仔细检查,焊接没有问题,测量中发现软件确实可以控制各方向按钮,但每次触发后输出到DD-1的控制电压只有1.22伏左右,而根据手控DD-1按钮测量的按钮电压为5V。

当时的判断是电路如下:

右侧为根据照片判断的DD-1电路。平常按键处于断路状态,控制IC的输入为0V。按键按下后IC的输入变为5V。电阻R(电阻排RA3)阻值不详。

左侧为转换器的输出部分。串口信号经单片机处理后由运放324输出,通过2K电阻连到DD-1上去。限流2K电阻的作用是防止在计算机控制输出低电平(即不动作)时按下按键可能造成的电路损坏。

在设计电路时估计电阻R的阻值较大,这样转换器输出经2K电阻后的压降不大。但据现在测试的结果看,如果实际到达IC的是1.22V,则R=0.67K。(这确实使我感到疑惑,因为这样的话每次按键时要消耗8毫安的电流?)

所以建议高兴同好:
首先确定R的阻值。
1) 不通电状态,分别测量 6#,7#,8#,9#与5#(GND)之间的电阻值
2) 在工作状态,用计算机程序按下某个按键并保持(或者通过程序的串口监测窗口发送51或52或54或55),这时相应的DD-1按键会有信号(就像测试1.22V的情况)。测量LM324的1或7或8或14脚(最外面的4个脚)的对应输出是否为5V。

如果LM324的输出正常,而R的阻值确实在0.6K左右,那么有2种解决办法:
1) 使用0.1-0.2K的电阻代替原来的2K电阻,或者直接并联在2K电阻上。
2) 使用二极管代替原来的2K电阻,或者直接并联在2K电阻上

但随后想起来可能还有一个问题,就是因为LM324无法达到满幅输出(5V电源下1.5V压降),并且其驱动能力非常有限,上述解决办法可能不适用。

晚上高兴重新测量,发现LM324输出为3.67V,R为1K。因此决定重新做一块新电路。

确定了VCC为5V后电路简化了许多,去掉了7805和324,直接使用PNP晶体管做开关应用。

三、转换器程序

转换器使用AT89C51单片机。

程序


四、CCDTRACKER程序

控制程序

五、DD-1的改装

按下图接线:

从线路板上的引出线接到9针插头的对应管脚上。酌情将插头固定在手柄外壳或者引到外边。


六、测试方法

将转换器串接在计算机与手柄之间:转换器上的九针插头接手柄,九孔插头接计算机串口。接通手柄电源。

打开程序。首先用菜单选择所用的串口,设定串口参数:


然后按下《赤道仪控制》键:


可以通过菜单命令打开串口监测窗口,监测收发的指令。



也可以通过该窗口手工发送单字节指令。在输入窗口中键入任意64-255之间的数字,按下SEND,在TX DATA中显示通过串口发送的指令(16进制),单片机将回送一个补码,即(255-发送指令),并显示在RX DATA栏中,说明通信正常。

七、手动操作

在赤道仪控制键按下后,就可以通过方向按键控制赤道仪了。对于4键类型的手柄,中间的跟踪和右边红色的停止键没有用。

试操作赤道仪,可以通过选中"赤经方向对换"或者"赤纬方向对换"调换按键对应的赤道仪运动方向,以使之符合操作习惯。

八、自动导星

1)首先设定导星范围。
通过菜单命令打开设定窗口:

导星逻辑如下:
在绿色区域内:不动作
在红色区域内:模拟方向按键动作
从绿色进入蓝色区域内:不动作
从红色进入蓝色区域内:继续模拟方向按键动作 2)按下《CCD导星》键,则摄像头的图像应出现在显示窗口中。

3)使用菜单命令:[CCD]>[设置尺寸],通过CCD驱动自带的对话框(可能与此不同)设置图像尺寸。



注意色彩深度应设为RGB24。

4)导入星像后,点击[选择导星]键,鼠标在视频窗口内变为十字形。点左键选择导星后,按[导星]键可以执行自动导星控制。

5)首先试验导星,根据实际赤道仪实际走向通过选中"水平方向对换"或者"垂直方向对换"调换导星对应的赤道仪运动方向。

6)重复4)5)步骤正式开始导星。

九、自行编程

87C51有四个8位I/O端口,其中P3.0 、P3.1为串口被占用,P1.0,2,4,6做控制信号的输出。
空闲I/O口,用户可以根据实际需要使用。大部分管脚都可以通过串口指令控制。
指令说明:
255-192 0xFF-0xC0 该字节输出到P0
191-128 0xBF-0x80 该字节输出到P1
127-064 0x7F-0x40 该字节输出到P2
063-032 0x3F-0x20 控制指令
031-016 0x1F-0x10 该低半字节输出到P2低4位
015-000 0x0F-0x00 该半字节输出到P3高4位

十、作为通用串口控制程序

在本程序附带的初始化文件中,更改[command]段内各指令的数值:
[Command]
RA STOP=47
DEC STOP=43
NORMAL=46
FAST=45
SLOW=44
UP=41
DOWN=42

可以用来尝试控制其他使用串口的赤道仪,条件是该赤道仪使用上述7种单字节指令。

十一、初始化文件

本程序附带初始化文件:ccdtracker.ini。如果该文件不存在,则程序退出时会自动产生。方向对换等设置会自动保存供下次使用,也可手工修改。
文件内容
[File] :输出文件储存目录。(暂不使用)
Save Dir=C:\ccdtracker :
[DIRECTION]:方向对换设置
RA=0
DEC=0
CCDRA=0
CCDDEC=0
[Trackrange] :导星区域设置
RA=3
DEC=3
[Command]:控制指令
RA STOP=47
DEC STOP=43
NORMAL=46
FAST=45
SLOW=44
UP=41
DOWN=42