慧鱼机器人控制程序_第1页
慧鱼机器人控制程序_第2页
慧鱼机器人控制程序_第3页
慧鱼机器人控制程序_第4页
慧鱼机器人控制程序_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.一、实验目的1.熟悉具体的fischertechnik模型机器人的机械结构及其工作原理。2.了解慧鱼模型智能接口板的硬件电路及其主要功能。3.学习慧鱼模型的编程软件LLWin3.0或VisualBasic编程语言。4.掌握计算机与智能接口板之间的通讯协议。采用高级编程语言(VisualBasic、labwindows/CVI等)实现具体模型5.机器人的动作控制。二、实验设备1、装有LLWin3.0软件或VisualBasic编程语言的PC机一台。2、具体的fischertechnik机器人模型数个。3、慧鱼机器人智能接口板(控制电路板)一块、RS232通讯电缆一条及9v稳压电源一个。图一慧鱼机器人三、实验原理1、系统组成:1.1控制端:直接控制模型运动的控制中心,这里指直接控制模型的计算机,通过串口(COM)与接口板进行信息交流,以及在计算机内部法运算,以此来控制模型运动。1.2模型运动:可以通过PC机编制程序控制机器人电机转动,达到控制机器人按照指令运动的目的。2、接口板处理器操作模式:被动模式:程序的处理由计算机完成,接口与计算机的连接电缆不能断开,在每个程序周期中,接口采集来自数字量和模拟量输入端的数值然后送给计算机,上微处理器按要求操作相连计算机再把数字量的输出值传送给接口板,接口板的电机。3、计算机与接口板的通讯:3.1计算机通过COM口与接口板进行信息交流,慧鱼公司规定控制端口的参数1文档来源为:从网络收集整理.word版本可编辑.

文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.为波特率为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()C11E1-E8&HC1电机1正转12345678电机12反转电机2正转3电机2反转8电机3正转163264128电机3反转电机4正转电机4反转四、实验过程和步骤2文档来源为:从网络收集整理.word版本可编辑.文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.本次实验为此计算机设计了两套运行程序,一套为串行程序,此程序一次只能控制一个电机的转动,不能多个电机同时运动。另一套为并行程序,此程序可以同时控制四部电机转动,但由于慧鱼公司初始的设置只能让一部电机转动,故并行程序导致电机转动缓慢。1、窗体面板:1.1欢迎窗体1.2模型操作界面1.3结束感谢面板2、程序设计首先是并行控制的程序:PrivateSubCmd5_Click()Cmd7.Enabled=TrueMSComm1.InBufferSize=1024MSComm1.OutBufferSize=512MSComm1.CommPort=Text2.TextMSComm1.Settings="9600,n,8,1"Text1.Text="9600,n,8,1"'设置通信参数9600,N,8,1'显示通信参数Text2.Text="1"'显示端口MSComm1.InputMode=comInputModeBinary'设置接收数据模式为二进制形式3个字节产生OnComm事件'设置Input一次从3字节MSComm1.RThreshold=3MSComm1.InputLen=3IfNotMSComm1.PortOpenThenMSComm1.PortOpen=TrueEndIf'设置接收接收缓冲读取为Timer1.Interval=controltimeTimer2.Interval=controltimeTimer3.Interval=controltimeTimer4.Interval=controltimeLbl5.Caption="已连接"EndSub3文档来源为:从网络收集整理.word版本可编辑.

文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.PrivateSubCmd8_Click()Timer1.Enabled=FalseTimer2.Enabled=FalseTimer3.Enabled=FalseTimer4.Enabled=FalseEndSubPrivateSubCommand1_Click()Timer1.Interval=controltimeTimer1.Enabled=TrueTimer2.Interval=controltimeTimer2.Enabled=TrueTimer3.Interval=controltimeTimer3.Enabled=TrueTimer4.Interval=controltimeTimer4.Enabled=TrueEndSubPrivateSubTimer1_timer()'电机控制Mot(0)=&HC9IfMR(1).Value=TrueThenMot(1)=2ElseIfML(1).Value=TrueThenMot(1)=1ElseMot(1)=0EndIfMSComm1.OutBufferCount=0MSComm1.Output=MotEndSubPrivateSubCmd7_Click()Timer1.Enabled=True4文档来源为:从网络收集整理.word版本可编辑.

文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.Timer2.Enabled=TrueTimer3.Enabled=TrueTimer4.Enabled=TrueEndSubPrivateSubForm_Load()Lbl5.Caption="未连接"EndSubPrivateSubTimer2_timer()'电机控制Mot(0)=&HC9IfMR(2).Value=TrueThenMot(1)=8ElseIfML(2).Value=TrueThenMot(1)=4ElseMot(1)=0EndIfMSComm1.OutBufferCount=0MSComm1.Output=MotEndSubPrivateSubTimer3_Timer()Mot(0)=&HC9IfMR(3).Value=TrueThenMot(1)=32ElseIfML(3).Value=TrueThenMot(1)=16ElseMot(1)=0EndIfMSComm1.OutBufferCount=0MSComm1.Output=Mot5文档来源为:从网络收集整理.word版本可编辑.

文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.EndSubPrivateSubTimer4_Timer()Mot(0)=&HC9IfMR(4).Value=TrueThenMot(1)=128ElseIfML(4).Value=TrueThenMot(1)=64ElseMot(1)=0EndIfMSComm1.OutBufferCount=0MSComm1.Output=MotEndSub以下是串行控制的程序:PrivateSubCmd8_Click()Timer1.Enabled=FalseEndSubPrivateSubTimer1_timer()'电机控制Mot(0)=&HC9IfMR(1).Value=TrueThenMot(1)=2ElseIfML(1).Value=TrueThenMot(1)=1ElseIfMR(2)=TrueThenMot(1)=8ElseIfML(2)=TrueThenMot(1)=4ElseIfMR(3)=TrueThenMot(1)=32ElseIfML(3)=TrueThen6文档来源为:从网络收集整理.word版本可编辑.

文档收集于互联网,已重新整理排版.word版本可编辑,有帮助欢迎下载支持.Mot(1)=16ElseIfMR(4)=TrueThenMot(1)=128ElseIfML(4)=TrueThenMot(1)=64ElseMot(1)=0EndIfMSComm1.OutBufferCount=0MSComm1.Output=MotEndSubPrivateSubCmd5_Click()Cmd7.Enabled=TrueMSComm1.InBufferSize=1024MSComm1.OutBufferSize=512MSComm1.CommPort=Text2.TextMSComm1.Settings="9600,n,8,1"Text1.Text="9600,n,8,1"'设置通信参数9600,N,8,1'显示通信参数MSComm1.InputMode=comInputModeBinary'设置接收数据模式为二进制形式MSComm1.RThreshold=3MSComm1.InputLen=3IfNotMSComm1.PortOpenThenMSComm1.PortOpen=TrueEndIf'设置接收3个字节产生OnComm事件'设置Input一次从接收缓冲读取为3字节Timer1.Interval=controltimeTimer1.Enabled=TrueLbl5.Caption="已连接"EndSubPrivateS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论