慧鱼四自由度机械手说明书.docx
《慧鱼四自由度机械手说明书.docx》由会员分享,可在线阅读,更多相关《慧鱼四自由度机械手说明书.docx(13页珍藏版)》请在冰豆网上搜索。
![慧鱼四自由度机械手说明书.docx](https://file1.bdocx.com/fileroot1/2023-2/1/4b95a1d3-030e-4e86-8ae5-0afcd3f83618/4b95a1d3-030e-4e86-8ae5-0afcd3f836181.gif)
慧鱼四自由度机械手说明书
课程设计说明书
设计名称:
综合课程设计
题目:
机械模型的远程控制
——四自由度机械手
学生:
专业:
机械设计制造及其自动化
班级:
学号:
指导教师:
日期:
2013年12月25日
一.课程设计的主要容和任务分析…………………………………………1
二.机构模型的的原理图及工作原理…………………………………………1
2.1总体工作流程…………………………………………………………2
2.2前后运动部分…………………………………………………………2
2.3左右转动部分…………………………………………………………3
2.4上下运动部分…………………………………………………………5
2.5机械手转动部分………………………………………………………5
2.6机械手开闭合部分…………………………………………………5
三.远程控制系统的工作原理…………………………………………………5
四.慧鱼接口板的处理器操作模式的选择以及计算机与接口板的通讯……6
4.1慧鱼接口板概述………………………………………………………6
4.2微处理器的两种处理模式……………………………………………6
4.3计算机与接口板通讯…………………………………………………7
五.客户端程序中主要功能模块的设计过程…………………………………8
六.结论及心得体会…………………………………………………………13
七.参考文献…………………………………………………………………13
一.主要容和任务分析
利用德国慧鱼公司的“智能创意教具”模型设计、装配出较有创意的机构或机械设备模型,模型完成之后应用VB开始编程以及对程序的调试最终能完成对模型的远程控制。
认真复习机械原理、机械设计、自动生产线、VB的基本知识以及学习新的知识(主要为mscomm、winsock、timer三种控件的使用)等。
在实验室熟悉慧鱼模型的元件及其撘建方法,参考现有的模型基础,然后设计出有创意的机械模型。
二、机构模型的的原理图及工作原理
2.1总体工作流程
作品拟实现的主要功能有以下五个运动:
①前后运动;②左右转动;③上下运动;④手爪顺逆时针转动;⑤手爪的开闭合。
全景图如下:
2.2前后运动部分
如图1所示,其工作过程为:
向前运动时,电动机1正转,通过减速箱2减速,再通过齿轮链条3的传动将动力传到蜗杆4。
此时限位开关5常开开关打开,蜗杆4旋转将底盘7向前运动,底盘到达最前端,此时,限位开关6常开关开闭合,向前运动完成,电动机1停止。
向后远动时,电动机1反转,回程至限位开关4闭合时,电动机1停止。
图1:
前后运动部分侧视图
1、电动机;2、减速箱;3、链条;4、蜗杆;5、6、限位开关;7、底盘。
2.3左右转动部分
如图2所示,电动机1的正反转分别对应左右转动。
左右转动时,电动机1转动,通过减速箱2减速,再通过蜗轮3的传动将动力传到齿轮4,通过齿轮带动机械手,可根据不同的角度需要,把机械手转到不同的位置。
图2:
左右转动部分
1、电动机;2、减速箱;3、蜗轮;4、齿轮
图3:
上下运动部分正视图
1、电动机;2、减速箱;3、蜗杆;4、导杆;5、6、限位开关
图4:
机械手转动部分正视图
1、电动机;2、减速箱;3、蜗轮;4、齿轮
2.4上下运动部分
如图3所示,向上运动时,电动机1正转,通过减速箱2减速,把动力传动蜗杆3上,此时限位开关5,常开开关打开,蜗杆3转动使手爪沿着导杆4向上运动,手爪到达最上端,限位开关6闭合,电动机1停止。
向下运动时,电动机1反转,手爪向下运动到最下端,限位开关5闭合,电动机1停止。
2.5机械手转动部分
如图4所示,手爪顺时针转动时,电动机1正转,经过减速箱2减速,通过蜗轮3把动力传到齿轮4上,齿轮带动手爪转动。
手爪逆时针转动时,电动机1反转。
2.6机械手开闭合部分
如图5所示,手爪开时,电动机1正转,经过减速箱2减速,把动力传到连杆3上,连杆带动蜗杆4转动,此时限位开关5常开开关打开,蜗杆转动使手爪打开,手爪打开使触板触碰限位开关5,限位开关闭合,电动机1停止。
手爪闭合时,电动机1反转,手爪抓住工件时,电动机1停止。
图5:
机械手闭部分俯视图
1、电动机;2、减速箱;3、连杆;4、蜗杆;5、限位开关
三.远程控制系统的工作原理
远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术。
远程控制必须通过网络才能进行。
位于本地的计算机是操纵指令的发出端,称为主控端或客户端,非本地的被控计算机叫做被控端或服务器端。
“远程”不等同于远距离,主控端和被控端可以是位于同一局域网的同一房间中,也可以是连入Internet的处在任何位置的两台或多台计算机。
远程控制软件一般分两个部分:
一部分是客户端程序,另一部分是服务器端程序,在使用前需要将客户端程序安装到主控端电脑上,将服务器端程序安装到被控端电脑上。
它的控制的过程是先在主控端电脑上执行客户端程序,像一个普通的客户一样向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行。
基于VB的远程控制系统通过VB的winsock控件进行数据交换来实现。
winsock是Mcrosoftwindows提供的网络编程接口。
它有两种数据交换协议:
TCP协议和UDP协议,本次课程设计运用TCP协议。
四.慧鱼接口板处理器操作模式的选择以及计算机与接口板的通讯
4.1慧鱼接口板概述
为了用计算机控制慧鱼教学模型,首先应当有合适的控制软件以及连接计算机与模型的接口。
接口完成软件命令的转换,列入可以启动电机、处理来自传感器的信号等。
接口板上有连向电机、灯、或电磁铁的四个数字量的输入口,还有八个数量和两个模拟量的输入口用来连接开关,光敏、磁敏、热敏电阻等传感器。
慧鱼智能接口板上自带微处理器,通过串行口与计算机相连。
在计算机上编好的程序可以下载到接口板的微处理器上,该微处理器可以独立地执行程序(在所谓主动模式下),这样就不必用电缆连接计算机和行走机器人。
当控制像机械手、绘图机这样的移动设备时,模型与计算机保持连接,计算机即是变量的输入/输出设备,也是它们的显示设备(称为所谓被动模式)。
4.2微处理器的两种处理模式
被动模式(本次课程设计所使用的模式)
在被动模式下,程序的处理由计算机完成,因此接口与计算机的连接电缆不能断开。
在每个程序周期中,接口采集来自数字量和模拟输入端的数值然后传送给计算机,计算机再把数字量的输入值传送给接口板,接口板上的微处理器按要求操作相连的电机、灯和电磁铁。
接口板工作于被动模式时,计算机屏幕只能作为输入/输出设备,或程序状态的显示设备。
主动模式
在主动模式下,程序由接口板自身的微处理器进行处理,而接口板与计算机的连线要断开。
如果软件支持主动模式(如LLWINV2.1或以上),程序可以下载到接口板的RAM里。
程序下载后,接口板就终止与计算机的连接,此时可以拔掉接口线。
程序驻留在接口板的RAM历直到电源被切断(在不设定程序掉电保护功能时.)
接口板上的微处理器的计算能力远小于计算机的计算能力。
对于旨在捕获快速计数脉冲的大程序,微处理器便无法累计到全部脉冲,这样的程序只能在被动模式下进行处理。
为了从主动模式切换到被动模式,要切断接口板的供电电源。
这就重新启动了安装在接口板EPROM中的操作软件,于是切换成为被动模式。
如果在计算机上修改了主动模式下的处理程序,而且想把它传回给接口板的微处理器,也必须切断电源。
4.3计算机与接口板通讯
串行口接口
用厂家提供的9针D型插头经由RS232接口电缆和计算机的串行口(COM1或COM)连接。
控制端口参数
波特率9600位数8校验无停止位1
通讯
计算机通过串行口与控制接口板通信的格式是两个字节。
第一个字节是接口命令,它告诉接口发送什么作为应答,第二个字节规定哪个电机以什么方向运动。
接口命令字节
二进制
十六进制
十进制
规定(回送容)
11000001
C1
193
只输入E1—E8
10000101
C5
197
输入E1—E8和模拟量EX
11001001
C9
201
输入E1—E8和模拟量EY
电机状态字节+6
位
规定
1
电机1左转
2
电机1右转
3
电机2左转
4
电机2右转
5
电机3左转
6
电机3右转
7
电机4左转
8
电机4右转
可以同时操作4个电机。
但是如果对一个电机同时设置左转和右转,电机将拒绝运行。
从接口板应答
命令
应答
规定(回送容及格式)
193
1字节
每1位代表1位输入
197
3字节
1字节见上,2、3字节为模拟量EX
201
3字节
1字节见上,2、3字节为模拟量EY
注意:
从接口板发出的电机控制数据必须在300ms进行刷新,否则电机将停转。
五.服务端程序中主要功能模块的设计过程
图6中上方文本框用于记录手爪闭合时行程开关状态(十进制),Timer主要用于刷新电机数据以及电机的延时。
启动VB并新建一个工程,往窗体(Form)中加入1个Winsock控件、1个通信控件(MSComml)以访问串口;12个定时器控件(Timer)以延时查询串口;8个复选框控件及2个按钮组控制四路电机及其状态。
MSComm控件
图6:
本地控制界面
主要代码以及事件方法介绍如下:
PrivateSubForm_Load()
Timer1.Enabled=False
Timer2.Enabled=False
Timer3.Enabled=False
Timer4.Enabled=False
Timer5.Enabled=False
Timer6.Enabled=False
Timer7.Enabled=False
Timer8.Enabled=False
Timer9.Enabled=False
Timer10.Enabled=False
Timer11.Enabled=False
Timer12.Enabled=False
Winsock1.Listen’进入侦听状态,等待客户端的连接请求
MSComm1.InBufferCount=0’清除接收缓冲区
MSComm1.CommPort=1’选择通讯端口1
MSComm1.RThreshold=1’接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件
MSComm1.InputLen=0’MSComm 控件读取接收缓冲区中全部的容
MSComm1.Settings="9600,n,8,1"’设置通信参数9600,N,8,1
MSComm1.PortOpen=True’打开通讯端口
PrivateSubMSComm1_OnComm()
’OnComm事件:
通过接口板的各个输入控制电机
Diminbyte()AsByte
SelectCaseMSComm1.CommEvent
CasecomEvReceive’监测通信过程中发生的错误或事件
inbyte=MSComm1.Input
EndSelect
DimaAsInteger
DimbAsInteger
DimcAsInteger
DimdAsInteger
DimeAsInteger
a=inbyte(0)And1
b=inbyte(0)And2
c=inbyte(0)And8
d=inbyte(0)And16
e=inbyte(0)And4
Ifa=1ThenTimer1.Enabled=False’压下限位开关E1,向前运动停止
Ifb=2ThenTimer2.Enabled=False’压下限位开关E2,向后运动停止
Ifc=8ThenTimer5.Enabled=False’压下限位开关E4,上运动停止
Ifd=16ThenTimer6.Enabled=False’压下限位开关E5,向下运动停止
Ife=4ThenTimer7.Enabled=False’压下限位开关E3,机械手开停止
EndSub
PrivateSubTimer1_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H1’电机1正转,向前运动
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
EndSub
PrivateSubTimer2_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H2’电机1反转,向后运动
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
EndSub
PrivateSubTimer3_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H4’电机2正转,向左转动
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
EndSub
PrivateSubTimer4_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H8’电机2反转,向右转动
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
EndSub
PrivateSubTimer5_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H10’电机3正转,向上运动
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
EndSub
PrivateSubTimer6_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H20’电机3反转,向下运动
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
EndSub
PrivateSubTimer7_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H40’电机4正转,机械手开
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
EndSub
PrivateSubTimer8_Timer()
Dimoutbyte
(1)AsByte
outbyte(0)=&HC1
outbyte
(1)=&H80’电机4反转,机械手闭合
MSComm1.OutBufferCount=0
MSComm1.Output=outbyte
Text1.Text=Str(Val(Text1.Text)+1)
IfText1.Text=45Then’当Text1的读数到45时,机械手闭合停止
Text1.Text=""
Timer8.Enabled=False
EndIf
EndSub
六.结论及心得体会
在这次课程设计中,我们先认真复习机械原理、机械设计、VB的基本知识以及学习新的知识(主要为mscomm、winsock、timer三种控件的使用)等,通过慧鱼模型将自己心中所设想的机械搭建成模型,并使用VB通过串口对所搭建而成的机械模型进行控制。
在搭建模型的过程中,遇到很多问题,有些零件不够用甚至找不到相应的零件,这时候只能找其他的零件代替,所以我们的模型用了两根长度不同的导杆,虽然看起来很奇怪,但是可以实现功能。
我们前后搭建了两个模型,第一个是摇臂式的机械手,搭建好之后才发现臂的提起和放下有问题,其模型的原理是不可行的,从这个事件中说明了在机械设计中必须要考虑其机械原理的可行性理论,要做到理论与实际相结合。
为了发生避免相同的问题,我们把模型改为升降式的机械手。
模型搭建完成后,编程是一个很大的挑战,我们以前学到的VB知识几乎用不上,需要重新学习mscomm、winsock两个控件,在对这两个控件完成不懂的情况下,我们通过上网查资料,查阅书本,理解两个控件的各个属性及其用法,然后再联系timer控件编好系统程序。
总而言之,这次课程设计是非常有意义的,在这个过程之中,我们有机会把书本上学到的知识用到实际当中,虽然是用到模型上,但也是一次实践经历,而且我们学到了新的知识,真正意义上使用VB编程。
七、参考文献
[1].汪建晓.机械原理华中科技大学
[2].汪建晓.机械设计华中科技大学
[3].逸之立元.VisualBasic与RS232串口通信中国青年
[4].炳文.VisualBasic程序设计教程清华大学