基于μCOS嵌入式系统控制的激光打标机设计

2017-06-20 00:29韩竺秦陈少煌陈伟锋黄爽周展鑫
软件导刊 2017年4期
关键词:计算机控制技术嵌入式

韩竺秦+陈少煌+陈伟锋+黄爽+周展鑫+蔡佳玲

摘要:随着激光技术和计算机控制技术的不断发展,激光打标机凭其无接触、无切割力、速度快等优点逐渐代替传统的打标技术,得到广泛应用,能满足用户对产品精度及美观的需求。设计利用PC上位机解读图像,通过串口与下位机Cortex-M4 K60通讯,控制XY轴的步进电机以及LD-E405G68激光头的运动轨迹进行打标。综合了激光技术、嵌入式和计算机控制技术,激光打标能在多种物体表面上,刻出字符、图案,精度可以在微米量级内调整。该系统可以实现实时、高精度的激光标记。

关键词:激光打标机; K60;计算机控制技术;嵌入式

中图分类号:TP319

文献标识码:A

文章编号:16727800(2017)004012403

0引言

随着科学技术和激光加工技术的发展,激光加工技术已经在人们生活中得到广泛应用。我国激光技术起步晚,传统的喷码技术是标识技术的一种,相比机械压痕、印刷、化学腐蚀等标识技术,喷码技术具有不接触产品,表示内容丰富,可以和计算机技术结合进行复杂内容喷印等优点[2]。喷码技术已被广泛应用于日化产品、食品、建材产品、电子产品等行业。在国内外,喷码技术应用一直保持着较高增长率,并且具有非常好的发展前景。随着喷码技术的改进与新的喷码技术不断出现,喷码机的种类在不断增加,性能也在逐渐提高。按照所用耗材的不同,喷码机可分为油墨喷码机和非油墨喷码机,即激光打标机[1]。

1控制系统设计

1.1工作原理

通过JAVA上位机解码BMP图像,获取对应点的坐标以及其灰度值等信息并发送给单片机,X轴步进电机带动激光头运动,X轴每走一步对每个点进行灼烧打标,直到行打标完毕X轴步进电机带动激光头返回行原点,然后Y轴前进一步;循环下去一直到图像数据结束。

1.2系统框图设计

通过对现有激光打标机开发的调研,针对本项目嵌入式控制系统特点,所设计的控制系统应具备如下条件:(1)人机界面交互。利用Java开发的上位机,实现数据解码,控制打标的各种功能。(2)高精度步进电机及XY两轴运动支架。提供XY两轴机械运动基础。(3)上、下位机通讯。利用串口通讯,实现数据传输。(4)处理器频率达到100M以上,Flash存储512K以上,用作图片数据缓存。基于以上条件,设计出以XY两轴运动的扫描式激光打标控制系统工作原理,如图1所示。

2硬件系统设计

系统硬件选择主要包括处理器及外围扩展接口。硬件平台包括控制芯片、电路元件、步进电机、激光头等。激光头选型在本设计中尤其重要,选择合适的硬件可以简化电路从而简化电路原理图,并且在实行控制方面能简化程序,特别是复杂的步进电机控制时序。

2.1控制芯片

飞思卡尔Cortex-M4 K60是一款32位ARM芯片,512KB的Program flash,128KB的SRAM适合打标图票数据缓存,100M稳定高速运行频率,适合嵌入式系统稳定运行。内置多个串口接口,适合应用多种上下位机数据传输与调试。Cortex-M4 K60结合IAR开发环境,实现方便、快速开发。综合需求,选择MK60DN512ZVLQ10芯片。

2.2步进电机驱动模块

A4988是一款带转换器和过流保护的 DMOS 微步驱动器,该产品可在全、半、1/4、1/8 及 1/16 步进模式时操作双极步进电动机,输出驱动性能可达35V±2,A4988 包括一个固定关断时间电流稳压器,该稳压器可在慢或混合衰减模式下工作。 转换器是 A4988 易于实施的关键。只要在“步进”输入中输入一个脉冲,即可驱动电动机产生微步。无需进行相位顺序表、高频率控制行或复杂的界面编程。A4988 界面非常适合复杂的微处理器不可用或过载的应用。

2.3激光头驱动: L298N

L298N是ST公司生产的一种高电压、大电流电机驱动芯片。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A。本设计采用L298N模块,该模块除了驱动能力之外,本身集成了5V稳压功能。在设计中,只要以12V电源输入,在驱动激光头的同时以稳压5V电压给控制电路供电。

2.4硬件电路设计

本设计的硬件部分可以分为4个模块:控制器、驱动、步进电机、激光头。 控制器K60芯片只要提供供电路便能完成工作。本文只介绍A4988步进电机驱动电路,如图2所示。 根据A4988步进电机驱动模块说明书,MS1、MS2 、MS3组合控制步进电机步距角。MS2、MS3接低电平,MS1接开关。当MS1清位,MS1 、MS2、MS3为000,步距角为1.8°;当MS1置位,MS1 、MS2、MS3为100,步距角为0.9°。两种步距脚的精度利用开关选择,满足设计精度要求。

