资源描述
基于单片机的自动计数与装箱控制系统设计摘要在工业生产中,常常需要对产品进行计数、装箱。如果用人工不但麻烦,而且效率低、劳动强度大。随着微机控制的普与,特别是单片机的应用,给该系统的设计带来了极大的方便。本论文设计了一种以8031单片机为核心的流水线产品计数与装箱控制系统,可以对工业自动化生产流水线上的产品进行精确的计数和装箱。为了读键盘给定值与检测和控制,专门扩展一个8255A可编程接口与程序存储器EPROM2732(4K*8 200ns可用紫外线擦除标准EPROM)。扩展的8255A的B口用于给定值或产品计数显示。对微型机控制装箱系统进行全面的论述和系统设计。关键词:装箱;自动控制;单片机BASED ON MICROCOMPUTER SINGLE CHIP OF AUTOMATIC COUNTING AND RESTRAINING BOXESABSTRACTDuring the modern industrial production process, the product needs to count and pack. If this work replaces by the man-power, the efficiency is low and the labor intensity is big. Along with the popularization using of microcomputer, specially the using of microcomputer single chip, it has brought enormous convenient for this system design. In this paper, it introduces the central of 8031 microcomputer single chip, Which count accurately and pack in the automatic production stream-lines. In order to read keys and detect signals. this system expand programmable I/O memory 8255A and procedure memory 2732. Port B are used for provided value and displaying count of products. At the same time discussing the system of automatic packing and the system design. Key Words:boxes; automatic control ; microcomputer single-chip35 / 39目录1 绪论11.1 课题背景与目的11.2 工业控制的研究现状11.3 自动装箱控制系统的设计意义21.4 设计的容与功能要求32 自动装箱控制方案论证52.1 控制方案列举分析与确定52.1.1 机械式的顺序控制52.1.2 继电器顺序控制(RLC)52.1.3 二极管矩阵式顺序控制器62.1.4 用计算机的顺序控制62.1.5 可编程序顺序控制器62.1.6 用单片机实现顺序控制72.2 自动装箱系统配置方案82.2.1 单片机微型计算机类型与相应芯片、总线的选择82.2.2 检测原理与传感器选择82.2.3 输入输出设备的选择92.2.4 电机类型与其控制方案的选择92.2.5 确定自动装箱控制系统总体方案103 控制系统硬件设计123.1 微机系统硬件设计123.2 控制电路设计143.2.1 信号检测(数据采集)电路143.2.2 电机控制电路的设计153.2.3 显示电路设计163.2.4 报警系统的硬件设计173.2.5 给定值电路设计184 软件设计194.1 程序流程图194.1.1 主程序的设计与其流程图194.1.2 动态显示子程序流程图214.1.3 中断子程序流程图214.1.4 报警子程序设计224.2 系统存单元分配225 结论23参考文献24致25附录26附录A 27附录B 28附件 1 开题报告附件 2 译文与原文复印件1 绪论1.1 课题背景与目的在工业生产过程中,经常需要对流水线上的产品进行计数和包装,传统的人工方法不仅容易漏计、错计、劳动强度大、效率较低。本设计介绍一种以8031单片机为核心的流水线产品计数与装箱,可以对工业自动化生产流水线上的产品进行精确计数和装箱。工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其它信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加产量、提高质量、降低消耗、确保安全等目的的综合性技术。主要包括工业自动化软件、硬件和系统三大部分。工业控制自动化技术作为20世纪现代制造领域中最重要的技术之一,主要解决生产效率的问题。虽然自动化系统本身并不直接创造效益,但它对企业生产过程有明显的提升作用。工业生产过程中广泛应用了工业控制自动化技术,来实现对工业生产过程实现检测、控制、优化、调度、管理和决策,以达到提高产品的品质和产量、降低生产消耗、确保安全等目的。控制理论、仪器仪表、计算机和其它信息技术的应用,极推进了工业控制自动化技术的发展。工业自动化体系主要包括工业自动化软件、硬件和系统三大部分。作为20世纪现代制造领域中最重要的技术之一,工业控制自动化技术主要解决生产效率的问题。自动化系统与计算机信息科学的紧密结合,给工业生产过程带来了新的技术革新。在工业自动化体系中,一个重要的角色就是工业控制计算机,即IPC。或者叫产业PC。工业控制计算机是工业自动化设备和信息产业基础设备的核心。传统意义上,将用于工业生产过程的测量、控制和管理的计算机统称为工业控制计算机,包括计算机和过程输入、输出通道两部分。但今天的工业控制计算机的涵已经远不止这些,其应用围也已经远远超出工业过程控制。1.2 工业控制的研究现状当今工业控制多以集散控制、PLC、现场总线为主体,实现了生产过程控制和生产管理集于一体化。进入二十一世纪,国际上一种“新型自动化控制系统”的兴起,进一步使工业控制向着智能化方向发展。在工业生产过程中,引进了集散系统,习惯上称之为集散系统或DCS。这种系统将计算机技术引入到过程控制系统中,利用单元组合仪表与计算机系统的优点,用软件组成各种功能模件,并用CRT显示温度、压力、液位、流量、成分等等过程参数,通讯网络把二者连成一个系统。因此DCS的一个显著特点是各工艺现场由现场控制站进行分散控制,各个分散控制得到的信息由管理站集中管理,同时根据生产工艺要求管理站对现场控制站进行集中控制,即信息和操作管理集中化而控制分散化。分散是指功能分散、负荷分散和危险分散,危险分散是DCS系统的主要特征之一。DCS在工业生产过程中的使用较为广泛,发展势头很大,具有较为广阔的应用前景。逻辑顺序控制从继电器发展为采用数字化逻辑顺序控制系统,从而产生了可编程控制器(Programmable Logic Controller ),俗称PLC。可编程控制器采用梯形图或布尔代数实现控制程序的编制。与继电器相比,不仅体积小,而且无火花运行,安全可靠,在现场的安装调试都比较简单,很少由于地线出现故障而烧坏控制器。从80年代后期开始,PLC的制造厂家为适应市场需求加进一些模拟量的采集和控制,并和传动控制相配合,在绝大多数情况下都是以单机设备销售,系统集成由最终用户或工程公司完成。现场总线是开放式工业自动化控制系统,是连接设置在工业过程现场的仪表与设置在控制室的控制设备的数字化、串行、双向、多站通信网络系统。现场总线技术是一项高科技、高水平、高难度的自动控制系统工程,对化工、石化、冶金、电力、制药等各领域的发展将起到十分重大的作用。1.3 自动装箱控制系统的设计意义自动化水平在制造工业中不断提高,应用围正在拓展。装箱行业中自动化操作正在改变着装箱过程的动作方式和包装容器与材料的加工方法。实现自动控制的集装箱系统能够极提高生产效率和产品质量,显著消除包装工序与印刷贴标等造成的误差,有效减轻职工的劳动强度并降低能源和资源的消耗。自动装箱的关键在于依据装箱过程,设计出一个能够得以实现自动控制的结构方案。显然,自动装置(机械手或机器人)的选择取决于这一过程的需求与特性。依据定义,一个自动装置即能通过自动控制或遥控方法完成任务的一台机器或一个机构。它可以是简单的,例如,从一个位置移向另一位置的一种单轴结构的气动压力联动装置,也可以是复杂的。例如,具有六轴结构的能动外科手术的机器人。包装过程的各个项目选择以与各类工业自动化机构,可以在一个具体工作场所的空间围,使每一个设计方案完成一项任务。自动控制的包装系统能够极提高生产效率和产品质量,显著消除包装工序与印刷贴标等造成的误差,有效减轻职工的劳动强度并降低能源和资源的消耗。 具有革命意义的自动化浪潮改变着自动装箱的方方面面。优秀的自动控制装箱系统,无论从提高产品质量和生产效率方面,还是从消除加工误差和减轻劳动强度方面,都能起到十分明显的作用。尤其是在食品、饮料、药品、电子等行业,这点都是至关重要的。自动装置和系统工程方面的技术正在进一步深化,并得到更广泛的应用。1.4 设计的容与功能要求从上面分析论述,由系统功能要求、方案选择和设备配置,我们可以设计出一个自动装箱系统,其原理图如图1.1所示:检测器2检测器1传送带1传送带2图1.1 产品自动装箱系统原理图在图1.1中,该系统带有两个传送带,与包装箱传送带和产品传送带。包装箱传送带用来传送产品包装箱,其功能是把已经装满的包装箱运走,并用一只空箱来代替。为使空箱恰好对准产品传送带的末端,以便使产品刚好落入箱中,在空包装箱传送带的中间装一检测控制器1,用以检测包装箱是否到位。产品传送带将产品从车间传送到包装箱。当某一产品被送到传送带的末端,会自动落入包装箱,并由检测器2转换成计数脉冲。产品计数可以由硬件完成(如MCS-51系列单片机中的定时器/计数器),也可以用软件来完成。本系统采用软件计数方法。系统工作步骤如下:(1)用键盘设置每个包装箱所装的产品数量以与包装箱数,并分别存放在PARTS和BOXES单元中。(2)接通电源,使传送带1的驱动电机转动。由控制程序控制传送带1的驱动电机持续运动,当包装箱运行到检测器1的光源和传感器的中间时,通过检测光电传感器的状态,判断传送带1上的包装箱是否到位。(3)当包装箱到位时,关断电机电源,使传送带1停止运动。(4)启动传送带2电机,使产品沿传送带向前运动,并转入箱。(5)当产品一个一个落下时,通过检测器2的检测,将产生一系列脉冲信号。(6)从检测器2来的输出脉冲,由计算机进行计数,并不断地与存在PRESET单元中的给定值进行比较。(7)当产品数与给定值不等时,将继续控制传送带2运动,以便继续装入产品,直到零件数与给定值相等,停止传送带2电机,不再转入产品。(8)再次启动传送带1的电机,使装满产品的箱子继续向前运动,并把存放箱子数的存单元加1,然后再与给定的箱子数进行比较。如果不够,则带动下一个空箱到达指定位置,继续上述过程。直到产品数与给定值相等,停止包装,等待下面操作命令。当传送带2上的产品和传送带1上的箱子足够多时,这个过程可以继续不断进行下去,这就是产品自动包装生产线的流程。必要时操作人员可以随时通过停止(STOP)键停止传送带运动,并通过键盘重新设置给定值,然后再起动。2 自动装箱控制方案论证2.1 控制方案列举分析与确定在这个系统中,从上面对系统要求的分析中可以看出:生产过程中的机器按确定的先后顺序连续不断的进行开(ON)和关(OFF),所以为顺序控制。而顺序控制一般有下列几种控制方法:2.1.1 机械式的顺序控制用分配轴上的凸块去控制电器开关、液压或气压阀门实现的一种顺控。改变顺序较容易,但是它控制不了执行元件的位置,定位还要靠限位开关。 目前,商品化的凸轮控制的多点开关,对简单控制仍很实用。但这种方式已经过于老式,体积庞大、精度不高、成本也贵,显然已不适合于本系统,所以不予考虑。2.1.2 继电器顺序控制(RLC)传统的顺序控制使用继电器组成的逻辑(Relay Logic Circuit,简称RLC),RLC具有下列优点:(1)设计线路直观易懂,无需掌握逻辑代数,设计自由度大。(2)成本低,制造生产机械的厂家均可自行制造。(3)继电器具有扩大节点数、增加开关电流容易的功能。(4)输出电流很方便的通过电磁产生机械力。如电磁离合器、电磁阀、电动机。(5)采用时间继电器时,能实现定时功能。(6)维护技术要求较低。RLC的缺点是:(1)自动化程度的提高,RLC的线路愈来愈复杂,增加了设计、连接、调试的工作量,维修的难度再度增加。(2)触点的频繁开闭产生电磁干扰信号,降低了使用寿命,使可靠性大为降低。(3)针对不同用途,要专门设计和制造控制线路板,控制用途若有改变,必须重新设计制作,这不利于系统的柔性化,阻碍了技术和生产的发展。可见这种控制方案实现完全自动化较难,功能也较少,不适宜于本系统。2.1.3 二极管矩阵式顺序控制器这种顺序控制器是利用二极管(或三极管)来改变控制顺序,是由输入、输出和矩阵组成的一种组合逻辑电路。它通过改变矩阵上的插入二极管的位置,便可以改变逻辑关系。二极管矩阵顺序控制器具有下列优点:(1)制造原理简单,很容易掌握。(2)设定顺序控制程序时,不需专门的编程技术和装置。(3)程序的改变容易,只需改变带二极管的插头(硬件)的位置,具有很大的柔性,现场作业可以放心。(4)顺控的逻辑处理是并列处理的,不会有时间延误现象。(5)不管逻辑控制多么复杂,电路的复杂性靠二极管去完成,所以比较经济。(6)价格便宜,容易掌握。这种方案虽然较容易实现,但由于功能较少,故还达不到本系统的要求。2.1.4 用计算机的顺序控制80年代末90年代初,计算机的应用获得较大发展,开始把计算机用于工业控制。计算机具有功能完备、灵活性强和通用性广、可组织批量生产等优点,但需要较多的外围设备,价格昂贵,这大大限制了它在工业控制中的使用围,加上它的原理复杂,增加了利用和维护的难度,导致普与推广进程缓慢。虽然它完全能用于顺控,单用作简单控制时不太合算,故也不适宜本系统。2.1.5 可编程序顺序控制器这种顺控器将计算机通用灵活和继电器逻辑控制简单、操作方便、价格便宜的优点结合起来,被称为Programmable Logic Controller (可编程控制器),简称PLC.。PLC的优点是:(1)PLC采用面向操作的逻辑语言,用原来所熟悉的继电器逻辑梯形图为表达式,很容易学会使用它。(2)程序的指令较少,编写和输入、变更也比较容易。(3)程序动作的监视和检查简便。(4)由于硬件全部标准化、控制程序可变,所以在规模上具有扩充性和互换性,即有很好的柔性。(5)安装环境和条件不必像微机那样有特殊要求。(6)采用半导体和大规模集成电路元件和微机技术,可靠性很高,不需要进行特殊的维护和保养。(7)可以和计算机直接连接,应用在控制方面存在很大潜力。2.1.6 用单片机实现顺序控制单片机具有下面一些特性:体积小:由于单片机部集成了计算机的基本功能部件,能满足很多领域对硬件的功能要求,因此由单片机组成的应用系统结构简单、体积特别小。可靠性高:单片机CPU围存储器、I/O接口的信息传输线(即总线地址总线、数据总线和控制总线)大多数在部,因此不易受外界的干扰;另一方面,由于单片机微机体积小,在应用环境比较差的情况下,容易采取对系统进行电磁屏蔽等措施。所以单片机应用系统的可靠性比一般的微机系统高得多。性价比高:由于单片机的大批量生产,与其已非常成熟的制造工艺,所以成本很低,加上单片机的功能性能不断的完善,种类型号的增加,其应用系统的印版小、接插件少、安装调试简单等一系列原因,使单片机应用系统的性能价格比高于一般的微机系统。控制功能强:单片机像计算机一样是面向控制,它的实时控制功能特别强,CPU可以直接对I/O口进行各种操作(输入/输出、位操作以与算术逻辑操作等),运算速度高,最高可达16MHZ。而且单片机对实时事件的响应和处理速度快。使用方便:由于单片机部功能强,系统扩展方便,因此应用系统的硬件设计非常简单,又因为市场上提供多种多样的单片机开发工具,它们具有很强的软硬件调试功能和辅助设计的手段。这样使单片机的应用极为方便,大大的缩短了系统研制的周期。功耗低:由于单片机集成度高,相应其功耗相对于同功能的其他设备功耗低了很多。单片机以上的特性,缩短了单片机应用系统研制到真实产品的过渡过程,使科研成果迅速转化成生产力。综上所述,通过对各种控制方案的分析比较,再加上对本系统实际情况、功能要求的结合,我们可以看出,采用单片机实现控制的方案将容易实现。单片机控制系统功能强大、精度高、性能稳定可靠、使用方便、性价比高。所以采用单片机控制系统来实现自动控制。2.2 自动装箱系统配置方案选定了单片机之后,为了实现自动装箱系统,我们开始进行硬件配置。2.2.1 单片机微型计算机类型与相应芯片、总线的选择单片机类型:对于单片机的型号,由于系统不是特别复杂的较大型系统,我们在这里采用应用广泛、性能较高的8位高性能MCS-51系列的8031芯片。由于系统需要较多接口,所以必须进行接口扩展,在这里由于系统不需扩展数据储存器(RAM)。8155的扩展的I/O口较少,所以采用有较多的I/O接口的8255A芯片而不采用8155芯片进行接口扩展。另外,还采用2732进行程序存储器扩展。总线:由于采用标准总线有良好的兼容性。因为标准总线的严格定义,所以不同的厂家生产的产品都能兼容得很好。选择不同的模块组成系统,系统的扩展容易,硬件设计简单。在工业控制中,较常见的是STD总线,它采用小板结构模块化设计(适用于不同要求的微机系统)。定义严格(相比之下,Q总线、Multibus、S-100总线均有线未定义,可能造成不兼容现象),面向I/O设计、可靠性高。所以在这里选择STD总线作为系统总线。2.2.2 检测原理与传感器选择先看一下本系统所需的检测,判断的对象:(1)判断空箱是否到位。判断空箱是否到位的方法是利用传感检测器进行检测,而能起这种功能的传感检测器有红外线探测器和光电传感器两种。 用红外线照射判断:当箱子到位时挡住了红外线发射端时,红外线的接收端接收不到光信号从而产生信号,得出箱子到位,但红外线探测器由于是利用物体辐射接收信号,所以信号较弱不准确,而且红外线传感器价格较贵、易受干扰、成本也高。可见利用光电式传感器进行检测较好。(2)判断箱子是否已装满产品。判断箱子是否已装满产品的方法有:对产品进行计数:当数量达到要求时就做出箱子已装满的判断,计数的方法又有两种,即红外线照射和光敏电阻照射两种,原理参照上段判断(1)的方法所述。可对箱子进行称重:当箱子达到一定原先计算设定好的重量时就说明箱子已装满,箱子的重量是要装入所有产品的总重量,这种方法用到的传感器有压力传感器,采用这种方法的缺点就是会有一定误差,而且压力传感器也不好安装。所以我们在这里采用光电传感器来进行信号检测。2.2.3 输入输出设备的选择输入输出设备是指系统与各种人机之间的对话设备。(1)输入设备的选择输入设备有按钮、开关、键盘等,本系统由于不但需要开关,而且要输入数据,故可采用包括开始、停止两个命令功能键和数字等多个键的键盘来作为输入设备。(2)显示设备的选择显示设备有很多,比如CRT显示器、打印机、工业记录仪等,其中适用于本系统的较小型简单的显示设备有两种:采用发光二极管显示器LED(Light Emitting Diode)显示和采用液晶显示器LCD(Liquid Crystal Diode)显示。前者是既简单又廉价的显示输出设备,是目前应用最广泛的显示器件,而且发光清晰、性能稳定,缺点是不能很精细;后者则有功耗小、体积小、重量轻的优点,但价格较高,多用于珍袖仪表和低功耗的系统中。而在本系统中,为了降低产品成本、使显示清晰容易辨认,而且对功耗和体积重量等捕捉很大要求,所以采用发光二极管显示器LED显示。2.2.4 电机类型与其控制方案的选择电机有直流电机和交流电机之分。直流电动机的调速性能好、起动转矩较大,特别是调速性能为交流电动机所不与。因此,在对电动机的调速性能和启动性能要求高的生产机械上,大都使用直流电动机进行拖动;但直流电动机的制造工艺复杂,生产成本较高,维护较困难,可靠性差,所以在现代工业的拖动系统中,直流电动机与交流电动机各有各的应用场所。交流电机有异步电机和同步电机两大类。异步电机一般都作电动机用,因为异步发电机的性能较差。异步电机具有结构简单、制造方便、运行可靠、价格低廉等一系列优点。但也有一些缺点:不能经济地实现围较广的平滑调速;必须从电网吸取滞后的励磁电流,使电网功率因数变坏。同步电机的转速与所接电网的频率之间存在一种严格不变的关系。由于对电机的控制输入的信号为开关量,传送动力不用很大,而且传送产品和箱子时需要精确定位,所以我们在这里采用由开关量控制的伺服同步电机。不需要可逆调速,所以选择交流电机,又从系统功能分析可知,对箱子和产品的传送过程中都需要精确定位以便实现自动装箱,所以要求电机能快速停止。根据上面的要求我们选择了220V交流伺服同步电机。由于在传动过程中,传送箱子的电机负荷较大,所以选用堵转力矩和转子惯量较大的HD18-1电机。另外,电机可选用含有减速装置的多轴转动,以便精确定位。由于对电机需要大电压来控制,而微机系统输出的开关量为不能直接用来驱动电机的低电平,还有也为了提高系统的抗干扰能力,我们采用光电隔离技术。而对电机可以采用多种方法控制,如继电器、固态继电器(SSR)、可控硅(SCR)、电磁阀与大功率场效应管等。其中继电器是电气控制中最常用的控制器,但在控制时容易发生触点产生火花,并且因触点容易氧化而影响系统稳定性;而固态继电器输入电流小,输出无触点,与电磁式继电器相比具有体积小、重量轻、无机械噪声、无抖动和回跳、开关速度快、工作可靠等优点。故我们在这里采用无触点的固态继电器进行控制。 2.2.5 确定自动装箱控制系统总体方案近年来,包括微机计算机在的办公室自动化电子设备的普与速度十分惊人,广泛用于控制设备、情报产业设备、测量设备以与家用电器或汽车等领域。微机系统大多采用工频交流电供电,由两种类型的稳压电路可以提供所需的各档电压。一种是普通线性电源,它由变压器、整流器、低通滤波器、稳压器等部件组成,结构简单,成本较低,稳压精度能满足一般要求。缺点是体积较大,发热较严重。另一种是微机系统广泛采用的开关电源,开关电源随着在高效率化、小型轻量化方面的进一步发展,它作为电子设备用电源在迅速发展,现在得微型机或输入输出设备有90%以上是采用开关电源。它按照脉宽调制式(PWM)原理工作,体积小巧,稳定性好,稳压精度高。当成本略高,且设计技术与制造技术复杂,宜采用专用厂家生产的成品。在这里,由于系统对电源没有特别高的要求,而且电源设计不是本设计主要容,为了方便起见,我们采用后一种电源即开关电源,只要达到下列要求即可:(1)电源具有足够的功率,以免满负荷或超负荷时发热严重,精度降低。(2)电源变压器将有良好的屏蔽并在电源入口处设置了交流稳压器和交流滤波器、分布式电抗等,以做好抗干扰、提高稳压和滤波效果。(3)要求能提供包括+5V等的多档次的电压。由以上分析可得:本系统采用型号为8031的单片机与其8255A等系列芯片进行微机控制。采用STD标准总线作为系统总线。采用光电式传感检测器进行检测信号。采用带有开始和停止命令功能键的编码键盘。采用LED显示器进行信号显示。采用220V交流电机进行同步伺服电机传送,产品传动采用堵转力矩可转子惯量较小的HD5-1电机、箱子传动选用堵转力矩可转子惯量较大的HD18-1电机,电机的控制则采用光电隔离接口和固态继电器进行控制。采用专用厂家生产的成品的开关电源。3 控制系统硬件设计3.1 微机系统硬件设计为了完成上述任务,采用8031单片机设计一个最小系统。为了读键盘给定值与检测和控制,专门扩展一个8255A可编程接口与程序存储器EPROM2732(4K*8 200ns可用紫外线擦除标准EPROM)。74LS373(8位I/O锁存器)、2732组成最小系统,扩展的8255A的B口用于给定值或产品计数显示。硬件图说明为达到本系统功能,采用8031单片机设计一个最小系统,为读键盘给定值,同时实行检测和控制,专门扩展一个8255A可编程接口,其系统原理图如附录A所示。8031、74LS373(8位I/O锁存器)、2732组成最小系统。其中各芯片与引脚说明如下:(1)8031: 系统的微控制器选用Intel公司生产的8位单片机8031。下面对8031作一个基本的介绍:一个面向控制的8位CPU;128字节RAM数据存贮器;两个16位定时器/计数器;可寻址64K外部数据存贮器和64K外部程序存贮空间的控制电路;32条可编程的I/O线(四个8位并行I/O端口);一个可编程全双工串行口;具有五个中断源,两个优先级嵌套中断结构;(2)8255A:8255A基本特性:8255A是一个具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片,它是Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如A/D、D/A转换器、键盘、步进电机以与需要同时两位以上信息传递的一切形式的并行接口;8255A能适应CPU与I/O接口之间的多种数据传送方式的要求;8255A可执行功能很强,容丰富的两条命令(方式字和控制字)为用户根据外界条件来使用8255A构成多种接口电路提供了灵活方便的编程环境;8255A的PC口的使用比较特殊,除作数据口外,还可作状态口,进行按位控制等;(3)74LS373:8位输入8位输出锁存器,引脚功能如下:VCC:接电源端;G:存储器允许信号;(4)2732:4K*8 200ns紫外线可擦除电可编程的半导体只读存储器,标准EPROM;A11-A0:地址输入线;D7-D0:三态数据总线;(5)74LS377:同向电流驱动器,为LED提供足够驱动电流。说明:键盘和显示器接口芯片还有8279可使用,而8279对键盘还有硬件消抖功能,但这样会和8255A形成硬件浪费,况且8279由于接口不够不能代替8255A。包装系统控制电路主要有两部分:一是信号检测,光电检测器1判断包装箱是否到位和光电检测器2用于产品计数;二是传送带电机控制。 (6)开关电源: 开关电源选用+12V ATX电源。在整个开关接通期间,电源向负载提供能量;当开关断开时,输入电源便中断了能量的控制,输入电源向负载提供的能量是断续的。(7)光电传感器:光电传感器选用CH3系列。光电传感器的敏感围远远超过了电感、电容、磁力、超声波传感器的围,此外光电传感器的体积很小,而敏感围很宽,加上机壳有很多样式,几乎可以到处使用。光电传感器的原理图如图3.1所示:图3.1 光电传感器的原理图3.2 控制电路设计3.2.1 信号检测(数据采集)电路本系统的基本原理主要是单片机和光电检测技术的结合,其检测原理框图如图3.2所示。该系统利用单片机对电源进行控制。单片机根据用户键入的信息自动生成一串有序电源脉冲,用这一电源脉冲来控制半导体激光器。这样有半导体激光器发射的激光便是一串激光脉冲波,这一串激光脉冲便是载有用户信息的信号波。当光电监测器检测到此激光信号波时,将其转化成为一串连续的电脉冲波。但此时所得到的信号是非常微弱、不够规则的,同时由于杂散光以与外部干扰的存在,此时的电信号还混杂着一些无用的干扰信号,因此这些信号还不能直接应用。必须通过前置放大电路将它进行放大和除噪处理,处理过的信号便可直接驱动单片机工作,进行译码与判别处理。通过比较判别,单片机决定执行哪一种处理,然后生成控制信号来启动控制设备。半导体激光器光电检测器前置放大器单片机译码判别处理编码电源受控设备1受控设备2n单片机控制调制电信号图3.2 检测原理框图由于上述的结构过于复杂,经过论证可以考虑省略一些无关部分,经过分析,我认为光电脉冲转换电路如图3.3所示,BG1为光敏二极管,当光线照射BG1时,产生光电流,使R1上压降增大,导致晶体管导通,触发由晶体管BG3和BG4组成的射极耦合触发器,使U0为高位;反之,U0为低电位。该脉冲信号U0可送到计数电路计数。图3.3 电脉冲转换电路3.2.2 电机控制电路的设计包装系统控制电路主要有两部分:一是信号检测,光电检测器1判断包装箱是否到位,光电检测器2用于装箱零件计数。再一部分就是传送带电机控制。下边主要介绍传送带电机控制。在图3.4中,8255A的PC0控制传送带1的电机,PC1控制传送带2电机。当按下启动键(START)后,使PC0输出高电平,经反向后变为低电平,固态继电器(SSR1)发光二极管亮,因而使得SSR1导通,交流电机通电,使传送带1运动,带动包装箱运动。当包装箱运动到光源与检测器1之间时,光源被挡住,从而光电传感器输出为高电平,当微型机检测到是高电平后,PC0输出低电平,传送带电机1停止。并同时使传送带2电机起动(PC1输出高电平),带动产品运动,使产品落入包装箱。当产品经过检测器2的光源与光电传感器时,光电传感器输出高电平。当微型机检测到此信号后在计数器中加1,并送显示。然后在与给定的产品值进行比较。如果计数值小于给定值,则继续计数;一旦计数值等于给定值,则停止计数;此时关断传送带2的电源,并接通传送带1的电源,让装满产品的箱子移开,同时带动下一个空箱到位,并重复上述过程。图3.4 电机控制电路3.2.3 显示电路设计本系统采用LED数码显示。发光二极管LED (Light Emitting Diode)是一种通电后能发光的半导体器件,其导电性质与普通二极管类似。LED数码显示器就是由发光二极管组合成的一种新型显示器件,在单片机系统中应用非常普遍。发光二极管是组成LED发光二极管显示字符的显示器件。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点,故通常称之为7段(也有称作8段)发光二极管数码显示器。LED部结构又有共阳极和共阴极两种接法,分别为高电平有效和低电平有效。为显示某个数字,就要点亮对应的段,这就需要译码。译码分硬件译码和软件译码。硬件译码时,接口在总线和LED显示器之间,必须有锁存器或I/O接口电路,此外还应有专用的译码器/驱动器,通过译码器把1位十六进制数(4位二进制数)或BCD码译码为相应的显示段码,然后由驱动器提供足够的功率去驱动发光二极管。这种方法仅用1条输出指令,就可以进行LED显示。当它所使用的硬件电路较多,而硬件译码缺乏灵活性,只能显示十进制或十六进制数(包括空白字符)。该方法主要用于显示位数较多或对显示器的亮度有一定要求的场合。软件译码时,方法是以软件查表代替硬件译码,不但省去了译码器,而且还能显示更多的字符,并且其译码逻辑可随编程设定,不受硬件译码逻辑的限制。所以本系统采用的是以软件为主的LED接口电路,用软件进行译码,其电路如下图3.5所示(由于发光二极管通常需要十几到二十几毫安的驱动电流,所以驱动器是必不可少的,因为仅靠接口提供不了较大的电流供LED显示器使用,本系统采用74LS377进行驱动)。 PB7 PB6 PB5 PB48255A PB3 PB2 PB1 PB0驱动器74LS377dpgfedcba图3.5 以软件为主的LED接口电图采用以软件为主的LED接口电路由于个位数码管的显示段码是互相并联的,因此在同一时刻只能显示同一种字符(即只显示一个显示位上的字符)。为了能够同时显示多个(即多位)字符,我们必须对LED采用动态显示方法,其方法就是利用人眼对视觉的残留效应,逐个地循环点亮各位数码管,每位显示1ms左右,使人看起来就好像在通的字符一样。为了实现LED显示器的动态扫描显示,除了要给显示器提供显示码段之外,还要对显示器进行位控制,即通常所说的“段控”和“位控”。因此对于多位LED数码显示器的接口电路来说,需要有两个输出口,其中一个用于输出显示段码;另一个用于输出位控信号。“位控”实际上就是对LED显示器的公共段进行控制,位控信号的数目与显示器的位数一样。这里的显示器位数为3位。3.2.4 报警系统的硬件设计在微机控制系统中,为了使生产安全准确,通常设有报警系统。通常可通过声、光、语言进行报警。在这里为了提高系统的可靠性与减少误操作,我们也设计了一个报警系统。其报警方式采用光信号进行:我们用PC2、PC3这两个I/O口接线设计了两个状态指示灯以作为报警系统的输出硬件。D1为红色,D2为绿色,当系统没有设定值而启动START键时,或者当计数值超过给定值时,则D1灯亮,提醒操作者注意,需重新设置参数后启动。如果系统操作运行正常,则绿灯D2亮。 3.2.5 给定值电路设计为了使系统简单,我们自行设计的一个由二极管矩阵组成的编码键盘,如图3.6所示。图3.6 编码键盘原理图键盘输出信号D、C、B、A (BCD码)接到8255A的A口PA3-PA0,键选通信号KEYSTROBE(高电平有效),经反向器接到8031的中断管脚。当某一个键按下去时,KEYSTROBE为高电平,经反相后的下降沿向8031申请中断。8031响应后,读入BCD码,作为给定值,并送显示。由于系统设计只有三位显示,所以最多只能给定999,输入顺序为从高位(百位数)开始。当按键未按下时,所有输出端均为高电平。当按键按下后该键的BCD码将出现在输出线上。例如,按下“6”键时,与键6相连的两个二极管导通,所以D、A线上为低电平,因此输出编码为0110,其余以此类推。当任何一个键按下去时,四输入或非门7420产生一个高电平选通信号经反相器后向8031申请中断。4 软件设计4.1 程序流程图4.1.1 主程序的设计与其流程图通过上述分析可知,本系统键盘的作用主要是给定值的输入。当给定值设定后,在包装过程中就没什么作用了。因此为了提高系统的实时性,系统采用中断方式作键盘处理,对装箱是否到位与产品数计数,则采用查询方法。整个系统流程图,如图4.1所示。中断程序主要用来设定给定值,当给定键盘有键按下时,KEYSTROBE输出高电平,经反相器后向8031申请中断。在中断服务程序中,读入该键盘给定值,一方面存入相应的给定单元(PARTS和BOXES),另一方面送去显示,以便操作者检查输入的给定值是否正确。本程序输入的顺序是先输入包装箱数(3位,最大为999,按百、十、个位顺序输入),然后再输入每箱的零件数(3位,最大值为999,输入顺序同包装箱)。完成上述任务的中断服务程序流程图如图4.1所示。为了设计主程序和子程序的流程图,首先必须设置有关存单元。这里用8031部RAM的20H单元的00H至03H四位分别代表电机1、电机2、报警和正常运行标志单元;用21H单元的08H和09H两位作为零件与包装箱计数标志单元。当计数值等于给定值时,则此两位标志单元置1,否则为0。一旦此标志单元为1,则停止计数,把装满的包装箱运走并重新运来一个空箱;若包装箱数已够,则重新开始下一轮包装生产控制过程。如果计数单元超过给定值,将产生报警,告知操作人员计数有误,此时系统自动停下来,等待操作人员处理。图4.1 包装控制系统主程序框图4.1.2 动态显示子程序流程图在这里我们采用的为以软件为主的LED接口电路,用软件进行译码,其流程图如图4.2所示。图4.2 动态显示子程序流程图4.1.3 中断子程序流程图中断服务程序主要用来设定给定值,当给定键盘按下时,KEYSTROBE输出高电平,经反相器后向8031申请中断。在中断服务程序中,读入该键盘给定值,一方面存入相应的给定单元(PARTS或BOXES),另一方面送显示器,以便操作者检查输入的给定值是否正确。本程序输入的顺序是先输入包装箱数(三位,最大999,按百位、十位、个位顺序输入),然后再输入每箱装的产品数(三位,最大999,输入顺序同包装箱),完成上述任务的中断服务程序框图如图4.3所示。图4.3 输入给定值中断服务程序图4.1.4 报警子程序设计报警系统根据报警参数与传感器的具体情况又可分为硬件直接报警和全软件程序报警,前者的报警信号是直接通过硬件对被测参数和给定值进行比较而产生的,是在传感器中进行的,当这种硬件直接报警的信号产生之后再由软件进行处理,而后者则通过程序比较而得到信号并由软件完成报警处理系统主要是针对误操作做出报警,如当无给定值时就按STRART键等,而无需进行上下限参数的比较,故只需在微机中进行即可,故可采用全软件报警。其报警程序的设计可对计数单元进行比较而形成。 4.2系统存单元分配为了进行微机系统程序设计,首先需设置一些有关存单元。这里用8031部RAM的20H单位的00H03H四位分别代表电机1、电机2、报警和正常运行标志单元;用21H单元的08H和09H两位作为产品与包装计数标志单元,当计数值超过给定值时,则此二位标志置1,否则为0。一旦标志单元为1,则产生报警,告知操作人员计数有误,此时系统会自动停止,等待操作人员处理。该系统存单元分配如图4.4所示。图4.4 系统存单元分配图5 结论本系统采用8031单片机,扩展了8255A接口,另外还采用2732进行程序存储器扩展。实现了流水线产品的自动计数和自动装箱。本系统优点是控制过程简单,操作方便。起动装箱电机1,使装箱沿着传送带向前移动。通过光电传感器1检测装箱是否到位,装箱到位后,停止电机1。起动电机2,使产品沿着传送带向前移动,产品一个一个下落时,通过光电传感器2的检测,将产生一系列脉冲信号,从检测器2输出的脉冲,由计算机计数,并不断地与存在给定值单元中的给定值进行比较。如果产品数与给定值相等,则停止电机2。重复上述过程,直至包装箱数与给定值相等。本系统充分考虑了系统的性能和匹配问题,力求提高系统的可靠性,同时使其成本尽量低廉。缺点是产品和装箱的计数不能超过999,控制过程为顺序控制,电机的启动和停止不能实现自动起动和停止,需要人工操作电机开关。其实际的操作可行性有待进一步的验证。参考文献1 于海生.微型计算机控制技术M. :清华大学,1999.2 承志.微型计算机控制新技术M. 机械工业,2001.3 何立民.MCS-51单片与应用文集M. :航空航天,1993.4 胡汉才.单片机原理技接口技术M. :航空航天,1993.5 红卫.单片机应用系统设计实例与分析M. :航空航天,2003.6 罗亚非.单片机应用基础M. :航空航天大学,2005.7 王晓明.单片机控制M. :航空航天大学,2002.8 钟寒梅.电源系统的设计J. 国外电子元器件,2002,09(12A):15-23.9 辉.流水线产品计数与包装微机自动控制J. 计量与测量技术,2000,20(10A):5-14.10叶澄清.微型计算机应用系统与其应用M. :大学,1997.11涂时亮.单片微机控制技术M. :复旦大学,1994. 12立.微型计算机原理与接口技术M. :中国铁道,2003.13楚武.微机原理与接口技术M. :大学,2005.14INTEL.CORP.8-bit Embedded controller handbook,1989.15Smart Battery System Specifications, SYSTEM MANAGEMENT BUS SPECIFICATION.Revision1.08.September15.1998.致本论文是在袁老师细心指导下完成的。论文从选题、实验研究到最后的成稿,得到了袁老师热情鼓励和细心指导,凝聚了恩师许多心血。指导老师渊博的学识,严谨的治学态度使我受益非浅。在袁松贵老师和诸多同学的帮助下,我顺利的完成了本次设计。在这里我要感袁松贵老师和帮助过我的同学。在他们的帮助下,我在这次设计中学到了许多,可以说是受益非浅。设计伊始,袁老师就有针对性的对我们提出了设计要求和注意事项,并对设计的各个环节流程与要点和难点做了详细的说明。而同班同学帮我解决了许多设计中遇到的细节上的小问题,还提供了很多相关的资料。在整个设计过程中,袁老师在各个环节都给予了细心的指导,小到资料的查询,大到疑难问题。在此深表感,感他对我的帮助,使我顺利的完成了这次设计,并从本次设计中学到了教学环节中没有学到的知识。在论文完成之际,深深感所有支持、鼓励和帮助过我的老师和同学。附录A 硬件连接图附录B 程序清单该系统控制程序如下:ORG 0000HAJMP MAINORG 0003HAJMP INT0LED1 EQU 22H ;产品计数单元(百位)LED2 EQU 23H ;(十位)LED3 EQU 24H ;(个位)BOX1 EQU 25H ;包装箱计数单元(百位)BOX2 EQU 26H ;(十位)BOX3 EQU 27H ;(个位)BOXES EQU 28H ;包装箱给定值首地址PARTS EQU 2BH ;产品给定值首地址PRECNT EQU 2EH ;给定值次数计数单元LEDADD1 EQU 4000H ;百位数显示地址LEDADD2 EQU 2000H ;十位数显示地址LEDADD3 EQU 1000H ;个位数显示地址BUFF EQU 2FH ;缓冲单元 ORG 0100H 控制主程序:MAIN: MOV SP,#50H MOV R0,#22H MOV A,#00H MOV R1,#0DHCIRZERO: MOV R0,A ;清计数、给定值单元 INC R0 DJNZ R1,CIRZERO MOV 20H,#00H MOV 21H,#00H MOV DPTR,#8003H MOV A,#98H MOVX DPTR,A SETB IT0 ;设置边沿触发方式 SETB EX0 ;设置中断方式0 SETB EA ;开总中断 MOV R0,#BOXES MOV DPTR,#LEDADD1 ;保护显示位地址 PUSH DPH PUSH DPL MOV DPTR,#8002HWAIT:: MOV A,PRECNT ;等待设置给定参数 CJNE A,#06H,WAIT ;判断是否输入完给定值WORK: SETB 00H ;启动传送带电机1SETB 03H ;工作正常指示灯 MOV A,20H ;启动电机1和正常指示灯 MOV DPTR,#8002H MOV DPTR,ALOOP1: MOV A,DPTR JNB ACC.7,LOOP1 ;判断包装箱是否到位 MOV LED1,#00H ;清产品计数单元
展开阅读全文