1 雕刻机控制系统的硬件原理框图
在Silicon Labs推出的8位嵌入式SoC单片机中,混合信号单片机C8051F120的速度最高,可达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等,是真正独立的系统级芯片解决方案。
C8051F系列单片机集成度高,且具有交叉开关功能,其大部分对外引出脚,除Uart接口的两个信号Tx和Rx外,均可在设计电路板时,根据布板随意连接,图1所示为基于C8051F120单片机的雕刻机数控系统硬件框图。
如图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=|xe-x0|+|ye-y0| (1)
Fx=F-|y|,当x≥0,走x后 (2)
Fy=F+|x|,当y<0,走y后 (3)
其中,N代表总步数;F表示判断式;x,y表示坐标。
通常情况下,在雕刻图形的设计和生成阶段,首先要预置雕刻的精度参数,所以y轴的进给量一般较小,且每步固定,雕刻的精度要求越高,则y轴的进给量则越小,这也使得雕刻文件的行数大幅增加。z轴的最大行程,一般略大于被加工材料的厚度。在3个坐标中,x轴的运动量最大,其行程由被加工材料的幅宽决定。所以在进行空间直线插补时,是假定了该空间的x轴进给的步数最大。即要在以长轴为基础建立的两个平面坐标系内进行差补运算,才能插补出正确的空间直线轨迹。因此,每读出一行雕刻加工的坐标数据,均要先行判断,找出步数最长的轴,再以其为关联轴来构建两个插补平面,这样才可将对空间直线的三维差补计算,转换成对二维平面的差补,其程序流程如图2所示。在通常情况下,木工雕刻机一般为2.5D,以x、z轴的两维插补为主,即当y轴进给时,x、z轴停止;而当x、z联动时,y轴停止。
3 雕刻机数控系统软件设计3
数控系统软件采用结构化、模块化的程序设计方法,由主程序、中断服务程序和功能子程序组成。主程序结构简单,主要完成对单片机系统及雕刻机各驱动轴的初始化,对键盘扫描并跳转到相应的功能模块中。中断服务程序主要包括步进电机变频驱动程序等。功能子程序主要包括LCD显示模块、参数设置模块、U盘文件读取模块、文本转换模块、步进电机走步程序、插补运算程序、对刀程序、复位程序以及故障诊断程序等。
LCD显示模块主要包括:LCD初始化、调色板设置、字符间距设置、前景画图、背景画图、字符显示、区域填色和清除、背光控制、波特率设置等程序。
U盘读取模块完成对U盘的读写,主要包括U盘检测、创建文件和目录、打开文件、读文件、删除文件和目录、列举目录下的文件名等程序。
步进电机走步程序采用T0中断,在中断中发送步进电机进给脉冲,调用插补运算程序,并根据启停变频的需要来改变T0时间常数等。插补运算程序作为子程序,被T0中断程序调用。
文本转换程序的作用是将U盘上的nc文件,转换成二进制数据。浮雕软件生成的雕刻文档,是标准的以ASIIC码格式保存的数控加工文件,实际上就是一行行的坐标数据,只有将其经过命令行识别,坐标行识别,结尾、换行和文件头尾的识别,转换成二进制数据,并按照一定的数据结构,存放在单片机的片外RAM中,才可为单片机所用。
特殊功能模块包括对刀程序和内置木工机械加工程序,对刀程序用来检测被雕刻材料的厚度。其他工机械功能有纵向锯断、横向锯断、边缘刨平、端面刨平、平面斜铣、端面斜铣和刨槽等。这些内置功能大幅简化了机器的操作,扩展了机器的使用范围。
4 结束语
基于嵌入式SoC单片机C8051F120的雕刻机数控系统,充分发挥了单片机的高集成度和高速度特性,使得控制系统的结构简化、成本降低。经用户测试,雕刻精度为0.01 mm,达到了设计要求。该系统稳定可靠,是一种低价、高效、简便的雕刻机数控系统解决方案,通过本方案的研究,为中小用户提供了台式低价的雕刻机,从而拓宽了现有雕刻机的用户群。