3软件系统设计

通过上位机对BMP图片解码,提取图片信息;下位机接收指令、图片信息完成打标[3]。

3.1JAVA上位機系统

本设计采用Netbean开发环境开发JAVA上位机,主要功能为:读取BMP图片、与下位机Cortex-M4 K60进行通讯,传输图像数据以及设定参数。软件界面如图3所示。

3.2BMP图像数据结构

读取BMP图像的数据,必须对BMP图像的数据结构进行解读利用。 BMP文件由文件头、位图信息头、颜色信息和图形数据4部分组成。以下举例BMP文件头的数据结构,BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息,其结构定义如下: typedef struct tagBITMAPFILEHEADER {WORDbf Type; // 位图文件的类型,必须为BMP(0~1字节) DWORD bfSize; // 位图文件的大小,以字节为单位(2~5字节) WORD bfReserved1; // 位图文件保留字,必须为0(6~7字节) WORD bfReserved2; // 位图文件保留字,必须为0(8~9字节) DWORD bfOffBits; // 位图数据的起始位置,以相对于位图(10~13字节) } BITMAPFILEHEADER; 本设计主要提取BMP图像的宽度、文件头的偏移量数据,其它复杂的数据信息可以不作处理,程序上,利用数组保存宽度、偏移量数据[34]。int x1=data[18].x2=data[19],d1=data[10],d2=data[11] 从偏移量所在的地址开始逐行读取图片数据,有了BMP图像数据后将数据发送给下位机。

3.3下位机

Cortex-M4 K60为32位处理器,本设计采用MK60DN512ZVLQ10,标准频率可达100M,512K flash,128K RAM。该处理器自带4个串口,用来传输数据的同时也方便查看数据[5];引脚丰富,满足控制需求;在大内存条件下,能定义一個10 240长度的数组来存储图像数据,满足一般图像宽度长度。

3.3.1数据接收 对应上位机的数据传输格式,下位机根据通信协议进行对应的数据接收。如图4所示。

3.3.2创建任务 本设计利用μCOS嵌入式系统,有效地管理M4 K60的内存分配、任务调度、管理中断,使上下位机通讯稳定,图片数据保存准确。 μCOS嵌入式系统的应用在于调用系统的库函数,最简单的应用可以是调用任务创建函数创建一个任务,在任务内编写所需程序,如图5所示。

调用OSTaskCreateExt函数,把各个程序部分创建为各个任务,在任务中运行各部分程序,再利用其它函数来协调配合[6]。

3.3.3打标 当上位机提取到图像的宽度后,X轴步进电机打标一行的步数就确定下来,X轴步进电机带动激光头进行行运动,X轴每走一步激光头对每个点进行灼烧打标,这里灼烧的时间,与BMP图上的像素点对应的灰度值成正比。简单来说,点越黑,烧得越久,直到行打标完毕,X轴步进电机带动激光头返回行原点,然后Y轴前进一步;循环下去一直到图像数据结束,该部分程序由以下方式实现,如图6所示。

4结语

本文提出了基于 STM32 的激光打标机控制器设计方案。通过分析激光打标机功能需求,选择CortexM4 K60 作为主控芯片,对于光路控制,选取高精度、抗干扰能力强的系统,而激光器则选择高稳定性的脉冲光纤激光器。根据系统方案,完成了激光打标机控制器的硬件电路设计,主要包括最小系统及其外围电路设计、系统接口电路设计、激光器接口电路设计等。所使用的校正方法是在已有研究的基础上,直接对理论打标点坐标值进行二次多项式拟合,从而得到新的打标值,而不需要对中间量偏转角进行几次转换,降低了计算复杂度。

参考文献:[1]闫伟强.基于ARM+FPGA的激光打标机控制器的设计[D].南京:南京理工大学,2014.

[2]朱萍.激光加工技术发展现状及展望[J].安徽科技,2013(1):5152.

[3]唐海缤.激光打标机的标刻质量及评判标准的研究[D].成都:电子科技大学,2012.

[4]宋志明.基于嵌入式系统的激光打标控制软件设计[D].南京.南京理工大学,2010.

[5]周洪莹.激光标记二维条码在皮革上的应用研究[D].济南:山东大学,2012.

[6]杨杰.激光打标机控制系统的研究[D].武汉:武汉纺织大学,2014.

(责任编辑:陈福时)

猜你喜欢
计算机控制技术嵌入式
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式系统通信技术的应用
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
计算机控制技术在自动化生产线上的应用研究
工业自动化控制中计算机控制技术的应用路径研究
计算机控制技术课程改革的研究与实践
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器