二自由度机械臂驱动控制系统设计

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

目录
第一章绪论
1.1设计目的与意义 (1)
1.2工业机器人机械臂的概述 (1)
1.3系统描述 (1)
第二章步进电机驱动器设计
2.1 步进电机概述 (2)
2.2 步进电机的转动控制 (2)
2.2.1 基于控制电路的控制 (2)
2.2.2 基于单片机的控制 (6)
2.2.3 方案选择 (11)
第三章PLC控制系统设计
3.1 任务描述 (11)
3.2 控制任务和要求 (11)
3.3 PLC的选型 (12)
3.4 I/O地址编号和接线图 (12)
3.5 PLC控制系统程序设计 (12)
结论 (13)
附录一PLC源程序 (14)
附录二步进电机C语言源程序 (19)
附录三电镀生产线的自动工作状态流程 (21)
附录四I/O接线图 (22)
第一章绪论
1.1设计目的与意义
随着工业化生产的不断细分,新工艺新材料的不断涌现,在实际产品中得到应用的设计效果也日新月异,电镀是我们在设计中经常要涉及到的一种工艺,而电镀效果是我们使用时间较长,工艺也较为成熟的一种效果,对于这种工艺的应用在产品上已经非常多。

电镀能增强金属的抗腐蚀性(镀层金属多采用耐腐蚀的金属)、增加硬度、防止磨耗、提高导电性、润滑性、耐热性、和表面美观。

如何更好地实现电镀工艺的自动化,是目前很多研究者在研究的问题。

本次设计采用了自动控制与点动控制相结合的方式,满足了电镀过程的需求,对实现电镀过程的自动化做了一次意义的尝试。

同时,通过本次设计,进一步提升了自己在PLC 编程方面的能力,加深了对PLC的认识以及对步进电机的驱动和工作方式有了更深的体会。

1.2工业机器人机械臂的概述
工业机器人作为最典型的机电控制系统实例之一,几乎具有机电一体化系统的所有特点。

既具有操作机(机械本体)、控制器、伺服驱动系统和检测传感装置,又具有速度快、精度高、柔性好的特点。

工业机器人系统由三大部分六个子系统组成。

三大部分是:机械部分、传感部分、控制部分。

六个子系统是:驱动系统、机械结构系统、感受系统、机器人—环境交互系统、人机交互系统、控制系统。

机械臂作为工业机器人的一种形式,是工业自动控制领域中经常遇到的一种控制对象。

机械臂可以完成许多工作,如搬物、装配、切割、喷染等等,应用非常广泛。

近年来,为实现工业过程自动化,已有不少操作机械臂广泛应用于工厂的各个生产过程,尤其是那些人力所限和人所不及的外部环境或危险场所,将是机械臂进一步发展的应用领域。

1.3系统描述
自动化电镀生产线上的机械臂为二自由度机械臂,由两个步进电机控制。

其中一个步进电机控制吊钩的上下运动;另一个步进电机控制行车的左行与右行。

该机械臂的模型如下图1.1所示:
图1.1 电镀工艺机械臂模型
该机械臂由罗克韦尔公司的Micrologix 1000控制,控制的流程主要有电镀槽、镀液回收槽、清洗槽三大部分组成,并设置了原位指示灯、点动指示灯和自动指示灯,具体情况见第三章,此处指给出系统整体结构图:
图2.2 系统整体结构图
第二章步进电机驱动器设计
2.1 步进电机概述
步进电机是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。

步进电机区别于其他控制电机的最大特点是:它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。

该设计采用电机为四相步进电机,采用单极性直流电源供电。

只要对步进电机的各相绕组按合适的时序通电,就能使步进电机转动。

当某一相绕组通电时,对应的磁极产生磁场,
并与转子形成磁路,这时,如果定子和转子的小齿没有对齐,在磁场的作用下,由于磁通具有力图走磁阻小路径的特点,则转子将转动一定的角度,使转子与定子的齿相互对齐,由此可见,错齿是促使电机旋转的原因。

目前,对步进电机的控制主要有分散器件组成的环形脉冲分配器、软件环形脉冲分配器、专用集成芯片环形脉冲分配器等。

本设计利用单片机进行控制,主要是利用软件进行环形脉冲分配。

四相步进电机的工作方式为四相单四拍,双四拍和四相八拍工作的方式。

各种工作方式在电源通电时的时序与波形分别如图a、b、c所示。

本设计的电机工作方式为四相单四拍,根据步进电机的工作的时序和波形图,总结出其工作方式为四相单四拍时的脉冲分配规律,四相双四拍的脉冲分配规律,在每一种工作方式中,脉冲的频率越高,其转速就越快,但脉冲频率高到一定程度,步进电机跟不上频率的变化后电机会出现失步现象,所以脉冲频率一定要控制在步进电机允许的范围内。

