高速高精度五轴口腔修复体加工设备数控硬件平台研制

2011-07-07 08:49翟庆一曹宇男叶佩青
制造业自动化 2011年23期
关键词:控制卡数控系统中断

翟庆一,曹宇男,叶佩青

(1.山东职业学院 电气工程系,济南 250104;2.清华大学 精密仪器与机械学系,北京 100084)

0 引言

以“三维数字化技术”为特征的口腔用CAD/CAM系统,较传统的口腔诊疗模式科技含量高、精度高、效率高、诊疗周期短,省时省力,并已成为义齿行业的发展趋势。国外自Duret教授1983年研制成功了世界上第一套义齿CAD/CAM系统以来,口腔CAD/CAM技术不断发展和完善,目前已开发出了如德国 CEREC、KaVo,DentiCAD、Degussa,法国的Sopha、瑞典的 Procera、美国明尼苏达大学的Rekow、荷兰的Cicero等十几种成熟的口腔用CAD/CAM系统。但是我国口腔设备和材料自主研发起步晚,产业核心技术欠缺,先进的口腔诊断,治疗软件、设备、材料均依赖进口,医疗成本很高,无法使社会大众普遍受益。

国内开展了口腔修复体制造系统的研究开发,取得了一定的进展。如国家自然科学基金项目“牙颌模型三维激光扫描、测量分析系统的研制”、“全口义齿计算机辅助设计与制作”,国家863计划课题“机器人辅助全口义齿排牙系统的研制”、“数字化口腔修复体制作装备关键技术的研究开发”等[1]。但是,迄今为止国内尚无自主知识产权,适合我国国情的口腔修复个性化设计与快速加工设备。口腔修复体制造流程如图1所示,首先使用三维扫描设备对标准牙颌模模型进行扫描,得到数字化牙颌模模型输入CAD软件,然后根据患者实际需求修改模型,最后使用专用精密数控加工设备直接加工出口腔修复体成品[2]。对精密数控加工设备来说,由于口腔修复体具有体积小、表面为复杂三维凹凸面、精度高等特点,如图2(a);刀具细小(直径为0.5~3 mm),如图2(b);切削材料有玻璃陶瓷、初烧结氧化锆、树脂等材质,有的脆有的硬,必须制定合理的工艺规程,以最佳切削量和最佳进给速度,才能即确保切削顺利完成,又保证较高的加工效率。这就要求数控加工设备要软硬件紧密配合,统筹优化,同时对数控加工设备硬件的性能提出了很高的要求。

图1 口腔修复体制造流程流程

图2 口腔修复体及加工刀具

国家十五期间863课题“数字化口腔修复体制作装备关键技术的研究开发” 研制了一台样机,采用基于PC的开放式体系结构,软件系统采用RTLinux+MiniGUI系统,硬件采用PMAC卡[3]。加工零件程序进入系统要经过4个子过程的处理,分别为:数控代码编译及刀补子过程、速度及加减速处理子过程、插补子过程、控制信息输出子过程。各子过程通过信号灯协调,并行运行,形成数据处理流水线。其中控制信息输出子过程严格按照插补周期间隔将位置控制命令经过当量转换后输出到CNC系统底层硬件设备,由硬件设备实现对机床运动轴的控制。由于加工过程需要进行灵活的速度规划,不方便使用PMAC上的插补模块,造成资源浪费,且PMAC为ISA接口,数据传输速度较低,使整个系统配置不能达到最优。本文从实用角度出发,介绍PCI总线接口的基于FPGA和CAN的五轴数控硬件平台的研制。

1 系统总体结构设计

国内已经设计了各种数字运动控制系统,王文斌等设计的基于MPC5200处理器和嵌入式Linux系统的数控系统,所有任务处理在一个处理器上实现,系统扩展性差[4];王典洪等设计的基于ARM和MCX314AS的数控系统,无法实现速度规划控制[5];黄迎华等设计的DSP+FPGA的数控系统[6],刘涣雨等设计的基于NiosⅡ和FPGA的数控系统,没有使用现场总线技术,扩展性不足[7]。

针对口腔修复体加工设备高速高精的要求,在本文中,数控系统采用IPC(工控机)+RTLinux+运动控制卡的开放式体系结构。此外,我们还提出了运动控制卡采用基于PCI总线,以FPGA为核心,通过CAN总线扩展I/O的硬件平台方案,如图3所示。

