第七章 综合实例.doc

上传人:pu****.1 文档编号:559423214 上传时间:2022-08-23 格式:DOC 页数:43 大小:777.50KB
返回 下载 相关 举报
第七章 综合实例.doc_第1页
第1页 / 共43页
第七章 综合实例.doc_第2页
第2页 / 共43页
第七章 综合实例.doc_第3页
第3页 / 共43页
第七章 综合实例.doc_第4页
第4页 / 共43页
第七章 综合实例.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《第七章 综合实例.doc》由会员分享,可在线阅读,更多相关《第七章 综合实例.doc(43页珍藏版)》请在金锄头文库上搜索。

1、第七章 工业控制系统典型项目分析本章学习目标l 了解单片机控制系统设计的基本要求。l 掌握一个完整的单片机控制系统设计的基本方法。l 通过多个项目的设计分析提高作者控制系统的设计能力。我们通过前面一些的一些项目熟悉了单片机的基本原理、系统扩展方法以及程序设计的技巧,特别是像数码管、键盘等在控制系统中必须的接口的硬件设计和软件编程方法后,已经具备了设计单片机控制系统的条件。本章再通过比较复杂的一些真实项目的介绍说明控制系统的设计方法。通过这些典型的项目,使读者掌握如何设计满足一定要求的单片机应用系统。7.1机械手的单片机控制项目描述:机械手在工业控制领域用途广泛,主要用于取代简单而笨重的人工操作

2、。把在恶劣环境下工作的人解放出来,提高工作效率,改善工作环境。这里有一个模拟货架,分3层,每层4个包位,共计12个包位,如图7-1所示,图中数字为包位编码,编码的个位数表示X位置,十位数表示Y位置(层数),以供单片机查询、判断时使用。机械传动部分包括导轨、小车、升降盘和机械手等部分。1. 水平方向位移步进电机Mx通过滑轮和传送带,使小车在导轨上运动,实现X方向上的位移。2. 垂直方向升降做X方向运动的小车装有一竖直的六棱金属杆,升降盘套于杆上,杆的顶部装有一定滑轮并配有平衡锤。固定于小车上的步进电机My带动升降盘,实现Y方向的位移。3. 机械手动作机械手装于升降盘上,如图7-2所示。图中A点固

3、定,步进电机Mz带动B点,改变A、B之间的距离,使得机械手移动较大的距离。4.步进电机采用SB-2A型步进电机,它工作于3相6拍的工作方式。电机按顺时针方向旋转(正转)时,各相脉冲顺序为:电机按逆时针方向旋转(反转)时,各相脉冲顺序为:试用单片机设计控制系统完成上述功能。图7-1 货架示意图图7-2 机械手示意图在本项目讨论之前,我们首先要了解一下控制系统的设计基本要求和设计的基本方法。7.1.1 控制系统的设计基本要求方法不同控制系统的具体要求是不一样的,但是设计的基本要求是一样的。1. 高可靠性任意一个控制系统,尤其是实时控制系统最重要的一个基本要求就是高可靠性。因为一旦系统出现故障,将造

4、成生产过程的混乱、指挥乃至监控系统的失灵,从而导致严重的后果。因此,在系统设计中高可靠性就成为系统设计每一个环节必须考虑的问题。提高系统可靠性的方法一般有如下几种方法。(1)采用双机系统采用双单片机作为控制系统的核心控制器,来提高系统的可靠性。单片机的价格低廉、连接方便,因此,双机系统的实现比较容易。(2)分布式控制这一个方案一般采用多个单片机作为前置处理机,它们分别完成系统的部分控制功能,系统则用一个主机对各个前置机进行监督管理。如目前工业上常用的CAN总线和LIN总线实现的单片机局域网和用485总线实现的分布式控制,由于CAN总线的抗干扰能力强,所以单片机局域网中主流都采用CAN总线来实现

5、分布式控制。分布式控制可使系统的故障对整个系统的影响降到最小。MCS-51的多机通信功能,特别适合于构成分布式控制系统,把一个控制系统分成多个独立的子系统,每个子系统由一个8031控制,各个子系统通过8031单片机的串口进行通信接受主机的监督管理,主机除了对子系统进行日常的管理外,还诊断各个子系统是否运行正常,一旦出现故障,立即进行应急处理。这种处理相对于集中控制优点明显。2. 看门狗系统设计还应特别考虑的是系统故障的自诊断。单片机运行正常时,定时地对系统各模块进行自诊断,并对外界的异常情况作出快速的应变处理。对于无法解决的情况,应能够及时切换后备装置投入运行,或发出报警,以引起操作人员的高度

