自动装箱系统设计.doc_第1页
自动装箱系统设计.doc_第2页
自动装箱系统设计.doc_第3页
自动装箱系统设计.doc_第4页
自动装箱系统设计.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要:在工业生产中,常常需要对产品进行计数、装箱。如果用人工操作不但麻烦,而且效率低、劳动强度大。随着微机控制的普及,特别是单片机的应用,给该系统的设计带来了极大的方便。本论文设计了一种以8051单片机为核心的流水线产品计数及装箱控制系统,可以对工业自动化生产流水线上的产品进行精确的计数和装箱。为了读键盘给定值及检测和控制,专门扩展一个8255a可编程接口及程序存储器eprom2732(4k*8 200ns可用紫外线擦除标准eprom)。扩展的8255a的b口用于给定值或产品计数显示。关键词:装箱;自动控制;单片机正文:1、自动装箱控制系统设计方案1.1 控制方案列举分析自动装箱的关键在于依据装箱过程,设计出一个能够得以实现自动控制的结构方案。显然,自动装置的选择取决于这一过程的需求及特性。依据定义,一个自动装置即能通过自动控制或遥控方法完成任务的一台机器或一个机构。它可以是简单的,例如,从一个位置移向另一位置的一种单轴结构的气动压力联动装置,也可以是复杂的,例如,具有六轴结构的能动外科手术的机器人。而包装过程的各个项目选择以及各类工业自动化机构,可以在一个具体工作场所的空间范围内,使每一个设计方案完成一项任务。检测器2检测器1传送带1传送带2由系统功能要求、方案选择和设备配置,可以设计出一个自动装箱系统,其原理图如图1.1所示。图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)键停止传送带运动,并通过键盘重新设置给定值,然后再起动。1.2 用单片机实现顺序控制单片机具有下面一些特性:体积小:由于单片机内部集成了计算机的基本功能部件,能满足很多领域对硬件的功能要求,因此由单片机组成的应用系统结构简单、体积特别小。可靠性高:单片机内cpu范围存储器、i/o接口的信息传输线(即总线地址总线、数据总线和控制总线)大多数在内部,因此不易受外界的干扰;另一方面,由于单片机微机体积小,在应用环境比较差的情况下,容易采取对系统进行电磁屏蔽等措施。所以单片机应用系统的可靠性比一般的微机系统高得多。性价比高:由于单片机的大批量生产,及其已非常成熟的制造工艺,所以成本很低,加上单片机的功能性能不断的完善,种类型号的增加,其应用系统的印版小、接插件少、安装调试简单等一系列原因,使单片机应用系统的性能价格比高于一般的微机系统。控制功能强:单片机像计算机一样是面向控制,它的实时控制功能特别强,cpu可以直接对i/o口进行各种操作(输入/输出、位操作以及算术逻辑操作等),运算速度高,最高可达16mhz。而且单片机对实时事件的响应和处理速度快。使用方便:由于单片机内部功能强,系统扩展方便,因此应用系统的硬件设计非常简单,又因为市场上提供多种多样的单片机开发工具,它们具有很强的软硬件调试功能和辅助设计的手段。这样使单片机的应用极为方便,大大的缩短了系统研制的周期。功耗低:由于单片机集成度高,相应其功耗相对于同功能的其他设备功耗低了很多。单片机以上的特性,缩短了单片机应用系统研制到真实产品的过渡过程,使科研成果迅速转化成生产力。综上所述可以看出,采用单片机实现控制的方案将容易实现,且系统功能强大、精度高、性能稳定可靠、使用方便、性价比高。所以采用单片机控制系统来实现产品的自动装箱。2控制系统硬件设计2.1系统硬件设计为了完成上述任务,采用8051单片机设计一个最小系统。为了读键盘给定值及检测和控制,专门扩展一个8255a可编程接口及程序存储器eprom2732(4k*8 200ns可用紫外线擦除标准eprom)。74ls373(8位i/o锁存器)、2732组成最小系统,扩展的8255a的b口用于给定值或产品计数显示。硬件图说明为达到本系统功能,采用8031单片机设计一个最小系统,为读键盘给定值,同时实行检测和控制,专门扩展一个8255a可编程接口,其系统原理图如附录一所示。8051、74ls373(8位i/o锁存器)、2732组成最小系统。其中各芯片及引脚说明如下:(1)8051: 系统的微控制器选用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系列。光电传感器的敏感范围远远超过了电感、电容、磁力、超声波传感器的范围,此外光电传感器的体积很小,而敏感范围很宽,加上机壳有很多样式,几乎都可以使用。2.2 显示电路设计为了使系统简单,设计的一个由二极管矩阵组成的编码键盘,如图2.1所示。图3.6 编码键盘原理图图2.1编码键盘原理图键盘输出信号d、c、b、a (bcd码)接到8255a的a口pa3-pa0,键选通信号keystrobe(高电平有效),经反向器接到8051的中断管脚。当某一个键按下去时,keystrobe为高电平,经反相后的下降沿向8051申请中断。8051响应后,读入bcd码,作为给定值,并送显示。由于系统设计只有三位显示,所以最多只能给定999,输入顺序为从高位(百位数)开始。当按键未按下时,所有输出端均为高电平。当按键按下后该键的bcd码将出现在输出线上。例如,按下“6”键时,与键6相连的两个二极管导通,所以d、a线上为低电平,因此输出编码为0110,其余以此类推。当任何一个键按下去时,四输入或非门7420产生一个高电平选通信号经反相器后向8051申请中断。3软件设计3.1 主程序的设计及其流程图通过上述分析可知,本系统键盘的作用主要是给定值的输入。当给定值设定后,在包装过程中就没什么作用了。因此为了提高系统的实时性,系统采用中断方式作键盘处理,对装箱是否到位及产品数计数,则采用查询方法。整个系统流程图,如图3.1所示。中断程序主要用来设定给定值,当给定键盘有键按下时,keystrobe输出高电平,经反相器后向8051申请中断。在中断服务程序中,读入该键盘给定值,一方面存入相应的给定单元(parts和boxes),另一方面送去显示,以便操作者检查输入的给定值是否正确。本程序输入的顺序是先输入包装箱数(3位,最大为999,按百、十、个位顺序输入),然后再输入每箱的零件数(3位,最大值为999,输入顺序同包装箱)。完成上述任务的中断服务程序流程图如图3.1所示。为了设计主程序和子程序的流程图,首先必须设置有关内存单元。这里用8051内部ram的20h单元的00h至03h四位分别代表电机1、电机2、报警和正常运行标志单元;用21h单元的08h和09h两位作为零件及包装箱计数标志单元。当计数值等于给定值时,则此两位标志单元置1,否则为0。一旦此标志单元为1,则停止计数,把装满的包装箱运走并重新运来一个空箱;若包装箱数已够,则重新开始下一轮包装生产控制过程。如果计数单元超过给定值,将产生报警,告知操作人员计数有误,此时系统自动停下来,等待操作人员处理。图3.1 包装控制系统主程序框图3.1.1动态显示子程序流程图论文采用的是以软件为主的led接口电路,用软件进行译码,其流程图如图3.2所示。为了实现led显示器的动态扫描显示,除了要给显示器提供显示码段之外,还要对显示器进行位控制,即通常所说的“段控”和“位控”。在这里8255a的a口用来输出要显示的数据,将其送到b口,然后再送出相应的位选码,此时只有选通的那一位显示,其他的熄灭。同样在下一时刻,送出第二位的显示数据,则第二位显示,其他熄灭,由于在显示过程中,有1ms的延迟,造成人视觉上的停滞现象,看起来就如同时点亮显示一般。 图3.2 动态显示子程序流程图3.1.2 中断子程序流程图中断服务程序主要用来设定给定值,当给定键盘按下时,keystrobe输出高电平,经反相器后向8051申请中断。在中断服务程序中,读入该键盘给定值,一方面存入相应的给定单元(parts或boxes),另一方面送显示器,以便操作者检查输入的给定值是否正确。本程序输入的顺序是先输入包装箱数(三位,最大999,按百位、十位、个位顺序输入),然后再输入每箱装的产品数(三位,最大999,输入顺序同包装箱),完成上述任务的中断服务程序框图如图3.3所示。图3.3 输入给定值中断服务程序图3.1.3 报警子程序设计报警系统根据报警参数及传感器的具体情况又可分为硬件直接报警和全软件程序报警,前者的报警信号是直接通过硬件对被测参数和给定值进行比较而产生的,是在传感器中进行的,当这种硬件直接报警的信号产生之后再由软件进行处理,而后者则通过程序比较而得到信号并由软件完成报警处理系统主要是针对误操作做出报警,如当无给定值时就按strart键等,而无需进行上下限参数的比较,故只需在微机中进行即可,故可采用全软件报警。其报警程序的设计可对计数单元进行比较而形成。 3.2系统内存单元分配为了进行微机系统程序设计,首先需设置一些有关内存单元。这里用8051内部ram的20h单位的00h03h四位分别代表电机1、电机2、报警和正常运行标志单元;用21h单元的08h和09h两位作为产品及包装计数标志单元,当计数值超过给定值时,则此二位标志置1,否则为0。一旦标志单元为1,则产生报警,告知操作人员计数有误,此时系统会自动停止,等待操作人员处理。该系统内存单元分配如图4.4所示。图3.4 系统内存单元分配结论系统采用8031单片机,扩展了8255a接口,另外还采用2732进行程序存储器扩展,实现了流水线产品的自动计数和自动装箱。系统优点是控制过程简单,操作方便。起动装箱电机1,使装箱沿着传送带向前移动。通过光电传感器1检测装箱是否到位,装箱到位后,停止电机1。起动电机2,使产品沿着传送带向前移动,产品一个一个下落时,通过光电传感器2的检测,将产生一系列脉冲信号,从检测器2输出的脉冲,由计算机计数,并不断地与存在给定值单元中的给定值进行比较。如果产品数与给定值相等,则停止电机2。重复上述过程,直至包装箱数与给定值相等。系统充分考虑了系统的性能和匹配问题,力求提高系统的可靠性,同时使其成本尽量低廉。缺点是产品和装箱的计数不能超过999,控制过程为顺序控制,电机的启动和停止不能实现自动起动和停止,需要人工操作电机开关。其实际的操作可行性有待进一步的验证。参考文献1计算机控制技术,范立南,机械工业出版社,20082单片机原理及应用,李建忠,西安电子科技大学出版社,20083传感器与检测技术,吴松林,北京理工大学出版社,20094可编程控制器原理及应用,朱绍祥,上海交通大学出版社,19885可编程控制器原理及应用,杨长能,重庆大学出版社,19926.prokin m. ext remely wide range speed measurement using a double2buffered method. ieee trans. ind. electron. , 1994 ,417单片机原理及制作,吴微,武汉大学出版社,19918夏辛明可编程控制器技术及应用北京理工大学出版社,1999,12309吴麒,自动控制原理. 北京:清华大学出版社,199010.童梅 电路的计算机辅助分析-pspice和matlab,机械工业出版社,200811.张晓江,黄云志.自动控制系统计算机仿真.机械工业出版社,2011附录一 硬件连接图附录二 程序清单该系统控制程序如下: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 ;清产品计数单元 mov led2,#00h mov led3,#00h lcall display ;显示产品数 clr 00h ;停箱子传送带电机 setb 01h ;启动产品传送电机 mov a,20h mov dptr,#8002h movx dptr,aloop2: mov dptr,#8002h movx a,dptr jnb acc.6,loop2 ;判断是否有产品 jnb acc.4,stop ;判断是否按下停止键lcall portadd1 ;产品加1lcall display ;显示已装入的产品数lcaal portcomp ;与给定值比较jb 08h,stopm ;已装满ajmp loop2 ;未装满,继续装入stopm: lcall boxadd1 ;包装箱数加1 lcall boxcomp ;看是否已装够箱数 jb 09h,finish ;如果箱数已装够则结束 ljmp work ;否则将继续换新箱包装finish: clr 00h ;全部装完即可继续包装 clr 01h mov a,20h movx dptr,a mov box1,#00h mov box2,#00h mov box3,#00hloop3: mov dptr,#8002h ;判断是否重新启动 movx a,dptr jb acc.5,loop3 ljmp work ;在进行下一轮包装停止键处理程序:stop: clr 00h ;停止传送电机 clr 01h mov a,20h movx dptr,a ljmp main ;转主程序,等待输入新的给定值中断服务子程序,设置给定值:into: mov dptr,#8000h movx a,dptr mov 30h,a mov dptr,#segtbl movc a,a+dptr ;取显示码 mov dptr,#8001h movx dptr,a pop dpl ;取出显示位地址 pop dph movx dptr,a ;显示给定值 lcall delay mov dptr,#8000h mov a,dptr cmp a,30h jnz main mov r0,a ;存贮 inc r0 inc precnt mov a,dph rr a ;求下一个显示位地址 mov dph,a push dph ;保护下一位显示地址 push dpl reti ;中断返回显示产品数字程序:display: mov a,led1 ;取要显示的数 mov dptr,#segtbl movc a,a+dptr ;取显示码 movx dptr,a mov dptr,#ledadd1 ;显示百位 movx dptr,a mov a,led2 mov dptr,#segtbl movc a,a+dptr mov dptr,#8001h movx dptr,a mov dptr,#ledadd2 ;显示十位 mov dptr,a mov a,led3 mov dptr,#segtbl movc a,a+dptr mov dptr,#8001h movx dptr,a mov dptr,#ledadd3 ;显示个位 movx dptr,a retsegtbl: db 3fh, 06h, 5bh,4fh, 66h, 6dh, 7dh, 07h, 7fh, 67h ;产品加1子程序:portadd1: mov r0,#led3 mov a,r0 ;显示个位数 add a,#01h ;个位加1 da a ;bcd码调整 jb 24h,add5 ;不等于个位所表示的最大数则转 ret ;返回主程序add5: clr 14h ;个位的进位清零 dec r0 ;显示十位数 mov a, r0 add a,#01h ;十位加1 da a ;bcd码调整 jb 1ch,add6 ;不等于十位所表示的最大数则跳转 ret ;返回主程序add3: clr 1ch ;十位的进位清零 dec r0 ;显示百位数 mov a,r0 add a,#01h ;百位加1 da a ;bcd码调整 jb 14h,add4 ;不等于百位所表示最大数则转移 ret add4: clr 24h ;清百位进位 mov r0,#00 ret产品数比较子程序:portcomp: mov r0,#parts mov r1,#led1 ;百位数送r1 cjne r2,#03h ;比较3次com mov a,r0 mo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论