步进电机PLC控制设计.docx
《步进电机PLC控制设计.docx》由会员分享,可在线阅读,更多相关《步进电机PLC控制设计.docx(21页珍藏版)》请在冰豆网上搜索。
![步进电机PLC控制设计.docx](https://file1.bdocx.com/fileroot1/2023-4/19/5c218e85-41f4-4002-911a-e6695f813282/5c218e85-41f4-4002-911a-e6695f8132821.gif)
步进电机PLC控制设计
目录
第一章控制工艺流程分析1
1.1步进电机的控制过程描述1
1.2PLC控制步进电机的控制工艺分析2
第二章步进电机PLC控制系统总体方案设计2
2.1系统硬件组成2
2.2控制方法分析4
2.3I/O分配5
2.4系统接线图设计7
第三章控制系统梯形图程序设计8
3.2控制程序的时序图设计9
3.3控制程序设计思路9
第四章监控系统设计11
4.1PLC与上位监控软件通讯11
4.2上位监控系统组态设计11
4.3实现的效果12
第五章系统调试及结果分析13
5.1实验调试中遇到的问题及解决方案13
5.2设计心得13
参考文献14
附录15
第1章控制工艺流程分析
1.1步进电机的控制过程描述
步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。
单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。
多相步进电动机有多相方波脉冲驱动,用途很广。
使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。
每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。
正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
1.2PLC控制步进电机的控制工艺分析
时至今日,软件以及电子设备等相关技术都有了长足发展。
虽然软件的发展速度比不上硬件的发展速度那么迅速,但已能满足现在的工业需求。
对步进电机的传统控制通常完全由硬件电路搭接而成。
,比如:
可以实现高精度的控制,降低成本,降低控制难度,简化控制电路等。
而从20世纪80年代开始开发出了专用的IC驱动电路,今天,在打印机、磁盘器等的OA装置的位置控制中,步进电机都是不可缺少的组成部分之一。
PLC控制步进电机的控制工艺分析:
1.不需要反馈,控制简单。
2.与微机的连接、速度控制(启动、停止和反转)及驱动电路的设计比较简单。
3.没有角累积误差。
4.停止时也可保持转距。
5.没有转向器等机械部分,不需要保养,故造价较低。
6.即使没有传感器,也能精确定位。
7.根椐给定的脉冲周期,能够以任意速度转动。
但是,这种电机也有自身的缺点。
8.难以获得较大的转矩
9、不宜用作高速转动
10.在体积重量方面没有优势,能源利用率低。
11.超过负载时会破坏同步,速工作时会发出振动和噪声
第2章步进电机PLC控制系统总体方案设计
2.1系统硬件组成
可编程控制器有两种基本的工作状态,即运行(RUN)状态与停止(STOP)状态。
在运行状态中,可编程控制器通过执行反应控制来实现用户的控制要求。
为了使可编程控制器的输出及时地响应随时可能变化的输入信号,用户程序不仅仅执行一次,而是反复不断地重复执行,直到可编程控制器停机或切换到STOP工作状态。
本设计采用51单片机AT89C51(晶振频率为12MHZ)对该四相六线制步进电机(内阻33欧,步进1.8度,额定电压12V)进行控制。
通过I/O口输出的具有时序的方波作为步进电机的控制信号,信号经过特定芯片驱动步进电机。
本文选用ULN2003构成步进电机的驱动电路,下面但见介绍下ULN2003的结构和特点:
ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。
该电路的特点如下:
ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。
ULN2003工作电压高,工作电流大,灌电流可达500mA,并且能够在关态时承受50V的电压,输出还可以在高负载电流并行运行。
ULN2003采用DIP—16或SOP—16塑料封装。
ULN2003方框图如图2-1所示。
2-1ULN2003内部方框图
利用ULN2003以及AT89C51设计的步进电机驱动电路如图2-2所示。
图2-2ULN2003和AT89C51构成的驱动电路
此25-28口接ULN2003的1-4输入端。
另外,用键盘来对电机的状态进行控制。
将图2-2和图2-3连接起来,使之实现:
按下启动键S1,电机旋转,按一下加1键S2,速度增加1转/分,按一下减1键S3,速度降低1转/分。
本设计设置了速度范围,其速度最低和最高分别为:
9转/分,75转/分,按下停止键S4,电机停转。
速度值在数码管上显示出来。
综合以上设计的控制电路方案,总设计方案框图如2-3所示。
图2-3步进电机控制系统硬件电路设计框图
图2-4PLC控制系统的硬件结构图
2.2控制方法分析
步进电机是将给定的电脉冲信号转变为角位移或线位移的开环控制元件。
给定一个电脉冲信号,步进电机转子就转过相应的角度,这个角度就称作该步进电机的步距角。
目前常用步进电机的步距角大多为1.8度(俗称一步)或0.9度(俗称半步)。
以步距角为0.9度的进步电机来说,当我们给步进电机一个电脉冲信号,步进电机就转过0.9度;给两个脉冲信号,步进电机就转过1.8度。
以此类推,连续给定脉冲信号,步进电机就可以连续运转。
给定一个脉冲,转过一个步距角,当停止的位置确定以后,也就决定了步进电机需要给定的脉冲数。
其工作原理如下:
设A相首先通电,转子齿与定子A、A′对齐。
然后在A相继续通电的情况下接通B相。
这时定子B、B′极对转子齿2、4产生磁拉力,使转子顺时针方向转动,但是A、A′极继续拉住齿1、3,因此,转子将转到两个磁拉力平衡为止。
即转子顺时针转过了15°。
接着A相断电,B相继续通电。
这时转子齿2、4和定子B、B′极对齐,转子从图(b)的位置又转过了15°。
这样,如果按A→A、B→B→B、C→C→C、A→A…的顺序轮流通电,则转子便顺时针方向一步一步地转动,步距角15°。
如果按A→A、C→C→C、B→B→B、A→A…的顺序通电,则电机转子逆时针方向转动。
图2-5步进电机通电方式原理图
三相步进电动机有三个绕组:
A、B、C
正转通电顺序为:
A→AB→B→BC→C→CA
反转通电顺序为:
A→CA→C→BC→B→AB
#1开关控制其运行(启)。
#2开关控制其运行(停)。
#3号开关控制其低速运行(转过一个步距角需0.5s)。
#4号开关控制其中速运行(转过一个步距角需0.1s)。
#5号开关控制其高速运行(转过一个步距角需0.04s)。
#6号开关控制其转向(ON为正转)。
#7号开关控制其转向(OFF为反转)。
2.3I/O分配
步进电动机以最常用的三相六拍通电方式工作,并要求步进电动机设有快速、慢速控制、正反转及单步控制4种控制方式。
根据要求,可选用C28P—CDT—D的PLC进行控制并设计出步进电动机的PLC控制系统I/O接线图。
图2-6步进电动机的PLC控制系统I/O接线图
步进电动机PLC控制系统梯形图设计
图2-7步进电动机的PLC控制系统梯形图
2.4系统接线图设计
图2-8PLC控制系统接线图
1、步距角的选择电机的步距角取决于负载精度的要求,将负载的最小分辨率(当量)换算到电机轴上,每个当量电机应走多少角度(包括减速)。
电机的步距角应等于或小于此角度。
目前市场上步进电机的步距角一般有0.36度/0.72度(五相电机)、0.9度/1.8度(二、四相电机)、1.5度/3度(三相电机)等。
2、静力矩的选择:
步进电机的动态力矩一下子很难确定,我们往往先确定电机的静力矩。
静力矩选择的依据是电机工作的负载,而负载可分为惯性负载和摩擦负载二种。
单一的惯性负载和单一的摩擦负载是不存在的。
直接起动时(一般由低速)时二种负载均要考虑,加速起动时主要考虑惯性负载,恒速运行进只要考虑摩擦负载。
一般情况下,静力矩应为摩擦负载的2-3倍内好,静力矩一旦选定,电机的机座及长度便能确定下来。
3、电流的选择:
静力矩一样的电机,由于电流参数不同,其运行特性差别很大,可依据矩频特性曲线图,判断电机的电流。
第3章控制系统梯形图程序设计
3.1步进电机控制流程图
图3-1步进电机控制流程图
3.2控制程序的时序图设计
图3-2控制电机的时序图
3.3控制程序设计思路
功能模块设计:
本模块可分为如下3个部分:
(1)步进电动机与单片机的接口。
单片机是性能极佳的控制处理器,在控制步进电机工作时,接口部件必须要有下列功能。
电压隔离功能:
单片机工作在5V,而步进电机是工作在几十V,甚至更高。
一旦步进电机的电压串到单片机中,就会损坏单片机;步进电机的信号会干扰单片机,也可能导致系统工作失误,因此接口器件必须有隔离功能。
信息传递功能:
接口部件应能够把单片机的控制信息传递给步进电机回路,产生工作所需的控制信息,对应于不同的工作方式,接口部件应能产生相应的工作控制波形。
产生所需的不同频率。
为了使步进电机以不同的速度工作,以适应不同的目的,接口部件应能产生不同的工作频率。
(2)电压隔离接口。
电压隔离接口专用于隔离低压部分的单片机和高压部分的步进电机驱动电路,以保证它们的正常工作。
电压隔离接口可以用脉冲变压器或光电隔离器,现在基本上是采用光电隔离器。
单片机输出信号可以通过TTL门电路或者直接送到晶体管的基极,再由晶体管驱动光电耦合器件的发光二极管。
发光二极管的光照到光电耦合器件内部的光敏管上,转换成电信号,再去驱动步进电机的功率放大电路,电流放大接口是步进电机功放电路的前置放大电路。
它的作用是把光电隔离器的输出信号进行电流放大,以便向功放电路提供足够大的驱动电流。
(3)工作方式接口和频率发生器。
用单片机控制步进电动机,需要在输入输出接口上用3条I/0线对步进电动机进行控制,这时,单片机用I/O口的RA0、RAI、RA2控制步进电动机的三相。
第4章监控系统设计
4.1PLC与上位监控软件通讯
上位机的作用是提供一个人机交互界面,使操作人员可以通过CRT和模拟屏直观的了解现场各工艺参数及故障报警,根据生产需要发出相应的控制指令。
另外可以使用大容量存储器记录历史数据,为提高生产效率制定新的生产方案提供可靠的依据。
控制核心采用PLC,其特点是体积小、功能多、可靠性高。
编程后的PLC能够按照内部程序对系统进行实时监控,程序启停现场设备。
由于现场监控点多、布局分散,且各工序工艺独立,为简化电缆铺设、降低系统成本、提高系统稳定性,采用两台PLC对生产工艺进行监控。
其中主PLC控制提升泵站、沉砂池、氧化沟、二沉池、回流污泥泵站的所有设备及传感器。
控制剩余污泥泵站、储泥池、加药间、脱水间的所有设备及传感器。
主、数据通过Control-Link总线进行数据交换,实现数据共享。
操作人员通过上位机向PLC发出相应的控制指令后,由PLC对现场进行直接控制。
此时即便上位机出现故障(如死机、掉电等),也不会影响系统的正常工作,这样做大大提高了系统的安全稳定性。
PLC与上位机的通讯采用RS485方式,这种方式传输距离远,技术可靠。
4.2上位监控系统组态设计
随着工业自动化水平的迅速提高,计算机在工业领域的广泛应用,人们对工业自动化的要求越来越高,种类繁多的控制设备和过程监控装置在工业领域的应用,使得传统的工业控制软件已无法满足用户的各种需求。
已开发成功的工控软件又由于每个控制项目的不同而使其重复使用率低,导致它的价格非常昂贵;在修改工控软件的源程序时,倘若动而离去时,则必须同其他人员或新手进行源程序的修改,因而更是相当困难。
因为它能够很好地解决传统工业控制软件存在的种种问题,使用户能根据自己的控制对象和控制目的的任意组态,完成最终的自动化控制工程。
图4-1上位监控系统组态与上位机接线图
组态(Configuration)为模块化任意组合。
通用组态软件主要特点:
(1)延续性和可扩充性。
用通用组态软件开发的应用程序,当现场(包括硬件设备或系统结构)或用户需求发生改变时,不需作很多修改而方便地完成软件的更新和升级;
(2)封装性(易学易用),通用组态软件所能完成的功能都用一种方便用户使用的方法包装起来,对于用户,不需掌握太多的编程语言技术(甚至不需要编程技术),就能很好地完成一个复杂工程所要求的所有功能;
(3)通用性,每个用户根据工程实际情况,利用通用组态软件提供的底层设备(PLC、智能仪表、智能模块、板卡、变频器等)的I/ODriver、开放式的数据库和画面制作工具,就能完成一个具有动画效果、实时数据处理、历史数据和曲线并存、具有多媒体功能和网络功能的工程,不受行业限制。
4.3实现的效果
组态软件大都支持各种主流工控设备和标准通信协议,并且通常应提供分布式数据管理和网络功能。
对应于原有的HMI(人机接口软件,HumanMachineInterface)的概念,组态软件还是一个使用户能快速建立自己的HMI的软件工具或开发环境。
在组态软件出现之前,工控领域的用户通过手工或委托第三方编写HMI应用,开发时间长,效率低,可靠性差;或者购买专用的工控系统,通常是封闭的系统,选择余地小,往往不能满足需求,很难与外界进行数据交互,升级和增加功能都受到严重的限制。
组态软件的出现使用户可以利用组态软件的功能,构建一套最适合自己的应用系统。
随着它的快速发展,实时数据库、实时控制、SCADA、通讯及联网、开放数据接口、对I/O设备的广泛支持已经成为它的主要内容监控组态软件将会不断被赋予新的内容。
第5章系统调试及结果分析
5.1实验调试中遇到的问题及解决方案
实验中可能会有许多原因会引起调试的不成功,其中包括硬件方面的,和软件方面的。
硬件方面的主要是连线的错误,或者其他硬件方面的问题。
比如硬件线路的接法不同也可能导致实验的不成功。
还有软件方面的问题,比如因为软件版本存在差异,使得一些语句不能实现,或者达不到预期的效果。
这就要求我们在做实验时要仔细的分析实验中遇到的问题。
5.2设计心得
通过实验,我们感性地认识到理论与实际的差别,加深了我们对本课程设计的理解和认识。
通过实验来验证设计并改善设计中的不足之处,实验中我们会遇到很多问题和故障,在锻炼了我们的动手能力的同时也提高了我们的思考、解决问题的能力。
调试的过程就是观察、分析、排错的过程。
在进行实验时,应该按照设计的实验步骤进行观察、记录,然后与原设计进行比较、分析,以判断每一步是否正确,从而推动整个实验的进程。
实验的调试过程,实质上是一个不断发现问题,不断找出原因,不断解决问题的过程。
要解决问题关键是要发现问题的所在,而要能找到出错的原因,只有通过反复的对实验运行过程中记录的参数进行分析、比较,才能发现问题。
由此可见,在实验室做好现场参数的记录和分析是相当重要的。
这不仅是培养我们养成良好实验习惯的机会,也是让我们学会将理论知识综合运用、掌握实验技巧、提高动手能力。
因此必须要经过实验测试和调整,以便发现和纠正设计和安装中的不足,最后才能达到预定的设计要求。
参考文献
[1].邓星钟.机电传动与控制[M].武汉:
华中科技大学出版社,2007年7月.
[2].廖常初.FX系列PLC编程及应用[M].北京:
机械工业出版社,2009年6月.
[3].李朝青.单片机接口技术[M].北京:
北京航空航天大学出版社,2005年10月.
[4].宋伯生.PLC编程理论、算法及技巧[M].北京:
机械工业出版社,2005年7月.
[5].吴作明.PLC开发与应用实例详解[M].北京:
北京航空航天大学出版社,2007年11月.
附录
START bit 01H
MinSpd EQU9
MaxSpd EQU75
Speed DATA23H
ORG0000H
LJMPDJSD
ORG0010H
LJMPMAIN
ORG0030H
MAIN:
MOV SPEED,#MinSpd
m_NEXT1:
MOVA,Speed
MOVB,#10
DIVAB
CMPA,#0
JEDISPS0
CMPA,#1
JEDISPS1
CMPA,#2
JEDISPS2
CMPA,#3
JEDISPS3
CMPA,#4
JEDISPS4
CMPA,#5
JEDISPS5
CMPA,#6
JEDISPS6
CMPA,#7
JEDISPS7
CMPA,#8
JEDISPS8
CMPA,#9
JEDISPS9
DISPS0:
MOVP0,#0FCH
JMPNext
DISPS1:
MOVP0,#060H
JMPNext
DISPS2:
MOVP0,#0DAH
JMPNext
DISPS3:
MOVP0,#0F2H
JMPNext
DISPS4:
MOVP0,#066H
JMPNext
DISPS5:
MOVP0,#0B6H
JMPNext
DISPS6:
MOVP0,#0BEH
JMPNext
DISPS7:
MOVP0,#0E0H
JMPNext
DISPS8:
MOVP0,#0FEH
JMPNext
DISPS9:
MOVP0,#0F6H
JEDISPG0
CMPB,#1
JEDISPG1
CMPB,#2
JEDISPG2
CMPB,#3
JEDISPG3
CMPB,#4
JEDISPG4
CMPB,#5
JEDISPG5
CMPB,#6
JEDISPG6
CMPB,#7
JEDISPG7
CMPB,#8
JEDISPG8
CMPB,#9
JEDISPG9
MOVP1,#0FCH
JMPNext
DISPG1:
MOVP1,#060H
JMPNext
DISPG2:
MOVP1,#0DAH
JMPNext
DISPG3:
MOVP1,#0F2H
JMPNext
DISPG4:
MOVP1,#066H
JMPNext
DISPG5:
MOVP1,#0B6H
JMPNext
DISPG6:
MOVP1,#0BEH
JMPNext
DISPG7:
MOVP1,#0E0H
JMPNext
DISPG8:
MOVP1,#0FEH
JMPNext
DISPG9:
MOVP1,#0F6H
JMPNext
Next:
MOVA,Speed
JBSTART,m_Next2
CLRTR1
ORLP2,#11110000B
m_Next2:
SETBTR1
JB ACC.1,UpSpd
JB ACC.2,DowSpd
AJMP KEY_RET
StartStop:
SETBStartEnd ;
UpSpd:
INC SPEED
MOV A,SPEED
CJNE A,#MaxSpd,K1
K1:
AJMP KEY_RET
DowSpd:
DEC SPEED
MOV A,SPEED
CJNE A,#MAXSPD,KEY_RET
MOVSPEED,#MinSpd;
KEY_RET:
RET
DjZS:
PUSHACC
PUSHPSW
MOVA,Spee
SUBBA,#MinSpd
MOVDPTR,#DjH
MOVCA,@A+DPTR
MOVTH1,A
MOVA,Speed
SUBBA,#MinSpd
MOVDPTR,#DjL
MOVCA,@A+DPTR
MOVTL1,A
MOVA,DjCount
CPLA
ORLP2,A
MOVA,DjCount
JNBACC.7,d_Next1
JMPd_Next2
d_Next1:
MOVDjCount,#11110111B
d_Next2:
MOVA,DjCount
RLA
MOVDjCount,A
ANLP2,A
POPPSW
POPACCRETI
.