慧鱼机器人控制程序

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、实验目的

1. 熟悉具体的fischertechnik模型机器人的机械结构及其工作原理。

2. 了解慧鱼模型智能接口板的硬件电路及其主要功能。

3. 学习慧鱼模型的编程软件LLWin3.0或Visual Basic编程语言。

4. 掌握计算机与智能接口板之间的通讯协议。

5. 采用高级编程语言(Visual Basic、labwindows/CVI等)实现具体模型

机器人的动作控制。

二、实验设备

1、装有LLWin3.0软件或Visual Basic编程语言的PC机一台。

2、具体的fischertechnik机器人模型数个。

3、慧鱼机器人智能接口板(控制电路板)一块、RS232通讯电缆一条及9v

稳压电源一个。

图一慧鱼机器人

三、实验原理

1、系统组成:

1.1控制端:

直接控制模型运动的控制中心,这里指直接控制模型的计算机,通过串口(COM)与接口板进行信息交流,以及在计算机内部进行算法运算,以此来控制模型运动。

1.2 模型运动:

可以通过PC机编制程序控制机器人电机转动,达到控制机器人按照指令运动的目的。

2、接口板处理器操作模式:

被动模式:程序的处理由计算机完成,接口与计算机的连接电缆不能断开,在每个程序周期中,接口采集来自数字量和模拟量输入端的数值然后送给计算机,计算机再把数字量的输出值传送给接口板,接口板上微处理器按要求操作相连的电机。

3、计算机与接口板的通讯:

3.1 计算机通过COM 口与接口板进行信息交流,慧鱼公司规定控制端口的参数

为波特率为9600,位数为8位,效验为无,停止位为1,参数的设定在程序开发的时候会编写确定。

3.2 慧鱼公司规定COM 口与接口板的通信格式为两个字节,第一字节是接口命令,控制接口发送内容作为应答,第二个字节规定哪个电机以什么方向转动,简单的说就是第一个字节是当行程开关、感应器等有反应而发出信号给接口板,接口板接收并且记录,等待计算机的查询;而第二个字节是计算机发送命令到接口板,接口板微处理器分析并且向电机、灯等发送信息,控制它们工作。

3.3 接口板有接收第一字节命令的E1-E8 ,模拟量EX和EY的接口,选择E1-E8时,应答为一字节,而选择E1-E8 ,和模拟量EX或EY时,应答为三字节,其中1字节为E1-E8输入,2,3字节为EX或EY,在本设计中只需选择E1-E8,应答为一字节。

3.4 在程序开发中,主要是使用byte 数组来实现2中的两个字节控制和3中的接收应答,简言之:

定义一个一维二项数组ACT(2),其中ACT(0)来告诉接口板使用E1-E8接口,ACT(1)来告诉接口板控制什么电机,怎样控制。

定义一个一维不定数组RTC(),其中从E1-E8接收到的命令储存在RTC ()中。

具体数据定义见下表:

十六进制规定(回送内容)ACT()

C1 E1-E8 &HC1

1 电机1正转 1

2 电机1反转 2

3 电机2正转 3

4 电机2反转8

5 电机3正转16

6 电机3反转32

7 电机4正转64

8 电机4反转128

四、实验过程和步骤

本次实验为此计算机设计了两套运行程序,一套为串行程序,此程序一次只能控制一个电机的转动,不能多个电机同时运动。另一套为并行程序,此程序可以同时控制四部电机转动,但由于慧鱼公司初始的设置只能让一部电机转动,故并行程序导致电机转动缓慢。

1、窗体面板:

1.1 欢迎窗体

1.2 模型操作界面

1.3 结束感谢面板

2、程序设计

首先是并行控制的程序:

Private Sub Cmd5_Click()

Cmd7.Enabled = True

MSComm1.InBufferSize = 1024

MSComm1.OutBufferSize = 512

mPort = Text2.Text

MSComm1.Settings = "9600,n,8,1" '设置通信参数9600,N,8,1

Text1.Text = "9600,n,8,1" '显示通信参数

Text2.Text = "1" '显示端口

MSComm1.InputMode = comInputModeBinary ' 设置接收数据模式为二进制形式

MSComm1.RThreshold = 3 ' 设置接收3 个字节产生OnComm 事件

MSComm1.InputLen = 3 ' 设置Input 一次从接收缓冲读取为3 字节If Not MSComm1.PortOpen Then

MSComm1.PortOpen = True

End If

Timer1.Interval = controltime

Timer2.Interval = controltime

Timer3.Interval = controltime

Timer4.Interval = controltime

Lbl5.Caption = "已连接"

End Sub

相关文档
最新文档