图2.1 步进电机工作时序波形图
2.2步进电机的转动控制
目前,步进电机的转动控制主要有三大类:
一、基于控制电路的控制
这种控制方式的核心是555定时器芯片,它产生步进电机转动所需的脉冲,并通过分频器分配给步进电机的各相,最后通过一个功率放大电路就实现了对步进电机的转动控制。

这种控制方式的优点是简单、可靠,缺点是不适用与控制精度要求很高的场合。

二、基于微控制器的控制
这种控制方式的核心是各种类型的单片机以及各种各类的PLC。

它的优点在于设计者根据实际的需求灵活的设计控制电路,因而这种控制方式的灵活性很大,功能丰富。

三、基于专用控制芯片的控制
这种控制方式一般适用在控制精度要求高的场合,它是由专门的设计公司开发的,因而它的功能很强大。

主要由三部分组成:脉冲发生器、脉冲分配器、功率放大电路组成,其结构形式如下图2.2所示:
图2.2 步进电机的控制电路
①脉冲发生电路
脉冲发生电路就是产生方波的电路,可以考虑由晶体管或IC芯片构成的多谐振荡电路或专用定时器芯片电路等。

在需要产生特别精确脉冲的场合可以使用石英振荡电路。

如图
2.3电路采用了NE555定时器芯片。

图2.3 脉冲放生电路
②脉冲分配电路
脉冲分配电路的任务是从脉冲发生电路产生的方波中分解出对应的四相脉,74HC74为单输入端的双D触发器。

一个片子里封装着两个相同的D触发器,每个触发器只有一个D 端,它们都带有直接置0端RD和直接置1端SD,为低电平有效。

CP上升沿触发。

D型触
发器的特点是:仅仅在时钟脉冲到来的触发时刻,输入数据才从D端传输至Q端;D型触
发器具有锁存数据的功能,当CP=“0”电平时,D型触发器输出状态不再随输入状态而变化,即锁存了前一次的数据。

如图2.4是采用74HC74的二相励磁脉冲分配电路。

图2.4 脉冲分配电路
③功率放大电路
步进电机中,各相中约有几百毫安的励磁电流通过,需要借助功率三极管或IC芯片驱
动励磁电流。

如图2.5是三极管电机驱动电路的实例。

图中与步进电机连接的二极管的作用是用来吸收定子线圈产生的反电动势。

图2.5 功率放大电路
③总体电路图
图2.6 总体电路图
2.2.2 基于单片机的控制
步进电机的四相绕组用 P1 口的 P1.0~P1.3 控制,由于 P1 口驱动能力不够,因而用一片 2803 增加驱动能力。

用 P0 口控制第一数码管用于显示正反转,用 P2 口控制第二个数码管用于显示转速等级。

数码管采用共阳的。

一、硬件设计
本设计的硬件电路包括控制电路、最小系统、驱动电路、显示电路四大部分。

最小系统只要是为了使单片机正常工作。

控制电路只要由开关和按键组成,显示电路主要是为了显示电机的工作状态和转速。

驱动电路主要是对单片机输出的脉冲进行功率放大,从而驱动电机转动。

①控制电路
根据系统的控制要求,控制输入部分设置了启动控制,换向控制,加速控制和减速控制按钮,分别是K1、K2、S2、S3,控制电路如图7所示。

通过K1、K2状态变化来实现电机的启动和换向功能。

当K1、K2的状态变化时,内部程序检测P1.0和P1.1的状态来调用相应的启动和换向程序,发现系统的电机的启动和正反转控制。

根据步进电机的工作原理可以知道,步进电机转速的控制主要是通过控制通入电机的脉冲频率,从而控制电机的转速。

对于单片机而言,主要的方法有:软件延时和定时中断在此电路中电机的转速控制主要是通过定时器的中断来实现的,该电路控制电机加速度主要是通过S2、S3的断开和闭合,从而控制外部中断根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,从而改变了电机的转速。

图2.7 控制电路原理图
②最小系统
对51系列单片机来说,最小系统一般应该包括:单片机、复位电路、晶振电路。

复位电路:晶振电路用30PF的电容和一个12M晶体振荡器组成为整个电路提供时钟频率。

晶振电路:8051单片机的时钟信号通常用两种电路形式电路得到:内部震荡方式和外部中断方式。

在引脚XTAL1和XTAL2外部接晶振电路器(简称晶振)或陶瓷晶振器,就构成了内部晶振方式。

图2.8 最小系统电路图
③驱动电路
通过ULN2803构成比较多的驱动电路,电路图如图9所示。

通过单片机的P1.0~P1.3输出脉冲到ULN2803的1B~4B口,经信号放大后从1C~4C口分别输出到电机的A、B、C、D 相。

