基于STC89C52单片机的小球自动分拣控制系统设计与应用
2023-06-25杜娟
杜娟
(酒泉职业技术学院,甘肃 酒泉 735000)摘要:小球自动分拣控制在人们的生产生活中具有重要意义。目前,应用较多的方式是通过PLC、电动机、机械臂、限位开关、接近开关等器件实现小球的自动分拣。这种控制方法设计的系统分拣小球的速度较慢,操作很不方便,系统制造成本高。考虑到系统的通用性和成本问题,此类系统的推广非常受限;在出现故障时,检修也很不方便。对此,文章基于STC89C52单片机的小球自动分拣控制系统设计方案,探究一种智能化程度高、操作灵活方便、性能安全可靠的小球自动分拣控制系统设计方案。
关键词:STC89C52单片机;颜色检测;测距;控制;系统设计
中图分类号:TP311.5文献标志码:A
0引言传统的小球自动分拣系统,一般通过PLC控制两台电动机的正反转,从而实现机械臂的向上、向下、向左、向右四个方向的运行控制,完成机械臂从控制系统的原点开始运行,移位到物体的上方,然后,进行机械臂的向下运行、到位判定、小球的抓取、机械臂的向上运行、机械臂特定方向的平移、下放小球、机械臂的复位等一系列的操作[1]。这种电路设计比较复杂,其系统成本较高,功能较为单一,每次操作时间较长。考虑系统的成本、功能、效率等因素,笔者研究了一种以STC89C52单片机为控制核心的小球自动分拣控制系统,通过超声波传感器实现小球大小的测量,通过颜色传感器实现小球颜色的辨识,通过舵机和步进电动机配合实现小球的定向运输,通过人机交互界面读取小球的直径、颜色等参数,为相关人员做好小球分拣监测提供便利。本文设计的小球自动分拣控制系统具有智能化、集成度高、操作方便、性能安全等优点。
1系统设计结构和原理分析基于STC89C52单片机的小球自动分拣控制系统的结构,如图1所示。
此控制系统不再采用PLC作为系统的控制核心,而是将STC89C52单片机作为本系统的核心控制器件,通过硬件设计、软件设计,实现小球自动分拣。
系统的硬件电路设计主要包括单片机、时钟电路、复位电路、按键电路、声光提示电路、LCD显示电路、超声波测距模块、颜色检测模块[2]、电机驱动电路等。
在该控制系统的电路中,时钟电路用来产生STC89C52工作时所必需的时钟信号。STC89C52单片机的内部电路在时钟信号的控制下,严格按照时序执行指令,使单片机能够准确有序的工作。复位电路可以使单片机完成系统初始化操作。当程序出现错误或者系统出现操作错误使系统处于锁死状态无法跳出时,该系统能使单片机跳出“跑飞”或“锁死”状态而重新启动。按键电路有两个功能:第一个功能是实现小球自动分拣系统的检测启动控制;第二个功能是实现升降台的上下移动控制。声光提示电路则是通过控制蜂鸣器、发光二极管,提示电机运行的各种状态。LCD显示电路能够实时显示小球的直径和颜色及系统的其他状态参数。超声波测距模块安装在一个步进电机控制的升降台上,通过单片机控制步进电机的运行,进而控制升降台的运行,从而测出小球的直径。颜色检测模块则是进行小球颜色的识别检测,并将颜色数据传送给单片机控制系统。电机驱动电路包括两部分:一部分是驱动电路通过ULN2003完成升降台的上下移动,升降台带动超声波测距模块进行移动,完成小球的直径测定;另一部分是通过ULN2003驱动步进电机实现小球颜色的分拣控制[3]。
在该控制系统的电路中,单片机是控制系统核心,主要通过运行载入的程序,进行整个系统信号的检测与处理,对于本系统的控制效果起决定性作用。本研究通过单片机对整个系统控制,完成小球的直径、颜色等信息的采集,以数字信号的形式进行数据的传输、处理,用LCD实时显示小球的直径、颜色等信息,同时按照系统的控制流程实现对多个步进电机的控制,完成小球的自动分拣任务,实现相应的操作。
2系统设计要点2.1传感器选择2.1.1颜色传感器选择考虑颜色传感器的特性,本文选择使用GY-33颜色传感器进行小球的颜色的识别。GY-33是一款低成本的颜色识别传感器模块[4],工作电压范围 3~5 V,可识别7种颜色,具有功耗小、体积小、安装方便、可掉电保存设置等优点。其工作原理是:照明LED光照射到被测物体后,返回光经过滤镜检测 RGB 的比例值,根据 RGB 的比例值识别出颜色。本文采用IIC的方式读取数据,大大节约了单片机I/O口。
2.1.2测距传感器选择测量小球直径的器件很多,主要有激光测距传感器、位移测距传感器、超声波测距传感器[5]。通过读取测距传感器与小球的近端距离、远端距离,计算距离差值即可获得小球的直径。对比多种测距传感器的特性和应用场所,本文选择HC-SR04超声波测距传感器完成小球直径的测量。该超声波测距模块包括超声波发射器、接收器与控制电路,可以为系统提供2~400 cm 的非接触式距离感测功能,测距精度可达高倒3 mm,满足本文设计系统的控制要求。
2.2单片机最小系统设计在小球自动分拣控制系统设计中,采用STC89C52单片机为核心控制芯片。该芯片能够正常工作,则需要与时钟电路、复位电路、电源接口共同构成单片机最小系统,即单片机正常工作时具备的最少器件的系统。其中,时钟电路给单片机提供了稳定可靠的时钟信号,保证单片机稳定正常的工作;复位电路采用了上电和按键复位的复位方式,保证单片机有效复位。在整個系统运行过程中出现程序错误时,在复位电路的作用下,程序可以重新开始运行。根据本系统的设计要求,确定采用的单片机最小系统电路,如图2所示。
2.3LCD显示模块设计在小球分拣控制系统设计中,LCD显示电路不仅可以显示小球的直径、颜色信息,还可以显示其他信息,是小球分拣控制系统的重要组成部分。本文中采用的LCD显示模块是FYD12864-0402B[6]。该器件具有4位/8位并行、2线或4线串行等接口方式,可以满足用户的不同控制需求;该器件内部含有国标简体中文字库的点阵图形液晶显示模块;该器件的显示分辨率为128×64像素,内置8 192个16×16点汉字和128个16×8 点ASCII字符集,可以方便地完成图形、数字、汉字的显示,完美地构成全中文人机交互图形界面。将由该模块构成的显示电路与同类型的其他图形点阵液晶显示电路比较可知,该器件构成的硬件电路结构和相应的显示程序都更加简洁,且价格更低。本文中的FYD12864-0402B显示模块采用3线串口方式进行数据的传输与显示,大大节约了单片机的端口,为系统功能扩展提供了条件。本系统中LCD显示电路,如图3所示。
2.4超聲波测距模块在小球分拣控制系统设计中,超声波测距模块是用来测量小球的直径。本文中采用的超声波测距模块是HC-SR04。该测距模块可以为系统提供2~400cm的非接触式的距离感测功能,其测距精度可以达到 3 mm;该测距模块包括超声波发射器、接收器和控制电路。该测距模块采用I/O 口 TRIG触发测距,通过单片机的端口提供至少10 μs 的高电平信号。测距模块自动发送8个40 kHz的方波,自动检测是否之后是否有信号返回。如果检测到信号返回,就会通过 I/O口ECHO输出一个高电平,高电平持续的时间就是该超声波从发射出去到返回的总时间。该时间由单片机检测可得。通过测距公式,即可获得距离值,测距公式为:测试距离=(高电平时间×声速(340 M/s))/2。本系统通过两次检测升降台到位情况,取两次距离的差值,即可得到小球的直径。本系统的超声波测距模块与单片机的接口电路,如图4所示。超声波的VCC引脚接5 V电源,GND引脚接地线,TRIG触发控制信号输入端与单片机的P2.3口相连,ECHO回响信号输出端与单片机的P2.2口相连。如此构成了超声波测距电路。
3系统软件设计在小球自动分选控制系统中,硬件电路的设计提高了小球分拣的效率,软件程序的设计也非常重要。该系统程序设计主要涉及了主程序、LCD显示子程序、颜色采集子程序、超声波测距子程序、按键子程序、电机驱动子程序、定时器中断服务程序、外中断服务程序等。从整体上来看,系统主要按照颜色采集—超声波测量小球直径—驱动电机运转的操作过程完成任务,实现小球的自动分拣控制。
在主程序中,主要实现了开机动画、系统初始化、调用颜色采集子程序、调用电机驱动子程序、调用按键子程序。同时,在LCD液晶显示屏上显示出小球的相关信息。主程序流程如图5所示。
在初始化中,主要完成单片机的系统初始化、定时器初始化、外中断初始化、LCD液晶显示器件的初始化、步进电机和舵机的初始化等工作。
在颜色采集子程序中,通过GY-33进行小球颜色的检测,将颜色的相关数据送给单片机进行处理,最终在LCD液晶显示器上显示。
在电机驱动子程序中,进行两种功能的设计。第一种功能是通过控制超声波测距升降台的移动,完成小球直径的测量,并将小球直径的相关数据显示到LCD液晶显示器。第二种功能是根据不同小球的检测结果,开启相应的小球收纳盒,收集相应的小球。
在按键子程序中,主要完成小球自动分拣系统的启动和升降台的上下移动控制。定时器中断服务程序及外中断服务程序,用于跳出不同情境中的步进电机运行的死循环程序。
4系统调试本文设计的小球自动分拣控制系统,调试包括两个部分。
4.1仿真调试
选择使用PROTEUS仿真软件来进行调试,检验设计是否符合要求。该仿真软件可以进行简单的单片机控制系统的模拟仿真,也可以进行复杂控制系统的模拟仿真。在该软件中完成了该系统的仿真调试,确认各个模块工作正常,即确认各个相关的硬件电路和软件程序的设计正确。
4.2实物调试
通过搭建电路,载入程序,在实际控制系统中检测系统功能。在实物调试中,出现两个问题:一是步进电机带动升降台上升后无法停机。采用外部中断信号,处理外部中断服务程序实现步进电机带动升降台上升后准确停机。二是开启相应的小球收纳盒的电机不能正常工作。采用ULN2003完成本系统中步进电机驱动电路的设计,实现准确控制步进电机开启相应的小球收纳盒。
5结语基于STC89C52单片机设计小球自动分拣控制系统,对于改变传统的小球分拣系统的控制提供了理论支持。该系统成本更低、精准度更高、速度更快。对此,本文研究一种以STC89C52单片机为控制核心的小球自动分拣控制系统,具有一定的实用价值。
参考文献
[1]刘武常.自动分拣大小球控制系统的设计[J].电子设计工程,2017(18):164-167.
[2]潘泽锴,朱雪花,陈俞文.基于颜色传感器的流水线物品分拣系统[J].科技和产业,2021(2):207-210.
[3]李娟,马利祥.步进电机控制系统设计[J].科学技术创新,2021(8):191-192.
[4]邹华东,贾瑞清,钱礼润.基于TCS230的双路颜色传感检测装置的研制及应用[J].现代电子技术,2018(14):24-28.
[5]帅盼,张海宁,白福,等.基于超声波测距的汽车倒车避障系统设计[J].研究与开发,2016(10):54-57.
[6]葛耿育.基于STC89C52的LCD12864液晶串并行显示设计[J].遵义师范学院学报,2016(5):98-101.
(编辑 姚鑫)
Design and application of ball automatic sorting control system based on
STC89C52 microcontrollerDu Juan
(Jiuquan Vocational and Technical College, Jiuquan 735000, China)Abstract: The application of small ball automatic sorting control in peoples production and life is of great significance. At present, the most widely used way is to realize the automatic sorting of small balls through PLC, motor, mechanical arm, limit switch, proximity switch and other devices. The system designed by this control method has slow sorting speed, inconvenient operation and high manufacturing cost. Considering the universality and cost of the system, the promotion of this kind of system is very limited. In addition, in case of failure, the maintenance is very inconvenient. Therefore, this paper studies the design scheme of small ball automatic sorting control system based on STC89C52 single chip microcomputer, and explores a design scheme of small ball automatic sorting control system with high intelligence, flexible and convenient operation, safe and reliable performance.
Key words: STC89C52 single chip microcomputer; color detection; ranging; control; system design