点胶机控制硬件设计_第1页
点胶机控制硬件设计_第2页
点胶机控制硬件设计_第3页
点胶机控制硬件设计_第4页
点胶机控制硬件设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要在信息产业的发展推动下,人们对于生产封装的精密度以及生产效率的要求越来越高,并且从手工化逐渐趋向去机械化,人为的控制机器对物件进行点胶的效率已经满足不了人们日益增长的需求了,而点胶机则有效的提高了点胶的效率和精度。我国的电子产品生产企业现主要是一些临海的中小型企业。点胶机不仅经济性高,并且操作简单,易控制,对人们更为的方便,数控型的点胶机在我国有很大的发展前景。本课题以ARMCorte_M4为核心,设计一三维点胶机控制器,同时采用THB6128作为驱动芯片,设计一三轴步进电机驱动器。系统采用LCD作为人机界面,通过按键设置工作参数,由按钮实现对设备的操作。三轴步进电机控制采用脉冲+方向控制方式。根据用户需求建立配方数据,以适应不同规格产品的生产需求。系统硬件软件设计需充分考虑可靠性和稳定性。本文的研究的方面有以下几个:介绍了各类系统的结构和应用,目前我国综合控制系统的发展,比较各种运动控制的功能,优缺点。设计出合理的整体设计。设计系统的传动方式、执行元件、控制系统硬件。分析点胶机的运动控制。软件编程,设计程序控制梯形图、LED板控制界面。对各个章节进行总结,并分析问题。绪论1.1背景随着科技的发展,电子信息技术越来越高,人们已逐步进入信息时代,无论是家用电器,如电脑、电视、手机,还是军事,航空领域,都离不开电子封装,因此,人们对于电子封装研究愈发深入,对于电子封装的要求,无论是在效率还是精度方面上,都变得越来越高。点胶机的广泛使用,使其发展的更加迅猛。我国是电子产品的生产大国,我国沿海地区的有很多中小型的电子生产企业,这些企业也是我国沿海地区的支柱企业。一直以来,我国的生产劳动力都十分的充裕,人用生产在我国也一直十分的廉价,但是随着电子信息行业的发展,手工进行点胶已经无法满足人们日益增长的需求,随着科技的发展,人们对于点胶的精度以及效率的要求已不是人工点胶能够满足的了。在点胶机方面,海外的技术更为的娴熟,在通常的点胶机,如一些点胶控制器,国内的模仿技术已经很成熟,市场逐鹿格外猛烈,价钱江河日下,以致几百的机器都已经出现。但是国内的点胶机普遍存在精度不高,打胶不够稳定的现象,一些高科技行业,说到选购点胶机,也就只能找世界品牌。我国目前在点胶机行业的状况主要两个方面说明,一方面是,电子信息行业的发展正处于高速发展的阶段,其在轻工业中占比也是越来越大,另一方面,不得承认,我国的电子工业的自动化程度很低,生产效率也是十分的低,工作环境,设备条件都不如国外。所以,在高效率、高精度方面,我国还需要不断的努力。当市场竞争激烈,唯有质量和服务能够让自己脱颖而出。电子产品的加工有很多个环节,包括焊接、贴片、组装、涂胶、打螺丝等等,在这些工序中,涂胶的数量庞大,精密度要求高,人工涂胶不仅花费高,耗时长,更重要的是达不到精密度的要求。为了提高产品涂胶的效率以及品质,自动点胶机的大力发展是十分重要的,自动点胶机点胶速度快,精度高,喷涂的品质高,同时,还能保护人们防止吸入喷胶的有毒物质。自动点胶机通过系统自动控制的方式,将喷胶喷到要喷涂的材料上,并且能够精确到材料的每一个位置,喷胶分布均匀。三维点胶机可以对直线、圆形、椭圆形以及大多数不规则的材料进行喷胶。自动点胶机,一种为电子设备封装而研制的自动涂胶设备,硬件设备为其基础,以控制技术为核心,能够根据不同的用户需求,来为各种形状的设备进行电子封装,而它的效率和质量就取决于运动控制系统。1.2控制系统的内容运动控制指的是将制定的方案或者累计的动作指令,通过控制系统传达到电机,使其带动机械臂进行有目的性的机械运动,通过对位置、路径、速度、加速度、力的强度的精准控制,使机械臂能够非常准确的按照预期的目标进行可控运动,运动控制的定义分析,如下表1-1所示。路径从一个初始位置到一个终点位置,以理想的方式运动动作由相应快慢和动作稳定性来衡量位置有绝对位置和相对位置运动控制系统是多样性的,但它们都包括一个上级控制器,一个执行器电机,一个机械传动机构和一个位置检测部件,这些基本组件构成了基本结构,基本结构图如图1-1所示。位置检测上位控制器位置检测上位控制器驱动器执行电机机械结构1.3控制类型的分类1.3.1按是否形成闭合回路分类控制系统可分为三种类型:开环,闭环和半闭环。区别在于是否有传感器检测反馈及其检测组件。(1)开环控制系统在操作系统及其检测部件中没有检测反馈的传感器是开环控制系统,即是开环控制系统。其优点就是结构简单、易实现,且成本低,使用也更为方便。缺点就是精度低,易受外界因素的干扰。这样的系统更多适用于不需要高精度的小型机器。开环控制系统框图1-2所示。驱动器驱动器执行元件工作台脉冲指令半闭环控制系统半闭环控制系统配备有用于检测开环控制系统伺服机构中的角位移的装置,并间接检测运动部件的位移,确定伺服滚珠丝杠的旋转角度,然后反馈到数控装置的比较器,与输入源指令偏移值进行比较并由比较差值控制,以便运动部件补偿偏移直到差值得到解决。将半闭环中的控制系统与开环中的控制系统进行比较。半闭环控制系统相比较于开环控制系统,它的抗干扰能力更强,使用也更为的广泛,大多数中小型数控机床都在使用此控制方法。半闭环控制系统的控制框图如1-3所示。位置控制单元位置控制单元速度控制单元执行元件工作台速度检测单元位置检测单元脉冲指令闭环控制系统闭环控制系统是一种控制系统。在特定内容下理解:使用某些方法和设备将控制系统的部分或全部输出返回到系统的输入数据,然后将反馈信息与原始输入信息进行比较,并将比较结果应用于控制系统,以防止系统偏离设定目标。反馈控制系统使用负反馈。这是一种自动控制系统,包括正信号路径和用于形成闭环的反馈路径,也称为闭环控制系统。对比开环控制系统,半闭环控制系统,闭环控制系统更加精确,免受干扰,还能改善系统的响应特性。但是,闭环控制系统对检测元件的要求较高,意味着其成本偏高,以经济性而言,其主要适用于精度要求较高的机床。闭环控制系统的控制框图如图1-4所示。位置控制单元速度控制单元位置控制单元速度控制单元执行元件工作台速度检测单元位置检测单元脉冲指令点位运动控制只对运动终点有要求,对于从起点到终点的运动轨迹不做要求的运动控制。这种控制方式要求精度要高,且运动速度也要快,在加速和减速部分的控制可以快速而精确地控制。连续轨迹运动控制该控制也称为轮廓控制,主要用于CNC系统和传统切割系统的运动控制。对于较小的段,有几个预处理程序。同步运动控制控制系统控制多轴彼此同时移动和协调进行控制。1.3.3按给定值信号的特点分类恒值控制系统恒定值控制系统的输入值是恒定的,例如恒定速度,恒定温度,恒定压力和其他自动控制系统。该系统的输出也是恒定的。随动控制系统设定值不断变化的控制系统,设定值的变化事先未知,系统的输出(控制变量)必须用设定值变更。程序控制系统利用已知的时间函数,控制根据确定的给定值的时间值改变输出量。1.3.4按控制系统元件的特性分类线性控制系统按照对系统的输入、输出关系,一个系统可以分为线性系统或非线性系统。如果一个系统的输入、输出满足叠加原理,该系统称为线性系统,否则为非线性系统。叠加原理包括叠加性及齐次性。非线性控制系统一种控制系统,其中状态变量和输出变量不能通过与输入变量的运动特性的线性关系来描述。1.3.5按驱动方式不同分类运动控制系统可根据各种驱动方法分为电气控制,液压控制和气压控制。不同的控制系统各有特色。电气控制是由电气设备控制的二次回路,液压控制是液压,气动控制是气动的。1.4研究方向本次课题主要研究自动点胶机中系统控制技术。本次设计以ARMCorte_M4为核心,设计一三维点胶机控制器,同时采用THB6128作为驱动芯片,设计一三轴步进电机驱动器。系统采用LCD作为人机界面,通过按键设置工作参数,由按钮实现对设备的操作。三轴步进电机控制采用脉冲+方向控制方式。对此,需要对系统的软硬件组成部分进行合适的选型,设计出合理的驱动电路原理图和PCB图,并编程设计控制系统功能程序。第二章点胶机控制硬件设计2.1点胶机系统的基本要求设计分配控制系统的主要任务是根据机械体设计要执行的动作,因此必须首先确定分配点胶机的结构,该项目确定了外壳喷胶生产过程中龙门式直角坐标点胶机的结构,然后根据零件的负荷,行程,选择直线运动单元的模型。每个轴的速度,加速度和作用周期,配备驱动电机,传送带等。根据要求可确定X轴和Y轴的最大行程为300mm,最大载荷为1kg,运行速度为100mm/s,而Z轴的行程为100mm,运行速度为50mm/s,定位精度为0.2mm。胶枪装置固定在Z轴上,随着Z轴电机的转动做垂直上下运动。原料放在传送带上,触发外信号从而控制三轴的电机做出相应的动作,将会按照之前输入的尺寸自动对其进行点胶模拟。结构部件的选择2.1.1传动方式的选择传动装置是将动力源所提供的动力和功率传递到执行机构的装置[6,7]。常用的传动方式主要有丝杠传动、齿轮齿条传动、带传动和链条传动,其传动方式的特点如表2-1所示[8]。表2-1传动机构特性本文设计的点胶机控制系统基于线性三坐标机构,丝杆传动符合点胶机操作的功能要求和指标确定。根据控制器执行的任务,X轴和Y轴选用1605滚珠螺母机构,螺杆主轴直径为16毫米,导程为5毫米。如图2-2(a)所示。Z轴选用了T型滑动丝杠螺母机构,该丝杠直径为8mm,导程为2mm,如图2-2(b)所示。(a)滚珠丝杠螺母机构(b)滑动丝杠螺母机构图2-2丝杠传动副2.1.2驱动方式的选择驱动源是点胶系统中最重要的部分,它向点胶机供电以控制驱动系统。为了确保分配器运动的稳定性,安全性和合理的结构,对驱动源施加了更严格的要求。通过对点胶机所执行的任务进行分析,本文才能确定最佳的驱动方式。点胶机最常见的驱动方式有液压式、电动式和气动式[9]。由于本文设计的点胶控制系统基于线性三坐标机械体结构,因此点胶的轨迹在外壳形状上不同,这意味着设计过程也相当复杂。因此根据可控性、安全性、可靠性以及成本等多种因素,最终确定为电机驱动的步进伺服电机,主要的驱动方式特点如表2-2所示[10]。表2-2驱动方式特性电机驱动根据X、Y和Z轴的负载及运行功率,X轴和Y轴选用了日本SERVO厂家KH56KM型号的57步进电机,Z轴选用了欧邦电器公司57BYGH003型号的步进电机。57步进电机型号如图2-3所示。(a)KH56KM型号(b)57BYGH003型号图2-357步进电机2.1.3导向支承部件的选择导向支承部件除了起到承载作用,还能够按指定的运动规律和规定的运动方向作直线或回转方向[6]。支撑构件主要包括两个部分,引导构件和移动构件,因此通常也称为导轨对,称为导轨。本文设计要求点胶机运行平稳、安全性高、结构合理和运动为直线运动,因此最终确定导轨类型为滚动轴承导轨。滚动轴承导轨是由欧标铝型材、光轴、U槽型滚轮和滑块组成,如图2-4所示。该导轨不但符合了本文设计要求,而且对温度变化不敏感和承载能力较大,缺点是结构工艺性较差、成本较高。图2-4滚动轴承导轨传感器选型传感器是将各种检测到的物理信号转换为电信号的装置[11]。传感器输出可分为数字型、模拟型和开关型,其中开关型也叫作二值型又可分为接触型和非接触型,开关型工作原理如图2-5所示。图2-5开关型传感器的工作原理根据点胶控制系统要求最终确定常开型接近开关传感器,如图2-6所示。该传感器特点如下:1.接近开关传感器供电为5V。2.待机功耗及工作时功耗均小于8-10MA。3.响频快,有高强的输出换算能力,且误差率极低。4.寿命长,体积小,安装方便。5.输出为电平信号,接近开关信号线能直接接单片机的I/O口或者晶体管及TTL.MOS等逻辑电路接口。图2-6NPN常开型接近开关接近开关传感器有三根引线,即电源线的棕色和蓝色线以及信号输出线的黑线。接近开关的引线的定义,棕色线连接到电源的正极,电压为5V,蓝线连接到电源的负极,黑线是信号输出线,该线路可以直接连接到单片机的I/O端口。接近开关处于待机状态时,信号线输出为高电平,即数字1,此时,单片机的I/O端口为数字1.接近开关检测到金属输出低电平时,即数字0,转换信号的变化可以是高电平或低电平,使单片机完成相应的动作,其接线图如2-7所示。图2-7接近开关接线图控制电路核心器件选型主控芯片模块在本文中,控制点胶机的任务要求操作者在主控制芯片上输入工作坐标,然后控制每个轴的发动机的操作。在工作过程中,不仅操作员输入的坐标,而且坐标也记录在存储器中。除此之外还需要有中断功能、定时器产生波特率、掉电后中断可唤醒功能等。根据毕设要求,本次实验选用STM32F4M4作为核心主控芯片,STM32F4M4处理器是由ARM专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。高效的信号处理功能与Cortex-M处理器系列的低能耗、低成本和易于使用的优点的组合。单片机不断分析内部程序并在工作期间执行它们,执行任务必须时钟电路进行驱动才能完成任务。如果没有时钟电路,就无法启动单片机去执行任务。它是单片机的心脏。本文采用的时钟电路如图2-9所示。图2-9时钟电路在操作期间,单片机受外部数据的影响,这会导致内部寄存器中的数据混乱,无法执行正常操作,因此需要复位功能使程序重新开始运行,复位又可分为软件复位和硬件复位,根据本文设计的任务以及工作场合,确定选用硬件复位,其设计的按键电平复位如图2-10所示。单片机接上时钟电路、复位电路、电源的构成了基本的应用系统,即单片机的最小系统。如图2-11所示。图2-10按键复位电路图2-11单片机最小系统存储模块EEPROM当单片机处于工作状态时,人员输入的坐标存储在一个变量中,该变量的数据存储在RAM中,并且在电源关闭后RAM数据不能保留。此时,在重新打开电源后,变量将自动被删除,并且原始任务无法执行。我们必须重新输入零点并重新输入坐标点。这种工作效率大大降低。因此,有必要设计一个硬件电路,以便在单片机关闭后数据不会丢失,从而在电源打开后原始任务继续进行。这种实现方式就是通过写入EEPROM的方式来实现。EEPROM即它是一种通过高电压来进行反复擦写的存储器。具有掉电数据不丢失的特点。比如常用的24C系列,93C系列的器件,这种器件与单片机之间需要采用I2C通信协议才能进行通讯[13]。根据本文控制系统要求性能,选择了AT24C02芯片,如图2-12所示。图2-12AT24C02芯片键盘模块及显示模块当操作点胶机时,必须通过外部矩阵键盘控制点胶机的任务,例如启动,停止和选择任务的运动路径。当然,还需要提供运动状态,坐标,指定参数等的实时显示,所以点胶机控制系统需要键盘模块和显示模块。键盘功能除了要实现0~9数字输入功能还要实现点胶任务中的直线插补功能、圆弧插补功能、快速点定位功能、倒圆角功能等。其键盘硬件连接图如2-13所示。图2-13矩阵键盘连接图在点胶机控制系统运行期间,必须始终知道系统的运行状态和参数的修改,以便于修改参数和选择点,这需要显示模块。根据本文档中定义的控制系统的要求,LCD1602显示器,它能够同时显示,满足了本文设计的使用性能。其模块如图2-14所示。图2-14LCD1602模块通常,LCD1602有16个引脚,每个引脚具有不同的定义。在控制模块时,必须详细了解模块引脚的定义,以便于通过单片机实时显示操作系统的状态和参数。其引脚定义如表2-3所示。表2-3LCD1602引脚定义1VSS9D22VDD10D33V011D44RS12D55RW13D66E14D77D015A8D116KLCD1602的基本操作时序可分为以下四种:1.读状态输入:。输出:D0—D7为状态字。2.读数据输入:。输出:D0—D7为数据。3.写指令输入:。输出:无。4.写数据输入:。输出:无。本章小结点胶机控制硬件在整个控制系统中起着重要作用,为点胶机控制系统的运行提供了硬件基础。还验证了本文档中设计的控制系统的可行性和稳定性。本章主要介绍传动方式,驱动方法,支撑部件、传感器、主控芯片模块、存储模块、键盘模块、显示模块等,并对其进行选型,为下一章控制系统软件设计提供了基础。点胶机控制系统软件设计控制系统软件整体方案设计控制器是点胶机的核心,主要用于控制分配器的三个线性轴之间的协调运动。主要有一个快速点定位控制,两个轴之间的插补运动和三个轴之间的联合运动,因此对此控制的要求很高。此外,该文还必须分配数据输入控制器,以确保点胶机控制器必须具有良好的数据存储和计算能力。系统的输入和输出也起着重要作用,特别是对于传感器检测信号的输入及步进电机的输出,这就要求该控制系统满足快速性以及良好抵抗外界的干扰能力。为了满足这些要求,除了提高硬件的稳定性,还要有更好的控制算法。上一章主要对硬件进行详细的分析及选型,也是为本章对控制软件设计提供了基础。本文设计的点胶任务是操作者通过矩阵键盘输入需要进行点胶模拟的物品的尺寸,输入数据可以显示在LCD1602上。按下分配按钮,点胶机模拟器可以自动建立点胶轨道。其控制系统如图3-1所示。图3-1点胶机控制系统启动时,三坐标点胶机将检查模拟点胶针的当前位置。如果它不为零,它将自动返回零。返回此位置后,操作员将通过矩阵键盘输入点胶程序。将准确地转移到模拟分配针。芯片驱动步进电机旋转。驱动滚珠丝杆驱动,实现对产品点胶,当点胶完成后,传送带会将新的产品送上平台,其点胶模拟工作流程图3-2所示。图3-2点胶模拟流程一旦分配器控制系统从分配轨道获得数据,就必须根据分配轨道控制每个分配器轴分配。自动点胶机主要需要控制系统包括以下元素:1整个点胶控制系统必须实现自动点胶机各轴的运动控制。它主要包括轴之间的插补运动和运动参数的显示,模块的启动和停止。2完整的控制系统必须在整个系统中包含相应的传感器,能够进行自动归原位,同时提高位置的精确度。3.整个控制系统应能通过人机界面进行手动和自动控制的变换。各模块软件设计单片机芯片控制软件设计本课题控制系统是采用STC89C52RC单片机作为主控芯片,根据点胶机控制任务,要对单片机I/O进行分配,从而完成不同的任务,其I/O分配如表3-1所示。表3-1单片机I/O引脚定义I/O定义I/O定义I/O定义P0^0LCD0数据端口P1^0X轴电机控制转动P3^0第一行矩阵键盘P0^1LCD1数据端口P1^1X轴电机转动方向P3^1第二行矩阵键盘P0^2LCD2数据端口P1^2Y轴电机控制转动P3^2第三行矩阵键盘P0^3LCD3数据端口P1^3Y轴电机转动方向P3^3第四行矩阵键盘P0^4LCD4数据端口P1^4Z轴电机控制转动P3^4第一列矩阵键盘P0^5LCD5数据端口P1^5Z轴电机转动方向P3^5第二列矩阵键盘P0^6LCD6数据端口P1^6传送带电机传动P3^6第三列矩阵键盘P0^7LCD7数据端口P1^7传送带电机传动方向P3^7第四列矩阵键盘P2^0LCD使能端口P2^2LCD命令数据端口P2^4Y轴传感器P2^1LCD读写端口P2^3X轴传感器P2^5工业相机触发一旦单片机定义了每个引脚,它还要定义各种标识符,数据类型和数组,并声明要调用的函数。然后,单片机在启动后进入主功能,通过初始化定时器和LCD1602启动液晶显示屏和电机引脚,读取寄存器的数据并转换成相应的字符显示在LCD1602上。然后调用按钮控制功能并启动T1定时器,执行按键扫描,本文中设计的按钮功能有0-9数字输入,更换回车键,快速点定位,方形轨道,圆形轨道,圆角方形轨迹和操作归零。首先通过矩阵键盘输入X,Y,Z和R值,然后选择需要点胶的模式,然后启动定时器T0以产生周期为150微秒的脉冲驱动电机。其工作流程图如3-2所示。本文现在详细介绍了单片机主要功能程序所需执行的任务,首先,设置两个定时器,定时器函数是用来按键扫描的。定时器该函数用于产生驱动电机的脉冲,定时器T1为1毫秒,T0定时器为150微秒,然后设置一些重要的功能,如液晶初始化功能,按键扫描功能、按键驱动函数、externbitI2CWrite(unsignedchardat)I2C总线写操作函数等。定义函数后立即启动T1计时器,并每隔1毫秒更新一次,以确定是否有输入按钮,因此T1中断服务函数函数里必须调用按键函数,以保证每次产生中断都要扫描是否有按键输入。其程序如下:voidInterruptTimer1()interrupt3{ TH1=T0RH;TL1=T0RL; KeyScan();}图3-2单片机工作流程当检测到有按键输入的时候,按照按钮的定义实现指定功能,如0~9数字输入,更换输入键、快速点定位、方形轨道、圆形轨道,带圆角的圆形轨迹和零返回。MCU固件程序通常是无线环路的单流结构,并且这种软件环路难以满足多任务要求,而要想用一个单片机控制多个步进电机,就需要同时输出多路脉冲信号。在本文中,采用了一种生成多步定时器脉冲信号的算法。假设本文要实现走方形轨迹路线,这时需要确认模式1按键,便启动定时器T0,每隔150微妙产生中断,每次中断产出一个脉冲[14]。其程序如下:voidInterruptTimer0()interrupt1{ TH0=0x0FF; TL0=0x76; if(Xflag==0) { xt++; Xzhuan=~Xzhuan; } elseXzhuan=1; if(Yflag==0) { yt++; Yzhuan=~Yzhuan; } elseYzhuan=1; if(Zflag==0) { zt++; Zzhuan=~Zzhuan; } elseZzhuan=1;}本文选用的步进电机步距角为1.8°,而滚珠丝杠导程是5mm,即步进电机转一圈,滚珠丝杠传动距离为5mm。如果驱动器不采用细分,则定时器要产生200个脉冲。若是采用8细分,则就需要产生1600个脉冲步进电机转一圈,本文设计的X轴、Y轴和Z轴的驱动器为16细分。由于单片机的控制性能要求,本文设计的插补精度为1mm,即滚珠丝杠传动1mm需要产生640个脉冲,而T型丝杠传动1mm则需要产生3200个脉冲。在执行轨迹点胶完之后,LCD1602自动显示该点胶针管所处的位置坐标。本文设定X轴的行程和Y轴的行程形成一个平面坐标系,即500×500二维坐标系,精度为1mm。键盘控制软件设计矩阵键盘检测方法和独立键盘检测方法是类似的,主要是判断该键盘是否被按键,如果被摁下其对应的单片机I/O检测到的是低电平,反之则是高电平。根据本文设计的任务,选择了4行4列的矩阵键盘。其检测方法是先把某一行设为低电平,其他行都是高电平,然后依次扫描每列键盘电平的高低,当设为低电平的那行其中一个键被按下时,就会检测到某列的I/O为低电平,这时确定了行数和列数就确定了其中的按键。举个例子,根据本文矩阵键盘连接图可知,P3^0~P3^3代表矩阵键盘4行,P3^4~P3^7代表矩阵键盘4列。假设第3行为低电平,其余行为高电平,当按下第3行第1个键时,单片机I/O的P3^4~P3^7检测到的值为0111,实现数字7功能;若按下第2个键时,单片机检测的值为1011,实现数字8功能;若按下第3个键时,单片机检测的值为1101,实现数字9功能;若按下第4个键时,单片机检测的值为1110,实现执行方形轨迹功能。同样道理,设第1行为低电平,其余行为高电平,然后依次检测每列电平高低,从而实现相应的功能。由于需要循环扫描键盘,因此设定了定时器T1以检测哪个按键按下。只要有一个按键按下,则立马跳出循环扫描函数,实现相应的功能。一般情况下是没有同时按下两个键,如果存在同时按下两个键,则读取数值也有先后顺序,读到的数值是首先按下的第一个键。在设计矩阵键盘程序时,首先要定义4行4列数组即按键编号到标准键盘键码的映射表。实现其相应的功能,其程序如下:unsignedcharcodeKeyjianpan[4][4]={ {'0','1','2','3'},//数字键0、数字键1、数字键2、数字键3 {'4','5','6',0x26},//数字键4、数字键5、数字键6、执行键 {'7','8','9',0x28},//数字键7、数字键8、数字键9、执行方形轨迹 {0x25,0x1B,0x0D,0x27}//执行点定位键、回零键、执行倒圆角方形轨迹键、执行圆形轨迹键};显示模块软件设计在点胶机执行任务中,要求时刻观察该控制系统的运行状态以及参数的变化,以便于参数的修改和工作任务的选择。本文所选择的LCD1602模块是一种慢显示器件,因此当液晶显示模块显示内容时,首先要检测忙标志位的状态,如果处于低电平状态则表示不忙,若处于高电平状态则不能执行指令。然后再输入需要显示指定内容的地址,图3-3是LCD1602显示模块的内部显示地址。图3-3LCD1602内部显示地址本文对LCD1602初始化过程是先延时一段时间,建议延时5ms。然后进行写指令操作,注意在写指令的过程中不需要检测忙信号。在延时一段时间写指令延时一段时间写指令,一共三个过程,在这些过程中均不需要检测忙信号。此后每次写指令、读写操作就需要检测忙信号,首先调用函数完成写指令显示模式设置和显示关闭功能;调用函数完成显示开及光标关闭功能;要完成写指令显示文字不动而光标自动移动功能,需要调用函数;要完成写指令显示清屏功能调用函数。实行完这些操作步骤之后就能显示本文所设计的内容,其流程图如图3-4所示。本文设计的LCD1602显示的内容第一行是X的坐标和Y的没坐标,第二行是Z的坐标以及半径R,每个坐标都显示三位数。图3-4LCD1602初始化过程I2C通信及EEPROM软件设计I2C总线(InterICBus)由PHILIPS公司推出的通信协议,现在是微电子领域内广泛使用的通信协议。该总线通信电路主要是由数据线和时钟线组成的,具有通信效率高、接口线少和控制方式简单的特点[15]。每个并联在总线的器件都有自己唯一的地址,当给该器件发送数据时,首先要发送地址寻找该器件,当该器件收到后进行应答,表示寻找的器件是对的,然后开始发送数据。而本文需要用到EEPROM模块,则需要利用I2C总线通信协议,如图3-5所示。图3-5I2C总线数据传输I2C总线主要工作方式有两种,即主从工作方式和多主工作方式。而本文设计的主要是主从方式,本文设计点胶机控制系统中只有单片机是主器件,EEPROMAT24C02模块是从器件。在单片机进行I2C总线通信时,需要写出几个很重要的函数程序,在模拟的时候只需要调用这些函数即可,例如产生I2C总线写操作函数(其中dat为待写入字节,返回值从机应答位的值)、I2C总线读操作(发送应答信号,返回值读到的字节)、产生总线启动信号函数、产生总线停止信号函数、I2C总线读操作函数(发送非应答信号,返回值读到的字节)等。下面需要详细说一下函数程序,总线产生启动信号前提条件是必须把数据线和时钟线都拉成高电平,然后延时一段时间把数据线拉低,再延时一段时间把时钟线拉低,便产生启动信号。停止信号首先保证时钟线和数据线都是低电平,然后延时一段时间先拉高时钟线,再延时一段时间拉高数据线产生上升沿,便产生了停止信号。写操作是要从高位到低位依次进行一共8位,在写的过程把其中一位输出到数据线上,然后延时一段时间拉高时钟线接着延时一段时间再拉低时钟线完成一个周期,这样一位一位的把8位数据逐渐发送过去,发送完之后便检测从器件的回答,如果检测到的值为1则说明发送成功,如果检测到的值为0则说明发送失败,便重新再发送一次。写操作过程也是相似过程,本文不再讲述。其总线基本流程如图3-6所示。图3-6I2C总线流程在点胶控制系统中由于突然断电,就导致了单片机内部数据丢失,再次上电就不执行原来的任务,从而使点胶未完成的包装盒白白浪费。因此需要有掉电数据保存功能,这样再次上电即可从原来的地方继续执行点胶任务。根据本文设计任务选择了EEPROMAT24C02芯片。EEPROMAT24C02芯片工作流程图如3-7所示。图3-7AT24C02EEPROM存储流程本文采用了页写入方式是按页写模式连续写入字节,首先要在首个地址开始写,每写完一个字节,地址自动加1,然后判断地址是否已经到达边界,因为AT24C02芯片每页是8个字节,若到达页边界时,则跳出循环,结束本次写操作,总线产生停止信号。自动点胶插补算法自动点胶机不但能够提高点胶的品质并且还升高了点胶速率。在点胶机运行时保证尺寸准备的状况下要保证机器平稳运行。因为点胶机点胶对精度要求高,所以要利用数控工业上的插补。插补分为两种,直线插补和圆弧插补[16]。在现在许多东西的包装都是直线和圆弧组成的,然而点胶机就是利用直线和圆弧的轨迹来进行点胶。依据本三月合计完成的点胶机,选择了逐点比较法(基准脉冲插补算法),这能够使点胶机达到所要求的精度。直线插补逐点比较法的原理是这样的。先假定点胶点往X轴前进1mm,则这个点的真实位置与点胶方向中所要求的点通过偏差函数得出它们之间的误差,再通过误差来进行插补,最终慢慢接近插补的轨迹。直线插补的四个步骤为偏差判别、坐标进给、偏差函数的计算和终点判别,在插补中最重要的一步就是偏差函数的计算[17]。本设计论文假设先点胶一个直线线段OA,坐标系以直线段的起点为原点O,由此可以得出直线段的终点坐标,假设点为轨迹其中一个点。如图3-8所示。如果这个Pi点在所假设的直线段上,则方程可表示为:(3-1)(3-2)然后可以决定该点的偏差函数如下:(3-3)如果,认为Pi在直线上;如果,认为Pi在直线上方,假设为;如果,认为Pi在直线下方,假设为。由此可以得出结果,插值原理是从线的起点开始计算。首先必须区分偏差,如果发生偏差时,则顺着X轴的正方向前进一步,然后对偏差重新进行计算;如果结果为时,就顺着Y轴的正向前进一步,然后按着上面步骤重新计算偏差;当在两轴进行的步数终点坐标一样的时候,则插补结束。图3-8第一象限直线插补这整个过程中,要随时计算偏差值,如果按着式(3-3)计算偏差值,就要进行3次计算分为2乘1减,这样会使计算量大大增大,所以本论文对计算进行以下简化。本文假设点胶点正处于点,当时,表示点正好在直线上或者在直线上方,则应沿着X轴的正方向走一步,该点的坐标值就会发生变化,其坐标值为:(3-4)将式(3-4)代入式(3-3)则该点的偏差为:(3-5)当时,表明点刚刚好位于OA直线下半部分,即为处,就应该顺着着Y轴的正方向前进一步,其该点的坐标值为:(3-6)将式(3-6)代入式(3-3)则该点的偏差为:(3-7)由式(3-5)和(3-7)可知,其简化后的偏差函数公式中只进行一次加法或者减法运算,本步的偏差值是由上一步的偏差值和进给后的坐标值进行相加或者相减得到,大大提高了运算速度。需要注意的是点胶的起点便是直线段的起点即原点,即偏差。这种方法的最终就是终点判别[18]。以下要三种人们经常使用的判别方式:1.首先需要两个计数器分别代表和。在程序启动前,需要把终点的坐标值分别赋予和,当每一次进行插补计算时,相对应的或计数器都要减去1,来代表进行一次。当最后计数器得到的结果和直线的起点坐标相等时,整个直线插补过程结束。如果开始的坐标为0,则最后计算器的结果都为0时计算结束。2.只用到一个计算器,用终坐标减去起始坐标然后得到的X值和Y值相加存储到该计数器中即。每进行一次坐标进给,则计数器就减1,直到减为零,点胶结束。3.只用到一个计算器,将有大量前进步数的坐标值反馈给计算器,使对应的坐标前进一步,计数器就-1。最后为零,插补则结束。为了程序和运算的方便性,选择了第二种方法。本论文的设计是先判断点胶针管点胶轨迹的偏差值,依据偏差值控制相对应坐标轴的电机,发出脉冲使电机前进一步,这样子使针管接近轨迹。当前进完之后,相对应的坐标点就发生了,这时候就需要偏差函数重新进行计算,最后判别终点是否符合,若是和终点符合,就说明插值完成,否则就得重新做一次以上过程,他的插补过程如图3-9所示。图3-9逐点比较法直线插补流程现在本文需要在第一象限内需要插补直线OB,终点坐标B(5,3),则直线插补算法过程如表3-2所示,其插补轨迹图如图3-10所示。表3-2直线插补过程012345678图3-10直线插补轨迹由上图可知,是对第一象限进行的直线插补,而其他象限插补过程原理与第一象限是相似的[19]。因此根据插补原理推导出其他象限插补流程,如图3-11和表3-3所示。图3-11偏差符号与进给方向的关系表3-3不同象限的偏差函数计算及进给方向一、四一、二二、三三、四本文设计的不同象限的插补流程图如3-12所示。图3-12各象限直线插补流程依据表3-3的设计在在四个象限内进行插补,第一要进行的是象限函数的判定,判定终点的坐标位于哪个象限,接着去坐标轴的坐标绝对值进行相加,将计算得到的是附加给标志点Nxy,然后根据坐标判断函数位于第一或者第四象限,若是符合则向着X轴往前前进一步,若是不符合则往后后退一步。当Flag_1小于零时,依据象限判断函数的标志位是否为第一象限或者第二象限,如果是就往Y轴正方向前进一步,如果不是则反方向后退一步。昨晚以后操作之后,接着重新进行偏差计算得到新的值,而终点判定标记Nxy要—1,并判断该标记位是否等于零,若是为零结束插补,如果不为0则重复以上过程。圆弧插补对于圆弧插补本文假设点胶轨迹是逆圆弧,如图3-13所示,设点胶点为,该点距离圆弧的圆心坐标距离为,因此可以通过比较圆弧半径和距离的大小来判断点胶的误差。通过图3-13逆圆弧可知:(3-8)因此可定义偏差函数公式为:(3-9)通过偏差判别式(3-9)可知,若,则点胶点位于理想点胶轨迹圆弧即点;若,则点胶点位于圆弧之外即点;若,则点胶点位于圆弧之内即点。图3-13第一象限逆圆圆弧插补由此可得出在第一象限内圆弧插补的原理是从圆弧的起点开始出发,首先要进行偏差判别,若偏差时,则沿着X轴的负方向进给一步,之后进行下一步的偏差计算;若偏差时,则沿着Y轴的正方向进给一步,之后进行下一步的偏差计算;如此逐渐逼近圆弧,当到达圆弧终点时,则插补结束。由式(3-9)可知,要进行平方加减计算,因此需要对该式进行简化。本文假设点胶点正处于点,当时,表示点正好在圆弧上或者在圆弧外侧,则应沿着X轴的负方向走一步,其坐标值为:(3-10)将式(3-10)代入式(3-9)则该点的偏差为:(3-11)若点胶点正处于点,当时,表示点正好在圆弧下方,即为处,则应沿着Y轴的正方向走一步,其该点的坐标值为:(3-12)将式(3-12)代入式(3-9)则该点的偏差为:(3-13)由式(3-11)和(3-13)可知,其简化后的偏差函数公式中只进行一次加法或者减法运算,只要知道上一步的偏差大小和坐标值便可求出这步新的偏差值。需要注意的是该圆弧插补是逆圆插补,而点胶起点的偏差值为。本文设计的圆弧插补流程图如图3-14所示。图3-14逐点比较法圆弧插补流程由式(3-11)和式(3-12)可知,圆弧插补的偏差计算只需要知道上一步的偏差值和本步的坐标值,即可求出新的偏差值,这就意味着每进行一次插补,都要进行坐标计算,而直线插补在计算偏差值只需要上一步的偏差值和终点坐标值即可,因此圆弧插补的过程要比直线插补多一个环节。现在本文需要详细介绍在第一象限内逆圆插补圆弧的过程,起点坐标E(4,0),终点坐标F(0,4),则圆弧插补算法过程如表3-4所示,其插补轨迹图如图3-15所示。表3-4圆弧插补过程12345678图3-15逆圆圆弧插补轨迹本文前面主要介绍了第一象限内逆圆圆弧插补的过程,圆弧插补除了有逆圆圆弧插补,还有顺圆圆弧插补[20]。在实际插补过程中这两种插补情况会同时存在,因此下面介绍一下在第一象限内的顺圆圆弧插补流程。本文假设在第一象限内有个顺圆圆弧,该圆弧的起点坐标为,终点坐标为,而且起点坐标和终点坐标都是已知的,该圆弧的圆心位于平面坐标系的原点,如图3-16所示。假设点处于点,当时,表示点在圆弧上或者在圆弧外侧,则应沿着Y轴的负方向走一步,则该点的坐标值和新的偏差为:(3-14)若点胶点正处于点,当时,表示点正好在圆弧下方,即为处,则应沿着X轴的正方向走一步,其该点的坐标值和偏差为:(3-13)图3-16第一象限顺圆圆弧插补本文通过第一象限的圆弧插补流程,可推算出其他象限的圆弧插补,如图3-17所示。图3-17四个象限的圆弧插补由上图可知和分别表示圆弧插补的顺圆圆弧和逆圆圆弧,而则分别表示各象限的顺圆圆弧和逆圆圆弧。和是关于X轴对称,和是关于Y轴对称。因此四个象限圆弧插补计算如表3-5所示。表3-5不同象限圆弧插补过程根据表3-5设计圆弧插补程序,本文详细介绍顺圆插补程序流程。当单片机开机运行时,首先将起点坐标值分别存储两个变量和中,将终点坐标X值和起点坐标X值差的绝对值加上终点坐标Y值和起点坐标Y值差的绝对值后赋值于终点判别变量。接着利用偏差函数判别式得出结果是否大于等于零,若是在进行象限判断,判断是在第几个象限。若是在第一象限则调用沿着Y轴负方向进给一步的函数程序,然后利用偏差判别公式进行偏差计算,将得到的结果重新赋值给,而变量要减1;若是在第二象限则调用沿着X轴正方向进给一步的函数程序,然后利用偏差判别公式进行偏差计算,将得到的结果重新赋值给,而变量要减1;若是在第三象限则调用沿着Y轴正方向进给一步的函数程序,然后利用偏差判别公式进行偏差计算,将得到的结果重新赋值给,而变量要减1;若是在第四象限则调用沿着X轴负方向进给一步的函数程序,然后利用偏差判别公式进行偏差计算,将得到的结果重新赋值给,而变量要减1。如果是小于零,则还是进行象限判断,若是在第一象限则调用沿着X轴正方向进给一步的函数程序,然后利用偏差判别公式进行偏差计算,将得到的结果重新赋值给,而变量要加1;若是在第二象限则调用沿着Y轴正方向进给一步的函数程序,然后利用偏差判别公式进行偏差计算,将得到的结果重新赋值给,而变量要加1;若是在第三象限则调用沿着X轴负方向进给一步的函数程序,然后进行偏差计算,将得到的结果重新赋值给,而变量要加1;若是在第四象限则调用沿着Y轴负方向进给一步的函数程序,然后利用偏差判别公式进行偏差计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论