收藏 分销(赏)

自动装箱系统设计样本.doc

上传人:精*** 文档编号:4765457 上传时间:2024-10-12 格式:DOC 页数:32 大小:217KB 下载积分:12 金币
下载 相关 举报
自动装箱系统设计样本.doc_第1页
第1页 / 共32页
自动装箱系统设计样本.doc_第2页
第2页 / 共32页


点击查看更多>>
资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 摘要: 在工业生产中, 常常需要对产品进行计数、 装箱。如果用人工操作不但麻烦, 而且效率低、 劳动强度大。随着微机控制的普及, 特别是单片机的应用, 给该系统的设计带来了极大的方便。 本论文设计了一种以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单位的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]计算机控制技术,范立南,机械工业出版社, [2]单片机原理及应用, 李建忠, 西安电子科技大学出版社, [3]传感器与检测技术, 吴松林, 北京理工大学出版社, [4]可编程控制器原理及应用, 朱绍祥, 上海交通大学出版社, 1988 [5]可编程控制器原理及应用, 杨长能, 重庆大学出版社, 1992 [6].Prokin M. Ext remely Wide range Speed Measurement Using a Double2buffered Method. IEEE Trans. Ind. Electron. , 1994 ,41 [7]单片机原理及制作, 吴微, 武汉大学出版社, 1991 [8]夏辛明.可编程控制器技术及应用.北京理工大学出版社, 1999, 12~30 [9]吴麒, 自动控制原理. 北京: 清华大学出版社, 1990 [10].童梅 电路的计算机辅助分析--Pspice和MATLAB, 机械工业出版社, [11].张晓江,黄云志.自动控制系统计算机仿真.机械工业出版社, 附录一 硬件连接图 附录二 程序清单 该系统控制程序如下: 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 H ; 十位数显示地址 LEDADD3 EQU 1000H ; 个位数显示地址 BUFF EQU 2FH ; 缓冲单元 ORG 0100H 控制主程序: MAIN: MOV SP,#50H MOV R0,#22H MOV A,#00H MOV R1,#0DH CIRZERO: 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,#8002H WAIT:: MOV A,PRECNT ; 等待设置给定参数 CJNE A, #06H, WAIT ; 判断是否输入完给定值 WORK: SETB 00H ; 启动传送带电机1 SETB 03H ; 工作正常指示灯 MOV A,20H ; 启动电机1和正常指示 MOV DPTR, #8002H MOV @DPTR, A LOOP1: 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,A LOOP2: MOV DPTR,#8002H MOVX A,@DPTR JNB ACC.6,LOOP2 ; 判断是否有产品 JNB ACC.4,STOP ; 判断是否按下停止键 LCALL PORTADD1 ; 产品加1 LCALL 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,#00H LOOP3: 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 RET SEGTBL: 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 MOV BUFF,@R1 ; 保存给定值 CJNE A,BUFF,COMP2 ; 两者不相同则跳转 INC R0 ; 产品数十位 INC R1 ; 给定值十位 DJNZ R2,COMP1 SETB 08H ; 产品标志单元 RET COMP3: CLR 08H ; 清产品标志单元 RET COMP2: JNC COMP3 ; 判断有无进位标志 LJMP ALARM ; 有进位则报警 产品加1子程序: BOXADD1: MOV R0,#BOX3 MOV A,@R0 ADD A,#01H ; 包装箱个位加1 DA A ; BCD码调整 JB 3CH,ADD2 ; 不大于个位显示最大值则跳转 RET ADD2: CLR 14H DEC R0 ; 十位数加1 MOV A, @R0 ADD A,#00H DA A ; BCD码调整 JB 34H,ADD3 RET ADD3: CLR 2CH ; 清百位进位 DEC R0 ; 百位比较 MOV A,@R0 ADD A,#00H DA A ; BCD码调整 JB 2CH,ADD4 RET ADD4: CLR 2CH
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服