硬件平台由主控卡和I/O控制卡两部分组成,主控卡是系统核心部件,以PCI总线与IPC连接,采用FPGA产生五轴驱动信号、同时具有码盘技术、定时中断和通信功能;I/O模块采用ARM+CPLD结构,以CAN总线实现和主控卡高效通信,完成I/O扩展和模拟量控制功能。整个系统可连接5个电机驱动器用于五轴数控机床控制,支持五轴联动,同时可连接主轴变频器、手轮等,并预留多路通用光电隔离输入接口和继电器输出接口。

图3 系统组成示意图

图4 PCI主控卡硬件框图

2 主控卡设计

目前即使对普通的IPC也能轻松满足插补运算的开销,因此插补运算由IPC软件完成,这样更方便算法的优化升级,简化硬件设计。主控卡核心部件采用Altera的Cyclone III系列FPGA EP3C16Q240C8N,采用PCI总线和IPC接口,接口芯片采用PCI9030,性能可靠、兼容性强。PCI9030支持PCI v2.2规范,PCI接口32位/33MHz,Burst传输模式高达132M字节/秒,局部总线操作时钟最高60MHz,为FPGA和IPC搭建起高速数据传输通道。主控卡组成框图如图4所示,其中PCI9030负责将PCI总线转换成局部总线。通过局部总线扩展SJA1000 CAN总线控制器和FPGA。FPGA内部由脉冲发送模块、串口控制模块、码盘计数模块、定时器模块和I/O控制卡组成。CAN BUS和直接输入信号组成XBUS总线,用于控制系统内的扩展连接;RS485/RS422用于与驱动器、变频器或PLC通讯。下面重点介绍FPGA内部关键模块的设计,开发环境Quartts II 9.1,采用Verilog HDL语言设计。

脉冲发送模块用于产生指定脉冲频率和数量的脉冲,使用FIFO实现连续输出不同频率和数量要求的脉冲,满足机床变速连续控制的需要。脉冲发送模块的设计使用了由Quartus的megaWizard工具设计的PLL和FIFO。原理框图如图5所示。

图5 脉冲发送单元的原理框图

脉冲频率采用脉冲半周期宽度控制,驱动脉冲产生方法如图6所示。先产生高电平指定宽度,再产生低电平指定宽度,TCnt 为脉冲宽度计数单元,起始值为TCnt_Cur,当TCnt减到为1时,如果刚刚产生完正半周需要产生负半周时或刚产生完负半周(即一个完整脉冲发送完成)同时NumCnt_Cur不为0时,重新载入TCnt_Cur初值,NumCnt_Cur保存的是以当前脉冲宽度还需要发送的脉冲个数,在输出脉冲的下降沿,NumCnt_Cur减1。

图6 驱动脉冲产生方法示意图

写入脉冲宽度和个数后,最快在7个clk_pulse后开始产生脉冲。先产生高电平,再产生低电平,指定的半周期宽度最小值为7,即7个基准时钟周期。例如,基准时钟为100MHz,则可以产生最高频率为100/7/2=7MHz的脉冲。

定时模块采用开源的定时器软核(Free IP Core PTC),用于按照插补周期产生精确的计时中断信号。为提高事件的及时响应能力,对直接输入信号、编码器脉冲输入信号、脉冲发生器、串行接口模块均设置了中断信号。中断信号的处理包括中断允许,中断标志获取,中断事件的建立和清除。设置中断允许int_en、中断事件int_event和中断标志int_ fl ag三个32位寄存器管理中断信号。

中断事件的设置和清除相关代码如下:

if((cs_int_event == 0) && (wr_n== 0))

//数据总线LOCA_D中,要清除的中断位为1

int_event 〈= (int_event &(~LOCA_D));

else

//根据中断标志寄存器的值设置中断事件

int_event 〈= int_event | int_ fl ag;

end

中断请求信号的产生代码如下:

//若有中断事件为1,且允许中断为1,则使中断请求线=0,与非逻辑