图2.9 驱动电路
④显示电路
在该步进电机的控制器中,电机可以正反转,可以加速、减速,其中电机转速的等级分为七级,为了方便知道电机的运行状态和电机的转速的等级,这里设计了电机转速和电机的工作状态的显示电路。

在显示电路中,主要是利用了单片机的P0口和P2口。

采用两个共阳数码管作显示。

第一个数码管接的a、b、c、d、e、f、g、h分别接P0.0~P0.7口,用于显示电机正反转状态,正转时显示“1”,反转时显示“一”,不转时显示“0”。

第二个数码管的a、b、c、d、e、f、g、h分别接P2.0~P2.7口,用于显示电机的转速级别,共七级,即从1~7转速依次递增,“0”表示转速为零。

电路如图所示。

图2.10 显示电路
⑤总体电路图
把各个部分的电路图组合成总电路图,如图2.11所示。

图2.11 整体电路图
二、软件设计
①主程序设计
主程序中要完成的工作主要有系统初始值的设置、系统状态的显示以及各种开关状态的检测判断等。

其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。

若初始化P1=11H、速度和方向初始值均设为0,就意味着步进电机按四相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图2.12所示。

②定时中断设计
步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。

在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断
次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。

程序流程图如图2.13所示。

③外部中断设计
外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。

速度增加按钮S2为INT0中断,其程序流程为原数据,当值等于7时,不改变原数值返回,小于7时,数据加1后返回;速度减少按钮S3,当原数据不为0,减1保存数据,原数据为0则保持不变。

程序流程图如图2.14所示。

图2.13 定时中断程序流程图图2.12 主程序流程图
图2.14 外部中断程序流程图
2.2.3 方案选择
以上详细介绍了步进电机转动控制的两种控制方案。

在电镀生产工艺中,对电镀时间的把握要求非常高。

而上述基于单片机的步进电机转动控制设置了速度等级,利于步进电机的精确启停控制。

基于上述考虑,最终我们选择了方案二。

第三章PLC控制系统设计
3.1任务描述
电镀生产线上有三个槽,工件可由升降吊钩的行车移走,经过电镀、镀液回收、清洗工件,实现对工件的电镀。

工艺要求是:工件放入电镀槽中,电镀280s后提起,停放28s,让镀液从工件上流回镀槽,然后放入回收槽中浸30s,提起挺15s,在放入清水槽中清洗30s,最后提起挺15s,行车返回原位,电镀一个工件的全程结束。

电镀生产线的工艺流程如图3.1所示:
图3.1 工艺流程
3.2控制任务和要求
电镀生产线除装卸工件外,要求整个生产线能自动运行。

同时吊钩和行车的正反转均能点动控制,以便对设备进行调整和检修。

行车自动运行的控制过程是:行车在原位,吊钩下降在最下方时,行车左限位开关SQ4、吊车下限为开关SQ6被下压动作,操作人员将电镀工件放在挂件上,即准备开始进行电镀。

吊钩上升:按下启动按钮SB1,是辅助继电器M1接通,吊钩提升电机正传,吊钩上升,碰到上限位开关SQ5后,吊钩停止上升。

行车前进:在吊钩上升停止的同时,辅助继电器M2接通,行车电机正传前进。

吊钩下降:行车前进碰到有限位开关SQ1,行车停止前进,同时辅助继电器M3接通,吊钩电机反转,吊钩下降。

定时电镀:吊钩下降碰到下限为开关SQ6时,同时辅助继电器M4接通,使定时器T0定时280s电镀。

吊钩上升:T0定时时间到,辅助继电器M5接通,吊钩电机正传,吊钩上升。

定时滴液:吊钩上升碰到上限位开关SQ5的同时,吊钩停止上升,同时辅助继电器M6接通,定时器T1定时28s,工件滴液。

行车后退:T1定时时间到,辅助继电器M7接通,行车电机反转,行车后退,转入下到镀液回收工序。

后面各道工序的顺序动作过程,以此类推。

1最后行车退回到原位上方,吊钩下放到原位。

若再次按下启动按钮SB1,则下一个工作循环。

电镀生产线的自动工作状态流程,见附录三。

3.3 PLC的选型
根据自动工作状态流程图,PLC控制系统的输入信号有14个,均为开关量。

其中,各
种但操作按钮开关6个;行程开关6个;自动、手动选择开关2个(占2个输入接点)PLC控制系统的输入信号有5个。

其中,2个用于驱动电机正反转驱动器一、二;2个
用于驱动行车电机正反转驱动器三、四;1个用于原位指示。

控制系统选用A-B公司的MicroLogix1000,可以满足控制要求,且留有一定的裕量。

3.4I/0地址编号及接线图
将14个输入信号、6个输出信号按各自的功能分类,并与PLC的I/O点一一对应,分配
地址。

表3.2 是外部I/O信号与PLC的I/0接点地址号对应表。

