嵌入式SoC单片机在雕刻机数控系统中的应用
2014-12-18王锁弘
王锁弘
(山东贝特智联表计有限公司技术部,山东威海 264209)
随着计算机技术的发展,雕刻机完成了从2D、2.5D到3D的加工变革,功能趋于完善、性能更加稳定,从而在制造业、建材业和广告业等领域得到了广泛应用。与此同时,随着市场竞争的加剧,国产普通雕刻机的价格也降低至万元以下,使得雕刻机生产厂不得不在降低生产成本、尤其是降低控制系统成本方面寻找出路。以木工雕刻机为例,在目前国内市场上,木工雕刻机数控系统通常采用两种方案:一种是基于PC机的方案;另一种是基于DSP运动控制器的方案。
基于PC机方案的雕刻机是由计算机、控制卡、电机驱动器和机械主体等4部分组成,由PC机负责人机交互界面的管理和控制系统的实时监控,计算机安装有诸如MACH3等的专用雕刻软件,利用专业软件进行图样设计,并经由计算机PCI总线接口,将设计与排版的信息传送至雕刻机控制卡中,再由控制卡将这些信息转换为能驱动步进电机或伺服电机的脉冲信号,控制x、y、z 3个坐标轴的走刀定位。此方案采用通用雕铣软件,利用PC机现有资源,雕刻机主要由电脑控制,是一种高效的CNC雕刻机系统方案。
基于DSP方案的雕刻机数控系统,其主要特点是采用DSP和单片机构成控制器,DSP完成对各坐标的运动控制,单片机管理人机界面,被称为手柄控制的雕刻机。图样设计生成的标准nc文件事先准备好,并保存在U盘上,通过USB等串行接口输入给数控系统,这是一种低价高效的雕刻机数控系统方案。常用的专用DSP芯片有4轴运动控制芯片 MCX314As和PCL6045B等,这些DSP具有强大的硬件插补功能,使得在室外工作的雕刻机操作更便捷,一般木工雕刻机和石材雕刻机均采用该控制系统。
不同的应用领域,所要求的雕刻机的性能亦不相同,本文提出的雕刻机数控系统方案,直接利用SoC单片机来构成控制器,是一种采用单片机软件来完成插补运算的解决方案。
1 雕刻机控制系统的硬件原理框图
在Silicon Labs推出的8位嵌入式SoC单片机中,混合信号单片机 C8051F120的速度最高[1],可达98 MI·s-1。为保证程序的全速运行,加快运算速度,C8051F120单片机除具有转移地址高速缓存和指令预取引擎外,还需具有乘法和累加引擎MAC0,其能使单片机在两个系统时钟周期内,即可完成整数或小数的乘法和累加。该单片机具有高达128 kB的片上Flash存储器,8 kB片上外部 RAM,可扩展 64 kB片外RAM,在线编程,并提供非易失性数据存储,允许固件现场升级。有64个I/O口,5个16位定时器,6路16位可编程计数阵列PCA,增强型的硬件串行接口SPI,SMBus和两个UART等,是真正独立的系统级芯片解决方案[2-5]。
C8051F系列单片机集成度高,且具有交叉开关功能,其大部分对外引出脚,除Uart接口的两个信号Tx和 Rx外,均可在设计电路板时[6-8],根据布板随意连接,图1所示为基于C8051F120单片机的雕刻机数控系统硬件框图。
图1 雕刻机数控系统硬件原理框图
如图1所示,高速单片机C8051F120是整个数控系统的中心,人机界面由4X4矩阵式按键电路和彩色LCD显示模块组成。用户通过按键电路设置的加工参数,保存在单片机内部的非易失性Flash区。LCD显示器选用点阵式彩色智能模块,具有256种颜色,颜色格式为RGB332,并采用通用串行UART接口连到单片机,操作指令简单,且节省了单片机的接口线。
用户通过浮雕软件设计的雕刻图案,最终会在PC机上生成一个后缀为.nc的文本文件并存入U盘中,U盘接口模块的作用,便是通过SPI接口连接到单片机,由单片机将加工文件读出后进行加工。带后背锂电池的RAM型号为DS1245W,容量为128 kB,其连接到单片机的扩展并行接口,成为单片机的片外RAM,既是对读入的加工文件的有效缓存,也能在系统发生停电等故障时,保存和记忆当前的加工进程,以便系统恢复供电或排障后,能继续按照前面的断点完成加工。由于单片机的片外RAM地址只有16位,寻址空间最大为64 kB,需要用单片机的输出引脚来对其进行页切换,将SRAM的128 kB存储空间分成两页。
x、y、z轴的3个传感器,均采用由槽形光耦组成的限位电路,其特点是限位精度高,易于与单片机接口。对刀传感器采用微动开关,其作用是检测被雕刻材料的厚度。步进电机驱动器采用两相电流细分式驱动器,细分系数和输出电流,均可根据滚珠丝杠的负载大小情况来设定,驱动器和单片机之间有光电隔离电路,接口信号为方向信号Dir、走步脉冲信号Pul和有效选择信号En。
2 空间直线的逐点比较插补算法
逐点比较法是国内数控机床中广泛采用的一种插补方法,其能实现直线、圆弧和非圆二次曲线的插补,插补精度较高。逐点比较法即每走一步,均要将加工点的瞬时坐标同规定的图形轨迹相比较,判断其偏差,然后决定下一步的走向,若加工点走到图形外,则下一步就要向图形内走。若加工点在图形内,则下一步要向图形外走。这样就能得出一个接近规定图形的轨迹,其最大偏差不超过一个脉冲当量。在逐点比较法中,每进给一步,均需要进行偏差判别、坐标进给、新偏差计算和终点比较4个步骤。对于一条二维平面直线,无论处于哪个象限,对其进行逐点比较法直线插补时,由以下3式计算
其中,N代表总步数;F表示判断式;x,y表示坐标。
通常情况下,在雕刻图形的设计和生成阶段,首先要预置雕刻的精度参数,所以y轴的进给量一般较小,且每步固定,雕刻的精度要求越高,则y轴的进给量则越小,这也使得雕刻文件的行数大幅增加。z轴的最大行程,一般略大于被加工材料的厚度。在3个坐标中,x轴的运动量最大,其行程由被加工材料的幅宽决定。所以在进行空间直线插补时,是假定了该空间的x轴进给的步数最大。即要在以长轴为基础建立的两个平面坐标系内进行差补运算,才能插补出正确的空间直线轨迹。因此,每读出一行雕刻加工的坐标数据,均要先行判断,找出步数最长的轴,再以其为关联轴来构建两个插补平面,这样才可将对空间直线的三维差补计算,转换成对二维平面的差补,其程序流程如图2所示。在通常情况下,木工雕刻机一般为2.5D,以x、z轴的两维插补为主,即当y轴进给时,x、z轴停止;而当x、z联动时,y轴停止。
图2 逐次比较法直线插补的程序框图
3 雕刻机数控系统软件设计
数控系统软件采用结构化、模块化的程序设计方法,由主程序、中断服务程序和功能子程序组成。主程序结构简单,主要完成对单片机系统及雕刻机各驱动轴的初始化,对键盘扫描并跳转到相应的功能模块中。中断服务程序主要包括步进电机变频驱动程序等。功能子程序主要包括LCD显示模块、参数设置模块、U盘文件读取模块、文本转换模块、步进电机走步程序、插补运算程序、对刀程序、复位程序以及故障诊断程序等。
LCD显示模块主要包括:LCD初始化、调色板设置、字符间距设置、前景画图、背景画图、字符显示、区域填色和清除、背光控制、波特率设置等程序。
U盘读取模块完成对U盘的读写,主要包括U盘检测、创建文件和目录、打开文件、读文件、删除文件和目录、列举目录下的文件名等程序。
步进电机走步程序采用T0中断,在中断中发送步进电机进给脉冲,调用插补运算程序,并根据启停变频的需要来改变T0时间常数等。插补运算程序作为子程序,被T0中断程序调用。
文本转换程序的作用是将U盘上的nc文件,转换成二进制数据。浮雕软件生成的雕刻文档,是标准的以ASIIC码格式保存的数控加工文件,实际上就是一行行的坐标数据,只有将其经过命令行识别,坐标行识别,结尾、换行和文件头尾的识别,转换成二进制数据,并按照一定的数据结构,存放在单片机的片外RAM中,才可为单片机所用。
特殊功能模块包括对刀程序和内置木工机械加工程序,对刀程序用来检测被雕刻材料的厚度。其他工机械功能有纵向锯断、横向锯断、边缘刨平、端面刨平、平面斜铣、端面斜铣和刨槽等。这些内置功能大幅简化了机器的操作,扩展了机器的使用范围。
4 结束语
基于嵌入式SoC单片机C8051F120的雕刻机数控系统,充分发挥了单片机的高集成度和高速度特性,使得控制系统的结构简化、成本降低。经用户测试,雕刻精度为0.01 mm,达到了设计要求。该系统稳定可靠,是一种低价、高效、简便的雕刻机数控系统解决方案,通过本方案的研究,为中小用户提供了台式低价的雕刻机,从而拓宽了现有雕刻机的用户群。
[1]SILABS.C8051F120 data sheet[Z].USA:SILABS,2006.
[2]包海涛.嵌入式SoC系统开发与工程实例[M].北京:航空航天大学出版社,2009.
[3]周航慈.单片机应用程序设计技术[M].北京:北京航空航天大学出版社,2011.
[4]徐涛,梁利平,汪东升.嵌入式SoC系统设计[J].计算机工程与设计,2006,27(11):2005 -2007.
[5]李卫国.基于SoC技术的随动控制计算机系统设计[J].微电子学与计算机,2004,21(4):16 -18,24.
[6]邓燕妮,章烈剽.基于单片机的步进电机细分技术研究[J].电子科技,2007(5):26 -29.
[7]刘帅,祖静,张红艳.基于单片机的步进电机控制系统设计[J].电子设计工程,2010,18(4):38 -40.
[8]刘青立,陈新建.编制单片机应用程序的步骤和难点[J].电子元器件应用,2002(12):41-42.