基于单片机的工件位置控制系统设计
摘要现代工业自动化生产的工件位置的精确控制是保证高效稳定的生产过程的技术环节。传统的工件输送和定位系统大多依靠复杂的机械限位装置或者人工操作来实现定位定位精度低、灵活性差、不能满足多工位生产的需要。对于中小型自动化设备或者教学实训模型来说需要一种成本低、控制准确、操作直观、人机交互功能好的工件位置控制系统。因此本设计提出了一种以单片机为控制单元的工件位置控制系统。本设计用STC89C52单片机作为控制核心设计出一个集位置校准、模式选择、自动/手动驱动、状态监测、声光提示为一体的完整控制系统。系统主要的工作流程如下首先通过安装在机械零位的光电传感器对系统进行位置校准保证每次启动或者复位后工件转台或者输送机构都能准确回到绝对零点为后面的精确定位打下基础用户可以设置目标工位编号选择手动或者自动两种运行模式。手动模式下用户按下启动按键后系统根据当前工位和目标工位的相对位置、方向自动驱动四相步进电机带动工件转台以最优路径旋转到指定工位自动模式下系统通过安装在工件输送路径上的红外避障传感器实时检测工件是否到位一旦传感器检测到工件到达上料位置系统就无需人工干预自动触发转位动作驱动步进电机将工件准确输送至用户预设的目标工位。整个运行过程中的OLED液晶显示屏是人机交互的主要界面可以随时清楚地显示出系统的回零状态已回零或者未回零、当前所在的工位号、用户设定好的目标工位号以及系统目前的运行模式手动模式或自动模式。系统集成红色、黄色、绿色三种颜色的指示灯和有源蜂鸣器在不同的状态发出不同的声音和光线信号回零完成时绿灯一直亮着运行时黄灯不停地闪烁设备发生故障或者接近边界的时红灯亮并且响起蜂鸣器的声响使用户能直接看出系统的状况。本设计采用四相步进电机作为执行机构用ULN2003驱动芯片来实现转台位置的开环控制。位置检测用光电传感器的开关量特性进行零位校准用红外避障传感器的非接触式特性进行工件到位检测两者共同保证了系统的精度和可靠性。系统软件使用模块化编程思想在Keil uVision5开发环境里用C语言来实现主控逻辑、按键扫描、传感器数据读取、步进电机调速和定位算法、OLED显示驱动、声光报警等各个功能模块。经过系统的硬件搭建、软件调试和联合测试结果表明本设计所实现的工件位置控制系统可以稳定、准确地完成零位校准、手动/自动转位控制等主要功能定位精度满足设计要求人机交互界面友好声光提示清晰有效。该系统结构简单、成本低具有良好的可扩展性以及教学演示价值可以应用于小型自动化生产线、物料分拣装置、实训教学平台等为解决类似的位置控制问题提供了一种可行的技术方案。关键词STC89C52工件位置控制步进电机光电传感器红外避障传感器OLED显示Design of Workpiece Position Control System Based on Single-Chip Microcomputer.Abstract:Accurate control of the position of workpieces is required in modern industrial automation to achieve high efficiency and stability of production. Traditionally, the workpiece conveyance and positioning system of a conventional machine-tooling device are usually a simple mechanical limit device or manual operation; therefore, there are problems such as poor positioning accuracy, lack of flexibility, and it cannot meet the requirements for multi-station production. Small and medium-sized automation equipment, teaching and training models, etc., are relatively cheap, but they need workpiece position control systems with good precision, simple operation, excellent human-computer interaction, etc. Therefore, the Design of a Workpiece Position Control System Solution Based on a Single-chip Microcomputer for the Main Control Unit is introduced here.The main part of the Design is the STC89C52 microcontroller, and based on this, a whole control system for position calibration, mode selection, automatic/manual driving, status monitoring and audible/visual warnings has been built. In short, it will be as follows: First, a photoelectric sensor is installed at the mechanical zero position; then, position calibration will be performed to ensure that after every start or reset, the workpiece turntable or conveyor can return accurately to the absolute zero point and provide a reference for the next precise positioning. Set the target station number and select manual or automatic operation mode by pressing the three independent buttons. In manual mode, after the user presses the Start button, the system will use an optimal path according to the relative position and direction of the current station and the target station to drive the four-phase stepper motor and automatically move the workpiece turntable to the preset station. Infrared obstacle-avoidance sensors have been set up at different points along the path of the workpieces in the automatic mode to ensure that they are in the right positions. When the sensor is to find that the workpiece has reached the loading position, a transfer will be automatically started by the system; at that time, a stepper motor will be used to accurately move the workpiece to the destination station without manual operation. All the time during operation, the OLED liquid crystal display will show the current status of the system, such as whether it has been returned (returned/not returned), the station number, the target station number set by the user, and the operating mode of the system (manual/automatic). At the same time, the system also has a red, yellow and green three-color indicator light and an active buzzer for various types of sound and light alarms in different situations; for example, after completing the zero-return task, it will be a solid green light; during operation, it is a flashing yellow light; and if there is equipment failure or an exceedance of the boundary limit, a red light and buzzer will be sounded promptly to inform users of the current status of the system.A four-phase stepper motor will be selected for the actuator in this Design, and a ULN2003 driver chip will be employed to control the Position of the turntable accurately in an open-loop mode. For position determination, zero calibration is performed using the switching characteristics of the photoelectric sensor, and because it does not touch, an infrared obstacle avoidance sensor can be employed to detect the approach of the workpiece; both are very accurate and reliable. The structure of the system software is modular, and it is developed in the Keil uVision5 development environment using the C language; among its multiple functions, there is the main control logic, key scanning, sensor data acquisition, stepper motor speed control and positioning algorithms, OLED display driving, audible and visual alarms, etc. Through systematic hardware construction, software debugging and joint testing, it was found that the designed workpiece position control system can stably and accurately perform the main function of zero calibration, manual/automatic indexing control, etc. The positioning accuracy is in line with the design requirements, it is simple to use, and the sound and light alarms are clear and effective. It has a simple structure and is low-cost; at the same time, it is easy to expand and suitable for teaching demonstrations. It can be used in a wide range of places, such as small-scale automated production lines, material sorting devices, training and teaching platforms, etc., to provide a practical technical solution for the problem of position control.Keywords:STC89C52; Workpiece position control; Stepper motor; Photoelectric sensor; Infrared obstacle avoidance sensor; OLED display目录1 绪论1.1 研究背景及意义1.2 国内外研究现状1.2.1 国内研究现状1.2.2 国外研究现状1.3 主要内容2 系统方案设计2.1设计要求2.2 设计方案2.3 主要模块方案选择2.3.1 主控模块方案选择2.3.2 零位校准传感器方案选择2.3.3 工件到位检测传感器方案选择2.3.4 执行电机及驱动方案选择2.3.5 显示模块方案选择2.3.6 声光提示模块方案选择2.3.7 按键模块方案选择3 系统硬件设计3.1 总体硬件框架3.2 主控模块电路设计3.2.1 主控芯片简介3.2.2 单片机最小系统3.3 光电传感器零位校准模块电路设计3.4 红外避障传感器工件检测模块电路设计3.5 步进电机及驱动模块电路设计3.6 独立按键模块电路设计3.7 OLED液晶显示模块电路设计3.8 三色指示灯与蜂鸣器声光提示模块电路设计3.9 电源模块电路设计4 系统程序设计4.1 编程软件介绍4.2 系统主流程设计4.3 零位校准子流程设计4.4 独立按键扫描与模式设置子流程设计4.5 手动运行模式子流程设计4.6 自动运行模式子流程设计4.7 步进电机控制与定位算法子流程设计4.8 OLED显示子流程设计4.9 声光提示控制子流程设计5 实物制作与功能测试5.1 实物制作5.2 零位校准与回零状态显示功能测试5.3 按键设置与模式选择功能测试5.4 手动模式运行与转位功能测试5.5 自动模式与工件到位检测功能测试6 总结6.1 结论6.2 展望参 考 文 献致 谢附录A 原理图附录B PCB附录C 主程序1 绪论1.1 研究背景及意义在当今制造业快速向智能化、柔性化转变的大背景之下工业自动化的主要目的就是提高生产效率、保证产品质量稳定、降低人力成本。自动化生产线、装配流水线、加工中心以及各种专用设备中工件即被加工或者搬运的对象在各个工位之间精确、快速的输送和定位是决定整个系统性能的重要环节之一[1]。无论简单地搬运一个物料还是复杂的多工序协同加工都需要对工件的位置有准确的控制。一个稳定的、可靠的工件位置控制系统可以保证物料准确地到达预定的工位避免由于定位偏差造成的加工失误、设备碰撞甚至生产事故[2]。传统的工件位置控制大多采用机械挡块、行程开关或者完全依靠人工操作的方式。机械限位方式成本低但是存在明显的物理磨损长期使用后定位精度下降不能适应多品种、小批量生产中频繁更换工位的要求[3]。人工操作方式效率低、定位精度无法保证、存在较大的安全隐患已经不能满足现代自动化生产的需要。随着传感器技术、微电子技术、控制理论的不断发展基于单片机的嵌入式控制系统由于具有高性价比、设计灵活、抗干扰能力强等特点在工业控制中得到了广泛的应用[4]。将单片机技术应用到工件位置控制中可以实现对执行机构步进电机、伺服电机等的数字化、智能化控制配合各种非接触式传感器光电传感器、红外传感器等可以构建出响应快、精度高、适应性强的位置控制系统[5]。但是目前市场上的专用工件定位控制器大多功能复杂面向大型工业机器人或者数控机床成本高、操作门槛高对于小型自动化设备、实验教学平台或者DIY创客项目来说并不适用[6]。另外许多系统没有友好的用户交互界面实时状态显示以及直观的声光提示功能使得操作人员很难在第一时间了解系统的运行状态是否回零、当前所处的位置、处于何种模式等在教学演示和调试过程中更加不方便[7]。因此本课题设计出一套基于单片机的工件位置控制系统。该系统以典型的工件转台为被控对象主要解决以下几个问题如何利用传感器保证系统每次启动都有一个绝对准确的零位参考点如何给用户提供灵活、简单的操作方式使其可以自由选择目标工位和运行模式手动/自动如何在手动模式下实现一键转位在自动模式下实现工件到位的自动触发如何通过OLED屏幕、三色指示灯、蜂鸣器等手段给用户提供全面、直观的系统状态反馈[8]。本设计的实现有重要的现实意义和应用价值第一它提供了一套完整的、低成本的、易于实现的工件位置控制方案可以广泛应用于小型自动化改造项目、高校机电一体化实训教学、电子爱好者的DIY制作中第二系统所采用的模块化设计思想、步进电机开环定位算法、传感器融合技术对相关专业学生的学习和实践有很好的参考价值第三本设计注重人机交互的友好性用OLED屏幕和声光提示大大降低了操作者的认知负担提高了系统操作的安全性、便捷性符合现代工业设备对“人机友好”的设计要求。因此本文不但可以解决工件位置控制的实际技术问题也可以给同类嵌入式控制系统的设计提供一些借鉴。1.2 国内外研究现状1.2.1 国内研究现状在国内基于单片机的工业自动化控制技术研究十分活跃针对工件位置控制这一细分领域众多学者和工程技术人员做了大量的富有成效的探索。从研究内容上看国内研究主要是高精度定位算法、多轴联动控制、低成本嵌入式系统、物联网技术集成这四个方面的研究[9]。在国内许多研究采用类似本设计的传感器、单片机、电机的结构。有研究用STM32单片机设计了一种物料分拣系统用光电传感器检测物料颜色用步进电机驱动分拣转盘实现了物料按颜色分类。该研究证明了步进电机在小型转台定位控制中是可行的[12]。定位精度的提高一些研究者使用细分驱动技术利用步进电机驱动器A4988的细分功能把步距角从1.8度细分到更小的步进角度从而大大提高了定位分辨率。另外为了防止步进电机高速运转时出现失步或者堵转的情况部分设计中加入了S形曲线加减速算法使电机的启动、停止过程更加平滑对工件精确定位起着重要的作用[13]。在国内的研究中使用多种传感器组合来实现位置状态感知的传感器应用研究很多。光电传感器、红外传感器由于成本低、响应快、易于与单片机接口被广泛应用于工件到位检测、位置计数[14]。零位校准除了普通的光电开关外对精度要求较高的系统还会使用霍尔传感器配合磁钢或者精度更高的编码器进行闭环反馈。但是考虑到本设计面向的是成本敏感的教学和小型应用场景使用简单的光电开关进行零位校准仍然是一种性价比很高的主流方案[15]。国内的设计越来越重视用户交互。从最早的LED数码管显示、LCD1602字符液晶发展到现在流行的OLED液晶显示屏。因为有高对比度、低功耗、支持中文字库、图形显示等特点所以极大地丰富了人机交互界面[16]。为了提高系统的可操作性独立按键结合菜单式设置界面的设计模式已经成为一种标准的做法[17]。声光提示中三色指示灯红、黄、绿常用来表示设备的不同状态停止、运行、报警蜂鸣器常用来做按键反馈和故障报警[18]。总体上国内对于基于单片机的工件位置控制研究已经比较成熟技术路线清晰模块化程度高为本设计方案的选择提供了丰富的参考。在此基础上又对零位校准、模式选择、手动/自动运行、状态显示等进行了改进从而得到一套完整的、功能齐全、有逻辑的小学机械制图简易教学系统。1.2.2 国外研究现状相比国内国外在工件位置控制及相关的运动控制方面起步更早技术积累也更深厚高端工业应用方面处于领先地位。其研究特点就是高性能硬件平台的应用、先进的控制算法的融合、系统的开放性、标准化等[19]。国外高端定位系统早已不是8/16位单片机而是广泛使用DSP数字信号处理器和ARM Cortex-M系列高性能32位微控制器STM32F4/H7系列[20]。这些芯片具有更强的浮点运算能力以及更多的外设可以运行复杂的闭环控制算法如矢量控制FOC和模型预测控制MPC从而达到伺服电机高精度、高动态响应控制的目的。国外对于步进电机的研究大多集中在开环失步检测和补偿、自适应微步进控制等高级课题上[21]。国外对于传感器融合和定位技术的研究更侧重于多传感器信息的综合处理。除了光电、红外传感器之外机器视觉技术也被广泛地应用到工件位置检测中。通过摄像头获取工件图像使用OpenCV等开源视觉库进行处理可以得到工件的准确位置、姿态甚至识别工件的身份信息这是传统光电传感器所不能比拟的[22]。柔性制造系统FMS中工件的位置控制已经和AGV自动导引车或者传送带系统深度耦合实现了物料的全流程追踪和动态调度。另外编码器反馈已经成为了工业级定位系统的一种标准配置形成了全闭环控制从根本上消除了步进电机失步造成的定位误差[23]。国外的自动化系统大多支持工业以太网协议也就是Profinet、EtherCAT、Modbus TCP/IP等。因此工件位置控制系统可以无缝地集成到更高级别的制造执行系统MES中实现生产数据的实时上传和远程监控。本设计所用的蓝牙或者串口通信方式更适合作为低成本的独立设备或者教学场景使用[25]。虽然国外高端技术发展迅速但是高昂的成本、复杂性高不能满足本设计目标的中低档市场以及教育应用领域。因此在吸收国外系统模块化、人机交互设计先进理念的基础上利用我国低成本嵌入式方案成熟的经验走一条性价比高、功能清晰、操作简便的设计之路才是符合本课题要求并且可行的。1.3 主要内容本文以STC89C52单片机为控制核心设计并实现工件位置控制系统的控制程序。该系统的主要目的就是对工件转台的精确位置进行控制并且提供灵活的操作模式以及丰富的人机交互功能。系统把零位校准、按键输入、模式选择、步进电机驱动、工件到位检测、OLED显示、声光提示等各个功能模块放在一起。本文将从硬件设计、软件设计和系统测试三个方面详细阐述该系统的实现过程其具体功能和设计要点如下零位校准功能系统上电或者接收到复位指令的时候首先驱动步进电机反向旋转直到安装在机械零位处的光电传感器被触发。此过程保证转台或者输送机构有一个唯一的、绝对的机械参考零点。只有完成零位校准之后系统才会允许执行后面的定位操作把“已回零”状态实时显示在OLED屏幕上。这是保证整个系统位置精度的基本条件。目标工位设置及模式选择功能用三个独立的按键功能键/设置键、加键、减/确认键分别来设置目标工位编号1-8号工位。用户还可以通过长按或者在特定菜单项中选择手动模式或者自动模式。手动模式下系统运行由用户主动控制自动模式下系统运行由工件到位信号触发。手动运行模式功能在手动模式下当用户设置好目标工位之后要按下一个启动/确认键。系统接收到启动指令之后会先读取当前工位编号用软件位置变量记录然后计算出从当前工位到目标工位的最短旋转方向顺时针或者逆时针再计算出需要转动的步数最后驱动步进电机带动工件转台转动到目标工位。到位之后电机停止并在屏幕上更新当前工位信息。自动运行模式功能系统处于自动模式的时候用户设定好目标工位之后不需要再按启动键。系统会实时监测安装在工件上料口处的红外避障传感器的输出信号。当红外传感器检测到一个工件到位的时候传感器输出电平发生变化系统就会自动触发一次转位动作执行逻辑和手动模式一样即驱动步进电机将工件从当前工位通常是上料工位输送至用户预设的目标工位。该功能模拟的是生产线上“来料即加工”的自动化场景。OLED实时显示模块是以0.96英寸OLED显示器为载体的。该屏幕会分区域实时显示以下信息第一行显示回零状态ZeroOK / NO第二行显示当前工位CurX第三行显示目标工位TarY第四行显示运行模式ModeManual/Auto。界面设计得好系统状态一览无遗。声光提示功能系统中设红、黄、绿三种颜色的LED指示灯和一个有源蜂鸣器。具体的提示逻辑如下绿色指示灯常亮表示系统已经成功完成回零处于待机状态黄色指示灯在步进电机运行过程中闪烁表示系统正在执行转位动作红色指示灯和蜂鸣器联动当系统出现异常回零超时、步进电机运行超时未到位、传感器故障等时红灯常亮并且蜂鸣器发出报警声提醒用户检查。另外在每次有效的按键被按下时蜂鸣器就会发出一个短促的“嘀”声作为按键的反馈。本设计不增加任何超出以上所述的其他功能所有硬件选型、软件逻辑、测试方案都以这六个核心功能为中心展开保证系统目标的专一性、完成度。2 系统方案设计2.1设计要求本设计提出的工件位置控制系统要达到以下设计要求在功能上系统要具备上电或者复位后的零位校准功能保证有一个统一的机械参考零点提供手动和自动两种运行模式手动模式下用户通过按键设定目标工位并主动触发转位自动模式下通过红外传感器实时检测工件到位信号并自动完成输送和定位配备OLED显示屏实时显示回零状态、当前工位、目标工位和运行模式集成三色指示灯和蜂鸣器在待机、运行、报警和按键响应时给出明确的声光提示。性能指标的精度达到工位级每一个工位对应的步进电机的步数是512重复定位误差在允许的范围内步进电机轻载的时候可以平稳运行不会丢失步序按键响应时间不大于50ms传感器触发转位的时间不大于100ms。操作交互方面三个独立按键的功能明确、防抖动处理、短按和长按都可以OLED界面简洁直观、声光提示区分开来。系统的可靠性和安全要加回零、转位超时的保护措施可以防止传感器失灵、电机倒转等情况的发生发出警报信号硬件电路中还要做好滤波、抗干扰处理以使系统正常运行。从经济性和可扩展性两个方面考虑选择STC89C52、28BYJ-48步进电机、ULN2003驱动芯片等低成本、易得的元器件整体硬件成本可以控制在一定的范围内系统采用模块化的设计方便以后再增加通信接口或者实现闭环控制。2.2设计方案本系统以STC89C52单片机为控制器建立工件位置控制平台。系统整体是由控制中心、输入部分、输出部分和人机界面四大部分组成。各个模块有不同的功能互相配合就可以组成一个参数设定、信号采集、逻辑运算、驱动执行、状态反馈的闭环控制系统。控制核心模块采用的是STC89C52单片机加上最小系统时钟电路、复位电路、电源电路。该单片机为经典的8位微控制器成本低、技术成熟、稳定性好、I/O口资源丰富4个8位并行I/O口等优点可以满足本设计对多个传感器信号读取、步进电机脉冲控制、按键扫描、OLED通信、声光器件控制等的要求。内部集成定时器/计数器、UART串口等可以实现步进电机速度控制定时器产生脉冲以及后面扩展的功能。本模块接收到来所有的输入信号之后就会启动核心控制算法并将输出模块所需要的控制信号发出。输入部分由以下模块组成第一部分为位置和状态监测模块包括一个零位校准的光电传感器和一个工件到位检测的红外避障传感器。光电传感器安装在转台的机械零位处输出开关量信号TTL电平到单片机I/O口红外避障传感器安装在工件上料位置当有工件遮挡时输出电平变化。第二部分为用户指令输入模块用三个独立的按键来实现设置/切换、加/上移、减/下移/确认的功能从而设定目标工位编号和切换运行模式手动/自动。第三部分是电源模块给单片机、传感器、步进电机驱动器、OLED等供电。输出部分是由执行模块也就是步进电机和驱动电路构成的。单片机通过I/O口输出脉冲信号PUL和方向信号DIR给步进电机驱动器ULN2003复合晶体管阵列供电驱动器将控制信号放大后驱动四相步进电机转动带动与之连接的工件转台转动。第二部分为人机交互与显示模块使用一块0.96英寸I2C接口的OLED液晶显示屏实时显示回零状态、当前工位、目标工位、运行模式第三部分为声光报警模块有红色、黄色、绿色三色LED指示灯和一个有源蜂鸣器分别对应不同的状态。系统的整体工作流程就是系统上电之后先对各个模块进行初始化再强制或者等待用户指令进行零位校准。校准完成后系统进入待机状态。用户用按键来设定要到达的工位和运行模式。手动模式下用户还要再按启动键系统才驱动电机转位自动模式下系统会持续监测红外传感器一旦检测到工件就自动触发转位。在过程当中OLED屏幕不停的刷新显示所有状态信息指示灯以及蜂鸣器根据系统的状态待机、运行、报警发出相应的声光提示。系统的总体设计框图如图2-1所示。以上为部分内容节选如您需要获取完整版欢迎随时联系我们