根据表,可得到附录四所
示的I/O接线图。

表3.2 外部I/O信号与PLC的I/0接点地址号对应表
3.5PLC控制系统程序设计
电镀生产线的PLC控制包括点点动操作和自动操作两部分。

整个PLC控制程序如附录一
所示。

为了增强程序的可读性和易操作性,本PLC的程序采用了采用了子程序的设计方法,将点动和自动子程序分别放在不同的子程序中,利用主程序观点来实现点动、自动操作区分。

结论
在此次课程设计中,我们组共有五名成员组成。

我们分工明确,其中三名女生负责步进电机驱动电路的设计,而我和另外一名男生负责机械臂PLC驱动程序的设计。

虽然在设计的过程中遇到了不少问题,
但最终都被我们客服了。

看着最终的劳动成果,心中还是有一丝喜悦。

对于我来说,在此次设计的过程中,进一步加深了对罗克韦尔Micrologix 1000控制器的认识以及在编程方面也有了一定的提高。

原本计划是用西门子S7 200设计,但最终发现它的仿真软件不能仿真诸如顺序控制指令等高级指令,于是就放弃了。

但在这过程中也发现了西门子编程指令与罗克韦尔编程指令的差异。

参考文献
[1]张家生. 电机原理与拖动基础【M】. 北京:北京邮电大学出版社,2006.
[2]马淑华,王凤文,张美金. 单片机原理与接口技术【M】.北京:北京邮电大学出版社,
2007.
[3]顾德英,张健,马淑华.计算机控制技术【M】. 北京:北京邮电大学出版社,2006.
[4]华成英,童诗白. 模拟电子技术基础【M】. 北京:高等教育出版社,2008 .
[5]张靖武,周灵彬. 单片机系统的PROTEUS设计与仿真【M】. 北京:电子工业出版社,2007.
[6]船仓一郎,土屋尧 .机器人控制电子学. 科学出版社,2004.5
[7]顾德英,罗长杰.现代电气控制技术【M】.北京:北京邮电大学出版社,2006.
[8]李晓宁,例说西门子PLC S7-200.北京:人民邮电出版社,2008.
[9]鲁远栋,PLC机电控制系统应用技术.北京:电子工业出版社,2006.
附录
附录一
PLC源程序
一、主程序
二、点动程序
三、自动程序
附录二
步进电机C语言源程序
#include <reg51.h>
#define uint unsigned int
sbit k1=P3^4; //启动开关
sbit k2=P3^5; //换向开关
sbit s2=P3^2; //加速按钮
sbit s3=P3^3; //减速按钮
void isr_int0(void);//外部中断0中断服务函数声明
void isr_int1(void); void zd_t0ist(void);
uint speed,count,r1,i,t,k; main()
{k=0;
t=0;
r1=0x11 ;
speed=0;
count=1;
TMOD=0x01;
如有你有帮助,请购买下载,谢谢!
ET0=1;
EA=1;
EX0=1;
EX1=1;
TH0=0xcf;
TL0=0x2c;
for(;;)
{if(k1==0)
{P0=0xff;
P2=0xff;
speed=0;
TR0=0;
}
else
{
if(k2==0)
P0=0xbf;
else P0=0xf9;
if(speed==0)
{P2=0xc0;
TR0=0;
}
else TR0=1;
}
}
}
void isr_int0(void) interrupt 0 {
if(speed<7)
speed=speed+1;
while(s2==0)
{for(i=0;i<10;i++);}
}
void isr_int1(void) interrupt 2 {
if(speed>0)
speed=speed-1;
while(s3==0)
{for(i=0;i<10;i++);}
}
void zd_t0ist(void) interrupt 1 { TH0=0xd8;
TL0=0xf0;
switch(speed) {
case 0:P2=0xc0;count=0;break; case 1:P2=0xf9;count=60;break; case 2:P2=0xa4;count=40;break; case 3:P2=0xb0;count=35;break; case 4:P2=0x99;count=30;break; case 5:P2=0x92;count=28;break; case 6:P2=0x82;count=25;break; case 7:P2=0xf8;count=21;break; default :break;
}
if(t==0)
t=count;
if(t>0)
t=t-1;
if(k2==0)
{
if(t==0)
{
switch(k)
{
case 0:P1=0x01;break;
case 1:P1=0x02;break;
case 2:P1=0x04;break;
case 3:P1=0x08;break;
default :break;
} k=k+1;
if(k==4)
k=0;
}
}
else
{
if(t==0)
{
switch(k)
{
case 0:P1=0x08;break;
case 1:P1=0x04;break;
case 2:P1=0x02;break;
case 3:P1=0x01;break;
default :break;
}
k=k+1;
如有你有帮助,请购买下载,谢谢!if(k==4) k=0;
附录三电镀生产线的自动工作状态流程。

相关文档
最新文档