[慧鱼机器人控制程序.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[慧鱼机器人控制程序

实验目的 熟悉具体的fischertechnik模型机器人的机械结构及其工作原理。 了解慧鱼模型智能接口板的硬件电路及其主要功能。 学习慧鱼模型的编程软件LLWin3.0或Visual Basic编程语言。 掌握计算机与智能接口板之间的通讯协议。 采用高级编程语言(Visual Basic、labwindows/CVI等)实现具体模型机器人的动作控制。 实验设备 1、装有LLWin3.0软件或Visual Basic编程语言的PC机一台。 2、具体的fischertechnik机器人模型数个。 3、慧鱼机器人智能接口板(控制电路板)一块、RS232通讯电缆一条及9v稳压电源一个。 图一 慧鱼机器人 实验原理 系统组成: 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 MSComm1.CommPort = 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 M

文档评论(0)

yingxiaorong28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档