自动装箱系统设计.docx
《自动装箱系统设计.docx》由会员分享,可在线阅读,更多相关《自动装箱系统设计.docx(35页珍藏版)》请在冰豆网上搜索。
![自动装箱系统设计.docx](https://file1.bdocx.com/fileroot1/2023-2/3/1cd13ed8-b6fd-4fc9-97d4-43ffbd292876/1cd13ed8-b6fd-4fc9-97d4-43ffbd2928761.gif)
自动装箱系统设计
摘要:
在工业生产中,常常需要对产品进行计数、装箱。
如果用人工操作不但麻烦,而且效率低、劳动强度大。
随着微机控制的普及,特别是单片机的应用,给该系统的设计带来了极大的方便。
本论文设计了一种以8051单片机为核心的流水线产品计数及装箱控制系统,可以对工业自动化生产流水线上的产品进行精确的计数和装箱。
为了读键盘给定值及检测和控制,专门扩展一个8255A可编程接口及程序存储器EPROM2732(4K*8200ns可用紫外线擦除标准EPROM。
)扩展的8255A的B口用于给定值或产品计数显示。
关键词:
装箱;自动控制;单片机
正文:
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作一个基本的介绍:
1一个面向控制的8位CPU;
2128字节RAM数据存贮器;
3两个16位定时器/计数器;
4可寻址64K外部数据存贮器和64K外部程序存贮空间的控制电路;
532条可编程的I/O线(四个8位并行I/O端口);
6一个可编程全双工串行口;
7具有五个中断源,两个优先级嵌套中断结构;
(2)8255A:
8255A基本特性:
18255A是一个具有两个8位(A口和B口)和两个4位(C口高/低4位)并行I/O端口的接口芯片,它是Intel系列CPU与外部设备之间提供TTL电平兼容的接口,如A/D、D/A转换器、键盘、步进电机以及需要同时两位以上信息传递的一切形式的并行接口;
28255A能适应CPU与I/O接口之间的多种数据传送方式的要求;
38255A可执行功能很强,容丰富的两条命令(方式字和控制字)为用户根
据外界条件来使用8255A构成多种接口电路提供了灵活方便的编程环境;
48255A的PC口的使用比较特殊,除作数据口外,还可作状态口,进行按位控制等;
(3)74LS373:
8位输入8位输出锁存器,引脚功能如下:
VCC:
接电源端;
G:
存储器允许信号;
(4)2732:
4K*8200ns紫外线可擦除电可编程的半导体只读存储器,标准EPRO;M
A11-A0:
地址输入线;
D7-D0:
三态数据总线;
(5)74LS377:
同向电流驱动器,为LED提供足够驱动电流。
说明:
键盘和显示器接口芯片还有8279可使用,而8279对键盘还有硬件消抖功能,但这样会和8255A形成硬件浪费,况且8279由于接口不够不能代替8255A。
包装系统控制电路主要有两部分:
一是信号检测,光电检测器1判断包装箱是否到位和光电检测器2用于产品计数;二是传送带电机控制。
(6)开关电源:
开关电源选用+12VATX电源。
在整个开关接通期间,电源向负载提供能量;当开关断开时,输入电源便中断了能量的控制,输入电源向负载提供的能量是断续的。
(7)光电传感器:
光电传感器选用CH3系列。
光电传感器的敏感围远远超过了电感、电容、磁力、超声波传感器的围,此外光电传感器的体积很小,而敏感围很宽,加上机壳有很多样式,几乎都可以使用。
2.2显示电路设计
为了使系统简单,设计的一个由二极管矩阵组成的编码键盘,如图2.1所示
图2.1编码键盘原理图
键盘输出信号
D、C、B、A(BCD码)接到8255A的A口PA3-PA0,键选通信
号KEYSTROB高E(电平有效),经反向器接到8051的中断管脚。
当某一个键按下去时,KEYSTROB为E高电平,经反相后的下降沿向8051申请中断。
8051响应后,
读入BCD码,作为给定值,并送显示。
由于系统设计只有三位显示,所以最多只能给定999,输入顺序为从高位(百位数)开始。
当按键未按下时,所有输出端均为高电平。
当按键按下后该键的BCD码将出
现在输出线上。
例如,按下“6”键时,与键6相连的两个二极管导通,所以D、A线上为低电平,因此输出编码为0110,其余以此类推。
当任何一个键按下去时,四输入或非门7420产生一个高电平选通信号经反相器后向8051申请中断
3软件设计
3.1主程序的设计及其流程图
通过上述分析可知,本系统键盘的作用主要是给定值的输入。
当给定值设定后,在包装过程中就没什么作用了。
因此为了提高系统的实时性,系统采用中断方式作键盘处理,对装箱是否到位及产品数计数,则采用查询方法。
整个系统流程图,如图3.1所示。
中断程序主要用来设定给定值,当给定键盘有键按下时,KEYSTROB输E出高电平,经反相器后向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中断子程序流程图
中断服务程序主要用来设定给定值,当给定键盘按下时,KEYSTROB输E出高电平,经反相器后向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和MATLA,B机械工业,2008
[11].晓江,黄云志.自动控制系统计算机仿真.机械工业,2011
附录一硬件连接图
R?
R?
+5V
R?
JP?
RES2RES2
RES2
RES2
D?
SW-PB
IODE
W-PB
D?
DIOD
DIODE
SW-PB
D?
IODE
DIODE
W-PB
DIODE
SW-PB
D?
D?
DIODE
DIODE
D?
DIODE
S?
W-PB
D?
IODE
DIODE
D?
DIODE
IODE
8
SW-PB
DIODEDIODE
6
SW-PB
D?
DIODE
+5V
R?
RES2
D?
LED
SW-PB
S?
SW-PB
4HEADER
3
4
7
8
13
17
D0
D3
D4
D5
A1
5
A2
6
9
2
D1
D2
AAA354111526
A6
18
19
4
A
LEOC
6
74LS373
7
8
10
11
D6
D7
D?
P20
P0
P21
P0
P22
P0
P23
P0
P24
P0
P25
P0
P26
P0
P27
P0
WR
AL
RD
PSE
INTO
1
3
8031
7
11
34
33
32
31
30
29
28
27
D?
13
14
17
11
10
A0
9
A1
8
A2
A3
A4
A5
A6
25
D0
A
D1
A
A9
23
D4
A4
D5
A
LEO
A7
A8
D2
D3
D6
D7
A
A
A10
A11
A2
A3
74LS373
D?
356
+5V
R?
RES2
D?
LED
+5V
R?
RES2
7
6
5
3
21
Q3
Q4
2732
PB0
A1
PB1
A0
PB2
D0
PB3
D1
PB4
D2
PB5
D3
PB6
D4
PB7
D5
PA0
D6
PA1
D7
PA2
PA3
P
P
WR
RD
CS
8255A
+5V
R?
RES2
D
20
6
A
7
123
8
AAA46511901
AA671114
DD
D
DDD
DDDD
7
P
3
3
7
4
7
15
1
2
234567AAAAAA
1
0
2
123AAA
4567AAAA
7A
3D
45767N
3DDSDDG
L
DDDDSDDGL
01
AA
P
PC0
PC1
afged
3D
2345767N
0123AAAA
23
01
01
18
19
21
22
PC216
PC
PC
PC5
19
20
21
PC76
VCC
RES2
SSR
SSR
+5V
R?
RES2
Q?
NPN-PHOTO
1R?
Q?
2R?
RES2NPN1RES2
Q?
NPN1
R?
NPN-PHOTO
RES
RES
R?
2
afged
3
4576
DDSD
L
D
7N
DG
附录二程序清单
该系统控制程序如下:
ORG
0000H
AJMP
MAIN
ORG
0003H
AJMP
INT0
LED1
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
;缓冲单元
ORG0100H
控制主程序:
MAIN:
MOVSP,#50H
MOVX
DPTR,A
SETB
IT0
;设置边沿触发方式
SETB
EX0
;设置中断方式0
SETB
EA
;开总中断
MOV
R0,#BOXES
MOV
DPTR,#LEDADD1
;保护显示位地址
PUSH
DPH
PUSH
DPL
MOV
DPTR,#8002H
WAIT:
:
MOVA,PRECNT
;等待设置给定参数
CJNE
A,#06H,
WAIT;判断是否输入完给定值
WOR:
K
SETB00H
;启动传送带电机1
SETB
03H
;工作正常指示灯
MOV
A,20H
;启动电机1和正常指示
MOV
DPTR,#8002H
MOV
DPTR,A
LOOP:
1
MOVA,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,A
LOOP:
2
MOVDPTR,#8002H
MOVX
A,DPTR
JNB
ACC.6,LOOP2
;判断是否有产品
JNB
ACC.4,STOP
;判断是否按下停止键
LCALLPORTADD1;产品加1
LCALLDISPLAY;显示已装入的产品数
LCAALPORTCOMP;与给定值比较
JB
08H,STOPM
;已装满
AJMP
LOOP2
;未装满,继续装入
STOP:
M
LCALLBOXADD1
;包装箱数加1
L