assign FPGA_INT = ((int_event & int_en)==32'h0) ? 1: 0;

3 I/O控制卡设计

机床有限位信号、对刀仪信号、刀库控制信号、照明控制信号、门开关信号、冷却泵控制信号、电源控制信号等各种开关量信号,有的还需要模拟量信号,如电火花加工机床。I/O控制卡完成I/O扩展和模拟量控制功能,结构框图如图7所示。I/O控制卡CAN总线与主控卡通讯,相应主机的控制命令,通过ARM处理器操作CPLD内的控制寄存器,实现本地信号的采集和输出。

图7 I/O控制卡框图

4 CAN通信设计

CAN是ISO国际标准化的串行通信协议,采用短帧结构、仲裁技术和检错措施,保证数据传输的实时性和高可靠性,适于在数控机床高干扰环境下使用[8]。主控卡采用独立的CAN控制器SJA1000,I/O控制卡采用ARM处理器内置CAN总线控制器。主机按照自定义CAN通信协议和I/O控制卡交换数据。

图8 报文ID格式说明

消息格式采用扩展数据帧,即报文ID是29位,报文数据0~8字节。共自定义了12种命令,命令字00H-0BH,每种命令有若干功能,通过功能码进行区分。报文ID各位功能说明如图8所示。以驱动器输出信号控制命令为例,伺服驱动器有开启(0:SON)、增益切换(1:CDP)、急停(2:EMG)、复位(3:RES)和高速(4:FAST)5个控制信号。命令码为4;功能码8位最高位表示位状态,0为复位,1为置位,其余7位以二进制数值表示要控制的信号,比如1000011表示把复位(RST)置1。

为了快速相应主机命令,ARM程序采用中断处理CAN通信,为了加快命令解析速度,命令码和功能码均从0开始连续编码,设置一个命令函数指针数组cmd_call[],数据的元素是指向命令函数的指针;每个命令对应多个功能,均有唯一的功能函数,为每个命令建立功能函数指针数组cmd0_call[]、cmd1_call[]……,数组元素为指向功能函数的指针。CAN通信程序通过采用函数指针数组能快速解析命令和调用功能函数,保证了主控卡和I/O控制卡通信的实时性。

5 结束语

本文设计的数控硬件平台,通过软硬件结合,统筹优化设计,使口腔修复体专用雕铣机系统性能获得了整体提高,定位精度达到0.02mm,3D型面切削精度达到0.02mm,最快切削进给速度达到6000mm/min,氧化锆材料单颗牙齿加工时间小于20分钟,达到国外同类产品水平。同时采用硬件功能软件化技术,降低了系统成本。由于本硬件平台采用开放式体系结构、模块化设计,具有资源丰富、可定制性强、开发周期短、运行速度快、控制精度高的优点,能广泛应用在同类五轴数控加工机床上。

[1] Yong-De Zhang,Zhan-Fang Zhao,Pei-Jun Lu,Yong Wang,Ru-Jie Song,and Ji-Lian Lu,"Robotic System Approach for Complete Denture Manufacturing",IEEE/ASME TRANSACTIONS ON MECHATRONICS,2002,7(3):392-396.

[2] M.Y.Lee,C.H.Kuo,C.C.Chang and Y.C.Ku,"Custom denture fabrication with new abrasive computer tomography and rapid prototyping technologies,"IEEE International Conference on Systems,Man and Cybernetics,Vol.3,pp.2425-2430,2005.

[3] 杨更更,叶佩青,杨开明,游华云.基于PC+NC型体系结构的高性能数控系统的研究[J].机床与液压,2003.

[4] Wenbin Wang,Tao Yu,and Tan Liu,"A research on recon fi-gurable numerical controller based on embedded system",IEEE 3rd International Conference on Mechatronics, Shanghai,China,pp.189-193,July 2006.

[5] Dianhong Wang,and Xiaoyong Ni,"Design of small reconfigurable embedded numerical control system",The 2008 International Conference on Embedded Software and Systems,Chengdu,China,pp.415-421,July 2008.

[6] 黄迎华,方凯,张耀欣.DSP控制卡在高速数控雕铣机中的研究实现[J].自动化与仪表,2006.

[7] 刘焕雨,叶佩青,赵彤,郭允.基于NiosⅡ和FPGA的数字运动控制系统研制[J].机床与液压,2010,38(5):59-63.

[8] 潘月斗,许镇琳,杨堂勇,徐东桂.一种基于CAN总线的机床数控系统接口设计研究[J].中国机械工程,2007,18(2):178-182.

猜你喜欢
控制卡数控系统中断
兼容多种运动控制卡的V割机数控系统关键技术*
三轴机械手控制器设计
浅谈用运动控制卡实现气缸运动控制的方法
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
跟踪导练(二)(5)