自动装箱系统设计.docx
- 文档编号:7126675
- 上传时间:2023-01-20
- 格式:DOCX
- 页数:20
- 大小:148.56KB
自动装箱系统设计.docx
《自动装箱系统设计.docx》由会员分享,可在线阅读,更多相关《自动装箱系统设计.docx(20页珍藏版)》请在冰豆网上搜索。
自动装箱系统设计
摘要:
在工业生产中,常常需要对产品进行计数、装箱。
如果用人工操作不但麻烦,而且效率低、劳动强度大。
随着微机控制的普及,特别是单片机的应用,给该系统的设计带来了极大的方便。
本论文设计了一种以8051单片机为核心的流水线产品计数及装箱控制系统,可以对工业自动化生产流水线上的产品进行精确的计数和装箱。
为了读键盘给定值及检测和控制,专门扩展一个8255A可编程接口及程序存储器EPROM2732(4K*8200ns可用紫外线擦除标准EPROM)。
扩展的8255A的B口用于给定值或产品计数显示。
关键词:
装箱;自动控制;单片机
正文:
1、自动装箱控制系统设计方案
1.1控制方案列举分析
自动装箱的关键在于依据装箱过程,设计出一个能够得以实现自动控制的结构方案。
显然,自动装置的选择取决于这一过程的需求及特性。
依据定义,一个自动装置即能通过自动控制或遥控方法完成任务的一台机器或一个机构。
它可以是简单的,例如,从一个位置移向另一位置的一种单轴结构的气动压力联动装置,也可以是复杂的,例如,具有六轴结构的能动外科手术的机器人。
而包装过程的各个项目选择以及各类工业自动化机构,可以在一个具体工作场所的空间范围内,使每一个设计方案完成一项任务。
由系统功能要求、方案选择和设备配置,可以设计出一个自动装箱系统,其原理图如图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*8200ns可用紫外线擦除标准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*8200ns紫外线可擦除电可编程的半导体只读存储器,标准EPROM;
A11-A0:
地址输入线;
D7-D0:
三态数据总线;
(5)74LS377:
同向电流驱动器,为LED提供足够驱动电流。
说明:
键盘和显示器接口芯片还有8279可使用,而8279对键盘还有硬件消抖功能,但这样会和8255A形成硬件浪费,况且8279由于接口不够不能代替8255A。
包装系统控制电路主要有两部分:
一是信号检测,光电检测器1判断包装箱是否到位和光电检测器2用于产品计数;二是传送带电机控制。
(6)开关电源:
开关电源选用+12VATX电源。
在整个开关接通期间,电源向负载提供能量;当开关断开时,输入电源便中断了能量的控制,输入电源向负载提供的能量是断续的。
(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单位的00H~03H四位分别代表电机1、电机2、报警和正常运行标志单元;用21H单元的08H和09H两位作为产品及包装计数标志单元,当计数值超过给定值时,则此二位标志置1,否则为0。
一旦标志单元为1,则产生报警,告知操作人员计数有误,此时系统会自动停止,等待操作人员处理。
该系统内存单元分配如图4.4所示。
图3.4系统内存单元分配
结论
系统采用8031单片机,扩展了8255A接口,另外还采用2732进行程序存储器扩展,实现了流水线产品的自动计数和自动装箱。
系统优点是控制过程简单,操作方便。
起动装箱电机1,使装箱沿着传送带向前移动。
通过光电传感器1检测装箱是否到位,装箱到位后,停止电机1。
起动电机2,使产品沿着传送带向前移动,产品一个一个下落时,通过光电传感器2的检测,将产生一系列脉冲信号,从检测器2输出的脉冲,由计算机计数,并不断地与存在给定值单元中的给定值进行比较。
如果产品数与给定值相等,则停止电机2。
重复上述过程,直至包装箱数与给定值相等。
系统充分考虑了系统的性能和匹配问题,力求提高系统的可靠性,同时使其成本尽量低廉。
缺点是产品和装箱的计数不能超过999,控制过程为顺序控制,电机的启动和停止不能实现自动起动和停止,需要人工操作电机开关。
其实际的操作可行性有待进一步的验证。
参考文献
[1]计算机控制技术,范立南,机械工业出版社,2008
[2]单片机原理及应用,李建忠,西安电子科技大学出版社,2008
[3]传感器与检测技术,吴松林,北京理工大学出版社,2009
[4]可编程控制器原理及应用,朱绍祥,上海交通大学出版社,1988
[5]可编程控制器原理及应用,杨长能,重庆大学出版社,1992
[6].ProkinM.ExtremelyWiderangeSpeedMeasurementUsingaDouble2bufferedMethod.IEEETrans.Ind.Electron.,1994,41
[7]单片机原理及制作,吴微,武汉大学出版社,1991
[8]夏辛明.可编程控制器技术及应用.北京理工大学出版社,1999,12~30
[9]吴麒,自动控制原理.北京:
清华大学出版社,1990
[10].童梅电路的计算机辅助分析--Pspice和MATLAB,机械工业出版社,2008
[11].张晓江,黄云志.自动控制系统计算机仿真.机械工业出版社,2011
附录一硬件连接图
附录二程序清单
该系统控制程序如下:
ORG0000H
AJMPMAIN
ORG0003H
AJMPINT0
LED1EQU22H;产品计数单元(百位)
LED2EQU23H;(十位)
LED3EQU24H;(个位)
BOX1EQU25H;包装箱计数单元(百位)
BOX2EQU26H;(十位)
BOX3EQU27H;(个位)
BOXESEQU28H;包装箱给定值首地址
PARTSEQU2BH;产品给定值首地址
PRECNTEQU2EH;给定值次数计数单元
LEDADD1EQU4000H;百位数显示地址
LEDADD2EQU2000H;十位数显示地址
LEDADD3EQU1000H;个位数显示地址
BUFFEQU2FH;缓冲单元
ORG0100H
控制主程序:
MAIN:
MOVSP,#50H
MOVR0,#22H
MOVA,#00H
MOVR1,#0DH
CIRZERO:
MOV@R0,A;清计数、给定值单元
INCR0
DJNZR1,CIRZERO
MOV20H,#00H
MOV21H,#00H
MOVDPTR,#8003H
MOVA,#98H
MOVX@DPTR,A
SETBIT0;设置边沿触发方式
SETBEX0;设置中断方式0
SETBEA;开总中断
MOVR0,#BOXES
MOVDPTR,#LEDADD1;保护显示位地址
PUSHDPH
PUSHDPL
MOVDPTR,#8002H
WAIT:
:
MOVA,PRECNT;等待设置给定参数
CJNEA,#06H,WAIT;判断是否输入完给定值
WORK:
SETB00H;启动传送带电机1
SETB03H;工作正常指示灯
MOVA,20H;启动电机1和正常指示
MOVDPTR,#8002H
MOV@DPTR,A
LOOP1:
MOVA,@DPTR
JNBACC.7,LOOP1;判断包装箱是否到位
MOVLED1,#00H;清产品计数单元
MOVLED2,#00H
MOVLED3,#00H
LCALLDISPLAY;显示产品数
CLR00H;停箱子传送带电机
SETB01H;启动产品传送电机
MOVA,20H
MOVDPTR,#8002H
MOVX@DPTR,A
LOOP2:
MOVDPTR,#8002H
MOVXA,@DPTR
JNBACC.6,LOOP2;判断是否有产品
JNBACC.4,STOP;判断是否按下停止键
LCALLPORTADD1;产品加1
LCALLDISPLAY;显示已装入的产品数
LCAALPORTCOMP;与给定值比较
JB08H,STOPM;已装满
AJMPLOOP2;未装满,继续装入
STOPM:
LCALLBOXADD1;包装箱数加1
LCALLBOXCOMP;看是否已装够箱数
JB09H,FINISH;如果箱数已装够则结束
LJMPWORK;否则将继续换新箱包装
FINISH:
CLR00H;全部装完即可继续包装
CLR01H
MOVA,20H
MOVX@DPTR,A
MOVBOX1,#00H
MOVBOX2,#00H
MOVBOX3,#00H
LOOP3:
MOVDPTR,#8002H;判断是否重新启动
MOVXA,@DPTR
JBACC.5,LOOP3
LJMPWORK;在进行下一轮包装
停止键处理程序:
STOP:
CLR00H;停止传送电机
CLR01H
MOVA,20H
MOVX@DPTR,A
LJMPMAIN;转主程序,等待输入新的给定值
中断服务子程序,设置给定值:
INTO:
MOVDPTR,#8000H
MOVXA,@DPTR
MOV30H,A
MOVDPTR,#SEGTBL
MOVCA,@A+DPTR;取显示码
MOVDPTR,#8001H
MOVX@DPTR,A
POPDPL;取出显示位地址
POPDPH
MOVX@DPTR,A;显示给定值
LCALLDELAY
MOVDPTR,#8000H
MOVA,DPTR
CMPA,30H
JNZMAIN
MOV@R0,A;存贮
INCR0
INCPRECNT
MOVA,DPH
RRA;求下一个显示位地址
MOVDPH,A
PUSHDPH;保护下一位显示地址
PUSHDPL
RETI;中断返回
显示产品数字程序:
DISPLAY:
MOVA,LED1;取要显示的数
MOVDPTR,#SEGTBL
MOVCA,@A+DPTR;取显示码
MOVX@DPTR,A
MOVDPTR,#LEDADD1;显示百位
MOVX@DPTR,A
MOVA,LED2
MOVDPTR,#SEGTBL
MOVCA,@A+DPTR
MOVDPTR,#8001H
MOVX@DPTR,A
MOVDPTR,#LEDADD2;显示十位
MOV@DPTR,A
MOVA,LED3
MOVDPTR,#SEGTBL
MOVCA,@A+DPTR
MOVDPTR,#8001H
MOVX@DPTR,A
MOVDPTR,#LEDADD3;显示个位
MOVX@DPTR,A
RET
SEGTBL:
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H;
产品加1子程序:
PORTADD1:
MOVR0,#LED3
MOVA,@R0;显示个位数
ADDA,#01H;个位加1
DAA;BCD码调整
JB24H,ADD5;不等于个位所表示的最大数则转
RET;返回主程序
ADD5:
CLR14H;个位的进位清零
DECR0;显示十位数
MOVA,@R0
ADDA,#01H;十位加1
DAA;BCD码调整
JB1CH,ADD6;不等于十位所表示的最大数则跳转
RET;返回主程序
ADD3:
CLR1CH;十位的进位清零
DECR0;显示百位数
MOVA,@R0
ADDA,#01H;百位加1
DAA;BCD码调整
JB14H,ADD4;不等于百位所表示最大数则转移
RET
ADD4:
CLR24H;清百位进位
MOVR0,#00
RET
产品数比较子程序:
PORTCOMP:
MOVR0,#PARTS
MOVR1,#LED1;百位数送R1
CJNER2,#03H;比较3次
COMMOVA,@R0
MOVBUFF,@R1;保存给定值
CJNEA,BUFF,COMP2;两者不相同则跳转
INCR0;产品数十位
INCR1;给定值十位
DJNZR2,COMP1
SETB08H;产品标志单元
RET
COMP3:
CLR08H;清产品标志单元
RET
COMP2:
JNCCOMP3;判断有无进位标志
LJMPALARM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 装箱 系统 设计