6、重视,进行人工干预。当单片机出现故障时,报警系统应能自动报警。3. 操作和维修方便一个完好的控制系统它的操作和维修功能应很方便,最大程度地降低操作人员对专业知识的要求,以便于系统的推广。系统的控制开关不能太多,太复杂,输入输出应用十进制表示,功能符号尽量按国际规范表示,结构应模块化,配有现场故障的程序诊断,在系统发生故障时能够及时有效的进行故障定位,以便调换相应的模块,使系统恢复正常的运行状态。4. 性价比一个控制系统的性价比高,它就能被广泛的使用。在总体设计时,应尽量减少应尽量减少硬件成本,能用软件实现的,就不用硬件,另外,控制系统的软件和硬件的通用性和可扩展性也是非常重要的。7.1.2 控

7、制系统的设计方法任何一个控制系统的设计方法大体都是一样的,正是因为这样在如今的可视化高级编程语言中才引入了类和子类的概念,通过类的继承和派生来构架控制系统的结构,然后再在此基础上进行新的研究和设计,从而提高设计人员进行这些重复的劳动。这也是为什么我们提倡用C语言来编写控制程序的原因,当然用汇编语言编写通过模块化的设计,设计人员根据需要决定需要哪些模块,不需要哪些模块,同样也可达到上述的目的。图7-1是以流程图的形式给出的系统设计的方法。1.确定任务首先对要对被控对象的工作过程进行调查分析,了解将来研制出来的系统所处的工作环境、性价比、智能化程度、可维护性等方面进行综合考虑,制定出合理的技术指标

8、。2.元器件的选择元器件的选择要从元器件货源是否充足、元器件的性价比以及设计者是否熟悉这些元器件来进行通盘考虑。元器件的选择包括传感器、模拟电路、I/O接口电路和存储器电路等,但在这一步只需作大体的市场情况了解,进行硬件系统设计时在作最后的决定。3.硬件和软件的功能划分硬件和软件功能上本身具有互换性,也就是用硬件实现的软件也可以实现,软件实现的硬件也可以实现。用硬件实现可以提高系统的速度,但增加了成本;用软件实现降低了成本,但同时也降低了系统的运行速度。所以应根据控制系统的要求进行权衡。4.硬件设计(1)程序存储器目前使用的程序存储器很多,容量大小不一,为了系统的可靠性,尽量选用大容量存储器,

9、不要以为容量小价格就低,事实上反而是容量低的价格反而高,而且小的存储器由于设计的电路复杂会降低系统的可靠性。(2)数据存储器对于智能化仪器仪表MCS-51系列单片机内的数据存储器就可满足要求,但对于数据采集系统则需要扩展容量,和程序存储器一样以大容量为我们的选择原则。(3)I/O接口I/O数字接口有两种,一种是可编程的如8155、8255等,一种是TTL电路等,前者编程方便、负载小,价格高,其中的功能可能不能充分利用,而后者功耗大、成本低,但利用率高,因此应根据系统的需要进行权衡。I/O模拟接口也就是模拟电路应根据系统对它的速度、精度和价格进行选择,同时还需要和传感器、放大器等匹配。(4)地址

10、译码器无论是程序存储器还是I/O接口的地址都需要地址译码,通常采用线选方式来实现。目前一般不采用全译码方式,因为存储器的容量现在已经都做的很大。(5)总线驱动8031单片机的外部空间的扩展虽然很大,可以达到64K,但是P0、P2的负载能力有限,如果负载过重,就必须加总线驱动器如双向数据总线驱动器74LS245和单向数据总线驱动器。5. 软件设计(1)问题定义1)I/O定义确定信息交换的方式,I/O的数据速率、状态信号和控制信号等。2)定义对哪些数据进行处理定义对哪些数据进行处理,把I输出数据转换为输出结果的基本过程等。(2)软件结构将软件分解为几个相对独立的任务,根据这些任务的联系和时间关系,

