基于单片机的机械手控制系统设计.docx
- 文档编号:23887430
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:22
- 大小:647.18KB
基于单片机的机械手控制系统设计.docx
《基于单片机的机械手控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的机械手控制系统设计.docx(22页珍藏版)》请在冰豆网上搜索。
基于单片机的机械手控制系统设计
渤海船舶职业学院
毕业设计(论文)
题目:
基于单片机的机械手控制系统设计
系:
机电工程系专业:
机电一体化
姓名:
指导教师:
班级:
评阅教师:
学号:
04完成日期:
2014.6.6
毕业设计说明书(论文)中文摘要
摘要:
机械手技术涉及到电子、机械学、自动控制技术、传感器技术和计算机技术等科学领域,是一门跨学科综合技术。
随着工业自动化发展的需要,机械手在工业应用中越来越重要。
文章主要叙述了机械手的设计过程,本文中介绍了机械手的设计理论与方法。
本设计以AT89C51单片机为核心,采用LMD18200电机控制芯片达到控制直流电机的启停、速度和方向,完成了筛选机械手基本要求和发挥部分的要求。
在筛选机械手设计中,采用了PWM技术对电机进行控制,通过对占空比的计算达到精确调速的目的。
关键词:
机械手;AT89C51;LMD18200;PWM技术;电机控制
4.5程序编写.......................................................................................................14
第一章前言
1.1机械手概述
机械化、自动化已成在现代工业中突出的主题。
化工等连续性生产过程的自动化已基本得到解决。
但在机械工业中,加工、装配等生产是不连续的,机器人的出现并得到应用,为这些作业的机械化奠定了良好的基础。
机械手,多数是指程序可变(编)的独立的自动抓取、搬运工件、操作工具的装置(国内称作工业机械手或通用机械手)。
机械手是一种具有人体上肢的部分功能,工作程序固定的自动化装置。
机械手具有结构简单、成本低廉、维修容易的优势,但功能较少,适应性较差。
目前我国常把具有上述特点的机械手称为专用机械手,而把工业机械手称为通用机械手。
简而言之,机械手就是用机器代替人手,把工件由某个地方移向指定的工作位置,或按照工作要求以操纵工件进行加工。
一般而言,机械手通常就是由执行机构、驱动-传动系统和控制系统这三部分组成,如图1-1所示。
图1-1机械手的一般组成
对于现代智能机械手而言,还具有智能系统,主要是感觉装置、视觉装置和语言识别装置等。
目前研究主要集中在赋予机械手“眼睛”,使它能识别物体和躲避障碍物,以及机械手的触觉装置。
机器人的这些组成部分并不是各自独立的,或者说并不是简单的叠加在一起,从而构成一个机械手的。
要实现机械手所期望实现的功能,机械手的各部分之间必然还存在着相互关联、相互影响和相互制约。
它们之间的相互关系如图1-2所示。
图1-2机械手控制系统图
机械手的机械系统主要由执行机构和驱动-传动系统组成。
执行机构是机械手赖以完成工作任务的实体,通常由连杆和关节组成,由驱动-传动系统提供动力,按控制系统的要求完成工作任务。
驱动-传动系统主要包括驱动机构和传动系统。
驱动机构提供机械手各关节所需要的动力,传动系统则将驱动力转换为满足机械手各关节力矩和运动所要求的驱动力或力矩。
有的文献则把机械手分为机械系统、驱动系统和控制系统三大部分。
其中的机械系统又叫操作机(Manipulator),相当于本文中的执行机构部分。
第二章总体方案设计
2.1设计要求
生产线上有红黑两种直径为2cm厚1cm的圆铁片,设计一种机械手,该手能自动筛选出红色铁片,并把红色铁片放到指定位置。
机械手有上行/下行、左行/右行、放松/夹紧几个运行方式。
并要求机械手有判别铁片颜色的功能,且能准确把握铁片位置、重量、形状等因素。
该手运行路径合理,接近指定位置时能够减速运行。
整个过程无人工操作,系统通过传感装置检测工件,工作结束后能自动停止。
2.2基本设计思路
总体设计框图如下:
图2-1总体设计框图
1.CPU
CPU部分有两种选择:
单片机控制和PLC控制。
2.传动机构
传动机构种类繁多,常见的有齿轮传动、齿条传动、丝杆传动、链条传动。
由于一般的电机驱动系统输出的力矩较小,需要通过传动机构来增加力矩,提高带负载能力。
对机械手的传动机构的一般要求有:
(1)结构紧凑,即具有相同的传动功率和传动比时体积最小,重量最轻;
(2)传动刚度大,即由驱动器的输出轴到连杆关节的转轴在相同的扭矩时角度变形要小,这样可以提高整机的固有频率,并大大减轻整机的低频振动;
(3)回差要小,即由正转到反转时空行程要小,这样可以得到较高的位置控制精度;
(4)寿命长、价格低。
3.机械手
1.机械手的组成
机械手一般由执行机构、控制系统、驱动系统三个部分组成。
(1)执行机构
1)手腕手腕是联接手臂与末端执行器的部件,用以调整末端执行器的方位和姿态。
2)手臂手臂是支承手腕和末端执行器的部件。
它由动力关节和连杆组成,用来改变末端执行器的位置。
3)机座机座是机械手的基础部件,并承受相应的载荷,机座分为固定式和移动式两类。
(2)控制系统
控制系统用来控制机械手按规定要求动作,可分为开环控制系统和闭环控制系统。
大多数工业机械手采用计算机控制,这类控制系统分为决策级,策略级和执行级三级:
决策级的功能是识别环境、建立模型、将工作任务分解为基本动作序列;策略级将基本动作变为关节坐标协调变化的规律,分配给各关节的伺服系统;执行级给出各关节伺服系统的具体指令。
(3)驱动系统
驱动系统是按照控制系统发出的指令将信号放大,驱动执行机构运动的传动装置。
常用的由电气、液压、气动和机械等四种驱动方式。
除此之外,机械手可以配置多种传感器(如位置、力,触觉,视觉等传感器),用以检测其运动位置和工作状态。
第三章硬件结构设计
3.1机械手尺寸的确定
由于本次设计对工作场地要求并没有明确的限制,因此机械手的尺寸也就没有明确的规定,为了设计的方便,将机械手大臂有效距离长为280mm,小臂有效距离长为170mm,机械手3D图如下:
3-1机械手图
3.2传动部分设计
(1)机械手是有三台伺服电机驱动:
电机M1控制大臂在Z轴旋转摆动,电机M2控制小臂在Z轴的旋转摆动,电机C控制末端执行器在Z轴的上下移动。
为了设计的方便,控制方式采用点位控制。
通过分别控制三台电机的正反转来确定末端执行器在空间上的具体位置。
由于三台电机不是同时控制,因此不存在相互间的干扰,从而增强了整个系统的稳定性。
(2)具体传动环节:
基座部分装有服电机M1,通过齿轮传动控制大臂旋转,基座与大臂底座用轴承连接;大臂座装有伺服电机M2,通过齿轮、传动控制小臂的旋转摆动;末端执行器部分装有伺服电机M3,同样通过齿轮、丝杆传动控制末端执行器的上下移动。
(3)伺服电机
一个伺服电机内部包括了一个小型直流马达;一组变速齿轮组;一个反馈可调电位器;及一块电子控制板。
其中,高速转动的直流马达提供了原始动力,带动变速(减速)齿轮组,使之产生高扭力的输出,齿轮组的变速比愈大,伺服马达的输出扭力也愈大,也就是说越能承受更大的重量,但转动的速度也愈低
图3-2伺服电机图
(4)微行伺服马达的工作原理
一个微型伺服马达是一个典型闭环反馈系统,其原理可由下图表示:
图3-3伺服电机原理图
减速齿轮组由马达驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到使伺服马达精确定位的目的。
(5)伺服马达的控制
标准的微型伺服马达有三条控制线,分别为:
电源、地及控制。
电源线与地线用于提供内部的直流马达及控制线路所需的能源,电压通常介于4V—6V之间,该电源应尽可能与处理系统的电源隔离(因为伺服马达会产生噪音)。
甚至小伺服马达在重负载时也会拉低放大器的电压,所以整个系统的电源供应的比例必须合理。
输入一个周期性的正向脉冲信号,这个周期性脉冲信号的高电平时间通常在1ms—2ms之间,而低电平时间应在5ms到20ms之间,并不很严格,下表表示出一个典型的20ms周期性脉冲的正脉冲宽度与微型伺服马达的输出臂位置的关系:
表3-1位置关系图
(6)选用的伺服马达
我选用的伺服马达为TowPro的,型号为SG303。
其主要技术参数如下:
转速:
0.23秒/60度。
力矩:
3.2kg•cm。
尺寸:
40.4mm×19.8mm×36mm。
重量:
0.6kg。
12V和24V电源供电。
控制周期脉冲宽度为20ms。
送出不同的正脉冲宽度是,就可以得到不同的控制效果。
控制正脉冲宽度如下:
(7)增量式编码器
编码器是把角位移或直线位移转换成电信号的一种装置。
前者成为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采用电刷输出,一电刷接触导电区或绝缘区来表示代码的状态是“1”还是“0”;非接触式的接受敏感元件是光敏元件或磁敏元件,采用光敏元件时以透光区和不透光区来表示代码的状态是“1”还是“0”。
第四章电路部分设计
4.1单片机的选择
(1)单片机的概念
单片机是将计算机的基本部件微型化并集成到一块芯片上的微型计算机。
通常在芯片内含有CPU、ROM、RAM、并行I/O口、串行口、定时/计数器、中断控制系统、系统时钟及系统总线等。
(2)单片机特点
1)优异的性能价格比。
2)高、体积小、可靠性高。
单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了计算机的可靠性与抗干扰能力。
另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境下工作。
3)控制功能强。
为了满足工业控制的要求,一般单片机的指令系统种均有极丰富的转移指令、I/O口的逻辑操作及位处理功能,单片机的逻辑控制功能及运行速度均高于同一档次的微机。
4)低功耗、低电压,便于生产便携式产品。
5)单片机的系统扩展和系统配置叫典型、规范,容易构成各种规模的应用系统。
(3)单片机硬件结构
1)89C52系列单片机基本配置如下:
a)微处理器
该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。
b)数据存储器
片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。
c)程序存储器
由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。
d)中断系统
具有5个中断源,2级中断优先权。
e)定时器/计数器
片内有2个16位的定时器/计数器,具有四种工作方式。
f)串行口
1个全双工的串行口,具有四种工作方式。
可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更
广。
g)P1口、P2口、P3口、P4口为4个并行8位I/O口。
h)特殊功能寄存器
共有21个,用于对片内的个功能的部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
2)引脚及其功能
a)电源及时钟引脚
VCC:
接+5V电源正端;
VSS:
接+5V电源地端;
X1:
接外部晶体振荡器的一端;
X2:
接外部晶体振荡器的另一端。
b)控制引脚
RESET:
单片机上电复位端。
ALE:
当访问外部存储器时,ALE一每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址。
PSEN:
为片外程序存储器读选通信号输出端。
EA:
为访问外部程序存储器控制信号,低电平有效。
c)输入/输出引脚
P3口的第二功能:
P3.0:
RXD,串行输入通道;
P3.1:
TXD,串行输出通道;
P3.2:
INT0,外部中断0;
P3.3:
INT1,外部中断1;
P3.4:
T0,计数器0外部输入;
P3.5:
T1,计数器1外部输入;
P3.6:
WR,外部数据存储器写选通;
P3.7:
RD,外部数据存储器读选通。
图4-189c51引脚图
4.2接口电路
1.串行通信的基本原理
计算机的数据传送有并行和串行两种方式。
并行数据传送的特点是:
各数据同时传送,传送速度快,效率高。
但并行数据传送有多少数据位就需要多少根数据线,因此传送成本高。
并行数据传送的距离通常小于30米,计算机内部的数据传送通常都是并行的;串行数据传送的特点是:
数据传送按位顺序进行,最少只需一根线即可完成,成本低但速度慢。
计算机与外界的数据传送大多是串行的,其传送的距离可以从几米到几千公里。
串行通信又分为异步和同步两种方式。
单片机中使用的串行通信通常都是异步方式的。
(1)串行通信的数据传送格式
异步串行通信以字符为单位,即一个一个字符地传送。
其字符格式通常表示如下:
它用一个起始位表示字符的开始,用停止位表示字符的结束构成一帧。
异步通信的特点是每次只传送一个字符,每个字符由起始位(规定为低电平)、数据位、奇偶校验位、停止位(规定为高电平1~2位)组成。
由于单片机的停止位规定为1位,为了与单片机相匹配,PC机的一帧数据的停止位我们采用1位。
(2)串行通信的收发过程
发送方发送数据时,通过发送低电平起始位开始一个字符的传送,起始位之
后便按特定的速率发送数据位(包括奇偶校验位),当最后一位数(对于采用奇偶个高电平停止位用以标志一个字符传送结束,这样就完成了一帧数据发送。
如果不再发送新数据或数据尚未准备好,就将传输线钳在高电平状态。
接收方不断检测传输线的电平状态,当发现传输线由高电平变为低电平时(起始位标志位),即认为有数据传入,进入接收状态,然后以相同的速率检测传输线的电平状态,接收随后送来的数据位,奇偶校验位和停止位。
可见在异步通信方式中,发送方是靠控制传输线的电平状态来完成数据的发送。
接收方通过不断检测数据线的状态来完成数据的接收,只要发送率和接收检测速率相同,即能准确接收和发送数据。
发送与接收设备可以使用各自的时钟源完成数据的发送与接收,无需使用相同的时钟信号。
(3)串行通信的传送速率
传送速率用于说明数据传送的快慢。
在串行通信中,数据是按位进行传送的,因此传送速率用每秒钟传送二进制数码的位数来表示,称之为波特率。
在串行通信中常用波特率来衡量通信速率的快慢,每秒钟传送一位就是一波特,一般异步通信波特率为110~9600KHZ。
在选择通信的波特率时,不要盲目追高,要以满足数据传输要求为原则。
因为波特率越高,对发送和接收时钟信号频率的一致性要求就越高。
(4)串行通信的电平转换
PC机与单片机是通过串行口进行通信的。
由于单片机的输入、输出是TTL电平(+5V表示逻辑1,电平低于2V便不能被识别为逻辑1;0V表示逻辑0),TTL电平一般不能用于远距离传输,因为传输过程中电平的衰减会使传输数据不准确。
而PC机配置的是RS—232串行接口,因此,单片机与PC机之间进行通信时,要进行电平的转换,需要将TTL电平转换为RS—232电平(-5V~-15V表示逻辑1,+5V~+15V表示逻辑0),在传输线上传送的RS—232电平可高达12V,比TTL电平有更强的抗衰减能力及抗干扰能力,可用于远距离传输。
常用的电平转换芯片为MAX2232,此芯片能实现以上两种电平的相互转换。
另外,信号传输的介质最好使用双绞线,有利于抑制外界共模信号的干扰。
2.单片机与PC机串行通信实现手段
由于PC机中集成了串行异步通信的可编程芯片8250,我们可以通过PC机的串行通信口COM1或COM2对它进行控制,因而不需要再单独做实验板。
我们可以把单片机的内部电平转换接口与PC机的串行通信口COM1或COM2通过串行连接线连接起来,然后用软件对它们进行初始化,使它们运行各自的接收或发送程序。
在具体编程的时候,我们可以实现很多的功能。
例如,我们可以从PC机和单片机中读其RAM或ROM的内容,对它们进行在线修改。
PC机的程序可以用汇编程序MASM6.0、VB、C++Bilder或VC++进行编写。
控制电路与计算机通讯能够在计算机上作监控界面,使机械手控制更加人性化。
图4-3串行通讯电路
4.3电路图绘制
图4-4系统电路图控制
(1)电路说明:
PC机通过电频转换器将程序传送至单片机,单片机通过驱动芯片控制步进电机正反转,使传感器到达指定位置。
传感器检测工件颜色,并发射相应信号给单片机(红色,进行下一步;黑色,停止、延时;无反射,程序结束)。
单片机通过已设定的程序完成相应步骤。
(2)单片机电路
1)看门狗复位电路
复位操作通常有两种基本形式:
上电复位和按钮复位。
本电路中采用的是上电复位,其工作原理为:
上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个时钟周期以上的高电平,就能使单片机有效的复位。
看门狗又叫watchdogtimer,是一个定时器电路,一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端,给WDT清零,如果超过规定的时间不喂狗,(一般在程序跑飞时),WDT定时超过,就回给出一个复位信号到MCU,是MCU复位.防止MCU死机.看门狗的作用就是防止程序发生死循环,或者说程序跑飞。
工作原理:
在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以在使用有看门狗的芯片时要注意清看门狗。
硬件看门狗是利用了一个定时器,来监控主程序的运行,也就是说在主程序的运行过程中,我们要在定时时间到之前对定时器进行复位如果出现死循环,或者说PC指针不能回来。
那么定时时间到后就会使单片机复位。
看门狗复位电路图如下。
图4-5看门狗复位电路
2)晶振电路
MCS-51系列单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器,就构成了内部振荡电路,如下图所示。
图中C1、C2起稳定振荡频率、快速起振的作用,电容值一般为5—30pF。
晶振常选用频率为6MHz、12MHz或24MHz的,采用串口时常使用频率为11.0592MHz的晶振。
内部振荡方式所得到的时钟信号比较稳定,应用较多。
图4-6振荡电路
4.4程序流程
程序开始运行后,系统初始化,机械手回到原始位置。
传送带将工件运送过来,到达指定位置后延时1s。
这时,传感器开始检验,向工件位置发射光线,通过是否有收到反射光来判断工件是否到达指定位置。
如果有发射光,则运行下一步程序,开始搬运工件。
如此循环,直到传感器不再接受到反射光,则加工停止,程序结束。
4.5程序编写
#include
#defineTH0_TL0(65536-1000)//设定中断的间隔时长
unsignedcharcount0=0;
unsignedcharcount1=0;
bitFlag=1;//电机正反转标志位,1正转,0反转
sbitKey_add=P3^2;//电机减速
sbitKey_dec=P3^3;//电机加速
sbitKey_turn=P3^4;//电机换向
sbitPWM1=P3^6;//PWM通道1
sbitPWM2=P3^7;//PWM通道2
unsignedcharTime_delay;
//函数声明
voidDelay(unsignedcharx);
voidMotor_speed_high(void);
voidMotor_speed_low(void);
voidMotor_turn(void);
voidTimer0_init(void);
voidDelay(unsignedcharx)//延时处理
{
Time_delay=x;
while(Time_delay!
=0);
}
voidTimer0_int(void)interrupt1using1//定时0中断处理
{
TR0=0;
TL0+=(TH0_TL0+9)%256;
TH0+=(TH0_TL0+9)/256+(char)CY;
TR0=1;
if(Time_delay!
=0)//延时函数用
{
Time_delay--;
}
if(Flag==1)//电机正转
{
PWM1=0;
if(++count1 { PWM2=1; 32 } else PWM2=0; if(count1>=100) { count1=0; } } else//电机反转 { PWM2=0; if(++count1 { PWM1=1; } else PWM1=0; if(count1>=100) { count1=0; } }//反转 } voidMotor_speed_high(void)//按键处理加pwm占空比,电机加速{ if(Key_add==0) { Delay(10); if(Key_add==0) { count0+=5; if(count0>=100) { count0=100; } } while(Key_add==0);//等待键松开 } } voidMotor_speed_low(void)//按键处理减pwm占空比,电机减速 voidmain(void)//主函数 {Timer0_init();while (1) { Motor_turn(); Motor_speed_high();Motor_speed_low();} } 结论 在设计过程中给我印象最深的是作为一名设计人员,面对一项设计任务时,不仅要能够熟练的运用相关专业知识,同时还要考虑到在实际应用中所面对的场地、环境、资金和实际加工等一系列问题。 我考虑到采用液压、气压传动。 但是,液压、气压系统对环境要求高,且对密封性要求严格,同时要求配置液压泵、气压泵等相关装置。 而气体的可压缩性导致了整个装置的精度较低。 于是改用伺服电机驱动。 在确定了电机驱动后,相应的设计思路也逐渐清晰了。 于是,我设计了一套驱动电路,本以为这样电路设计主要部分就基本完成。 但是,在审查后发现了电路的一些缺点,并认识到可以通过相应的驱动芯片进行驱动。 这套方案不但极大程度上简化了整个电路部分,同时驱动能力还有了一定的提高。 参考文献 [1]张建民.机电一体化系统设计[M].北京: 北京理工大学出版社,1996 [2]陈光东.单片微型计算机原理与接口技术[M].武昌: 华中理工大学出版社,1999 [3]刘鑫.工业控制计算机的设计技术[J].自动化博览,2001(6) [4]孙克梅.直流伺服电机的单片机控制及应用[J].沈阳航空工业学院学报,2003 (2) [5]邓星钟.机电传动控制[M].武昌: 华中科技大学出版社,2001 [6]张建民.机电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 机械手 控制系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)