11、设计一个合理的软件结构,使单片机有条不紊地对这些任务进行处理。如果任务简单,采用中断方式实现,指定哪些任务由主程序完成,哪些由中断服务程序完成,并指定各中断系统的优先级别。如果任务复杂,应采用多任务操作系统,采用合理的调度策略。程序结构设计技术有模块程序设计、自顶向下的程序设计以及结构程序设计等,在单片机中一般采用模块设计的方法。所谓模块设计就是把一个完整的程序分解成若干个功能相对独立的较小的模块,各个模块分别进行设计、编制程序、调试程序,最后将各个模块连接起来。这种设计的优点是各个模块一般较小,调试方便,容易实现,而且模块标准化后可以在设计其它控制系统时直接调用,省时方便。缺点是各个模块的程

12、序连接有一定的难度。各个模块设计必须遵循以下原则:每个模块一般不能太长。每个模块必须在逻辑上相对独立,而且模块间有明确的界限。任务简单不须模块化。尽量使用现有的标准化模块。(3)数学模型的建立所谓建立数学模型就是描述各个输入变量和输出变量之间的数学关系。数学模型随系统任务的不同而不同。在直接的数字控制中一般采用PID控制,在数据采集系统中,从模拟输入通道中得到的现场信息与该信号对应的实际值往往存在非线性的关系,需要进行线性处理。为了消除干扰,提高系统的精度,通常还需采用算术平均法、中值法、惯性法等数字滤波方法。(4)程序流程图的绘制首先画出粗流程图,再对粗流程图进行细化。流程图设计得越好,程序

13、编制就越容易。(5)编写程序流程图设计好以后,首先对数据存储器进行具体分配。先飞配MCS-51单片机内部RAM,指定各模块使用的专用寄存器,分配标志位(一般将20H2FH的位寻址区设为标志位),再估算子程序和中断嵌套的最大级数以及程序中栈操作指令使用情况,根据以上情况决定指定堆栈区,栈区大小要有一定的余量,最后将余下的部分作为数据缓冲区。如果有RAM存储器,应把使用频率最高的数据缓冲器设在内部RAM,以便提高处理速度。在充分利用内部RAM的基础上再分配外部的数据存储器。在编写程序过程中,应按MCS-51汇编语言(或C语言)的符号及格式书写,各模块一定要注明模块名、要完成的功能、入口条件、出口条

14、件、各模块入口和出口最好加上保护现场和恢复现场(当然这一部分工作也可由被调用的上一级程序完成)、以及必要的注释(不要对每条指令都注释)。(6)程序汇编或编译如果是用汇编语言编写的程序,目前一般采用自动汇编的方法,不同的软件自动汇编的方法不同,但结果都是一样的。如果是C语言编写的程序,那就要通过编译生成目标程序。7.1.3 系统分析在了解了单片机控制系统的基本设计要求和设计方法后我们返过来再看这个机械手的控制, 显然,要进行人工干预,就必须有一个键盘,由于本系统并不复杂,除了输入货位的层位和包位编码以外,再需要一个“存包C”和“取包Q”控制和复位MON按键就行了,所以我们只需要一个28的非编码键

15、盘,另外包位和层位也要加以显示才知道机械手所在的位置,所以还需要一个2位8段数码管(7段也可,因为不需小数点),由于3相步进电机需要环形分配,而环形分配用软件实现环形分配脉冲可能不能及时发出,所以采用专用的环形分配器CH250来完成。这里需要3个环形分配器来实现3个方向(X、Y、Z)的运动,X方向用于实现左右方向的运动,Y方向用于实现上下方向的运动,Z方向用于实现进出方向的运动,机械手的控制框图如图7-3所示,由于数据并不多,所以不需要数据存储器,单片机内部的数据存储器就足够啦,最后需要一个存储器来存储系统的控制程序。图7-3 机械手的控制框7.1.4 机械手硬件接口硬件接口如图7-4所示。我

16、们分步骤来讨论。1. 单片机:一般选8031,因为8051虽有4K的ROM,一般存放生产厂家的参数,只读不写,用户不能使用,8751虽有,但不够,需要扩充,所以8031单片机最便宜从性能价格比来说最合适。2. 程序存储器:程序存储器我们选用2732,2732的地址线共14根线,A0A7必须通过地址锁存器74LS373才能连单片机8031的P0口,因为P0口地址数据线,先传送地址后传送数据,如果不锁存,地址将会被后面传送来的数据覆盖。A8A11直接连P2口的P2.0P2.3,因为P2口本身具有锁存功能。D8D11直接连单片机的P0口。片选信号接地,使芯片始终被选中。数据输出允许线连单片机的程序存储器

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号