1、基于基于PC104总线与总线与MCX314As芯片的运动控制器设计芯片的运动控制器设计 梁伟林主要内容:第一章绪论第二章运动控制器整体的功能设计第三章运动控制器的硬件设计第四章运动控制器的软件系统设计第五章运动控制器软硬件整体调试第一章 绪论v1.1课题研究背景课题研究背景一、数控技术的发展现状和趋势一、数控技术的发展现状和趋势在我国,数控技术起步于1958年,近50年的发展历程大致可分为三个阶段:v第一阶段从1958年到1979年,即封闭式发展阶段。v第二阶段是在国家的“六五”、“七五”期间以及“八五”的前期,即引进技术,消化吸收,初步建立起国产化体系阶段。v第三阶段是在国家的“八五”的后期
2、和“九五”期间,即实施产业化的研究,进入市场竞争阶段。在此阶段,我国国产数控装备的产业化取得了实质性进步。进入20世纪90年代以后,受通用微机技术飞速发展的影响,数控技术正朝着以PC机为基础,向着开放化、智能化、图形化等方面进一步发展。第一章 绪论 PC-NC 架构数控系统第一章 绪论v1.1.2 运动控制器及其研究现状运动控制器及其研究现状定义:所谓运动控制器是通过对电机驱动的执行机构进行运动控制,以实现预定运动轨迹目标的装置。第一章 绪论运动控制器在国外发展现状:运动控制器在国外发展现状:目前,开放式数控系统的研究得到了世界各主要工业国家的重视和支持,国外影响较大的研究计划有美国的NGC(
3、The Next Generation Work-station/Machine Controller)和OMAC(Open Modular Architecture Controller)计划,欧洲的OSACA(Open System Architecture for Control within Automation System,自动化系统中控制器的开放式体系结构)计划,以及日本的OSEC(Open System Environment for Controller)计划。这些模式方法总起来说都采用了闭环控制,具有高速、高精度、高可靠性和高安全性的特点,同时在控制系统的软硬件上具有良好的
4、开放性。第一章 绪论运动控制器在国内发展现状:运动控制器在国内发展现状:近年来,随着工业PC机的快速发展,可靠性大为提高,以工业PC机为核心的控制系统己经被工业控制领域所接受。在机床控制领域,采用工业PC机,发展通用化的数控系统,己成为国际研究的热点,符合数控技术发展的潮流。同时,围绕工业PC机开发的运动控制器及其应用也越来越多。国内部分数控系统厂商采用PC+NC的方式,构建适合于需要的运动控制系统,如北京机床研究所的中华系列,沈阳计算所的“蓝天”系列,华中科技大学的“华中”系列、“航天”系列等。第一章 绪论运动控制器常见的控制方案:运动控制器常见的控制方案:1.基于单片机系统的控制器基于单片
5、机系统的控制器主要以主要以MCS-51,MCS-96等为代表的单片机为核心。这种控制卡控等为代表的单片机为核心。这种控制卡控制方式比较灵活,成本比较低。但采用的元器件较多,可靠性低、软硬制方式比较灵活,成本比较低。但采用的元器件较多,可靠性低、软硬件设计工作量大,而且控制算法单一,运算及处理速度比较慢。件设计工作量大,而且控制算法单一,运算及处理速度比较慢。2.基于基于PC的的SOFT型控制器型控制器它是指它是指CNC的全部功能处理工作都由的全部功能处理工作都由PC进行,并通过装在进行,并通过装在PC扩展扩展槽中的接口卡对伺服驱动进行控制。用户在槽中的接口卡对伺服驱动进行控制。用户在Windo
6、ws平台上,开发完成平台上,开发完成数控系统中所有的实时任务和非实时任务,如编译、解释和插补等。这数控系统中所有的实时任务和非实时任务,如编译、解释和插补等。这是一种最新开放体系结构的数控系统,它提供给用户最大的选择和灵活是一种最新开放体系结构的数控系统,它提供给用户最大的选择和灵活性,它的性,它的CNC软件全部装在计算机中,而硬件部分仅是计算机与伺服驱软件全部装在计算机中,而硬件部分仅是计算机与伺服驱动和外部动和外部I/O之间的标准化通用接口。但由于之间的标准化通用接口。但由于CNC制造商不愿放弃多年制造商不愿放弃多年积累的专有技术,加上积累的专有技术,加上Windows操作系统本质上是非实
7、时系统,对于高操作系统本质上是非实时系统,对于高速数控领域等,强实时性要求严格的系统,这种结构不能很好地满足要速数控领域等,强实时性要求严格的系统,这种结构不能很好地满足要求。求。第一章 绪论3.基于通用DSP或FPGA的控制器这类控制卡采用DSP或FPGA作为板上的核心控制芯片,具有很普遍应用。由DSP或FPGA完成控制的功能(脉冲和方向信号的输出、编码器反馈和限位等信号的检测等),提高处理速度。比如像深圳固高的GT-800系列通用运动控制器。但是,由于底层DSP处理器上的插补等运算,通信接口等都要开发者实现,开发难度相对大。4.基于专用运动控制芯片的控制器这类控制卡采用专用运动控制芯片作为
8、板上的核心处理器。运动控制芯片是为精密控制步进电机和伺服电机而设计的专用处理器。运动控制芯片带有插补算法,能够完成大部分运动控制,大大简化了运动控制系统的软硬件结构和开发工作。芯片厂家提供的文档资料充分,技术支持良好,降低了开发难度,有利于快速开发。这种芯片运用广泛,主要有PMD公司的Magellan系列、Navigator系列,日本NOVA公司的芯片等,可选择的种类较多。第一章 绪论v本课题研究的意义:大力发展先进的制造技术已经成为世界各国最重要的技术战略之一,先进制造技术已经是国际竞争和产品革新的一种重要手段。数控技术是先进制造技术的核心,是制造业实现自动化、网络、柔性化、集成化的集成。数
9、控装备的技术水平是一个国家工业现代化水平的高低和综合国力的强弱的显著标志。运动控制器在数控系统中占有十分重要的地位,是数控系统的核心部件之一。与国外相比,我国在运动控制器的产品研发方面还比较落后,高端产品基本上被国外公司垄断,我国作为世界上经济发展最快的国家,市场上新设备的控制需求和传统设备技术升级换代,对运动控制器的需求越来越大。此外,由于市场日益竞争的压力,系统集成商和设备制造商要求运动控制系统向开放式方向发展。在这样的形势下,我国应该抓住这一机遇,研制出具有自主知识产权,具有高水平、高质量、高可靠性的开放式运动控制器产品。第二章 运动控制器整体的功能设计总线接口的选择:vISA 总线vP
10、CI 总线vPC/104 总线根据三种总线的特点做比较,由于现在的主板供应商很多不提供ISA接口插槽,故不采用该接口。而PCI总线的控制器数据传输速度虽然要比ISA和PC104高,但因为PCI总线设计难度和费用较高,在经济上普通用户难以承受。PC104是专门为嵌入式控制而定义的工业控制总线,它比插卡型稳定性能更好,比较适合本课题运动控制器的设计。第二章 运动控制器整体的功能设计v运动控制芯片的选型:日本NOVA公司专用运动控制芯片MCX314As 第三章 运动控制器的硬件设计vPC104总线接口协议:PC104总线是一种在工业控制方面运用广阔的工业标准总线结构,因其总线之间互连使用了104个信
11、号线,因而得名。第三章 运动控制器的硬件设计PC104总线插槽示意图 第三章 运动控制器的硬件设计vMCX314As运动控制芯片介绍:MCX314As是日本NOVA电子有限公司研制的DSP运动控制专用芯片,是MCX314的升级版。芯片能与8位或16位数据总线接口,通过命令、数据和状态等寄存器实现4轴(称为X、Y、Z、U四轴)中任意2轴或3联动的位置、速度、加速度等的运动控制和实时监控,实现直线、圆弧和位元3种模式的轨迹插补,输出脉冲频率可达4 MHz。每轴都有伺服反馈输入端、4个输入点和8个输出点,能独立地设置为恒速、线性或S曲线加/减速控制方式,并有2个32位的逻辑、实际位置计数器和状态比较
12、寄存器,实现位置的闭环控制。写寄存器地址地址(A2 A1 A0)寄存器符号寄存器名称000WR0命令寄存器001WR1模式寄存器1010WR2模式寄存器2011WR3模式寄存器3100WR4通用输出寄存器101WR5插补模式寄存器110WR6写数据寄存器1111WR7写数据寄存器2第三章 运动控制器的硬件设计读寄存器地址地址(A2 A1 A0)寄存器符号寄存器名称000RR0主状态寄存器001nRR1状态寄存器1010nRR2状态寄存器2011nRR3状态寄存器3100RR4通用输入寄存器1101RR5通用输入寄存器2110RR6读数据寄存器1111RR7读数据寄存器2第三章 运动控制器的硬件
13、设计v硬件抗干扰技术:(1)脉冲、方向信号采用差分输出方式(2)采用高速光耦进行电气隔离(3)硬件电路板布局布线(4)信号滤波和钳位第三章 运动控制器的硬件设计第四章 运动控制器的软件系统设计软件开发环境和编程工具介绍:vWindows 98操作系统 vVisual C+6.0第四章 运动控制器的软件系统设计MCX314As指令系统:v写入数据命令v读取数据命令v驱动命令v插补命令 第四章 运动控制器的软件系统设计VC+语言中的标准通信函数介绍:v_outp(),_outpw()和_outpd()函数;功能分别是:写一个字节、字和双字到指定的输出端口。v_inp(),_inpw()和_inpd
14、()函数;功能分别是:从指定的输入端口读一个字节、字和双精度字。第四章 运动控制器的软件系统设计运动函数库:v读/写寄存器函数;v轴设置函数:工作模式设定函数、运动参数设置函数、初始化函数;v运动控制函数;v I/O读写和驱动状态查询函数。第四章 运动控制器的软件系统设计应用程序示例的设计:v单轴运动的位置和速度控制v直线、圆弧插补驱动v外部I/O读写 第四章 运动控制器的软件系统设计在插补之前,需要先指定哪个轴是基轴。MCX314As芯片的WR5的D0D5用来指定各个轴ax1、ax2、ax3和ax4。X、Y、Z和U轴可按一定顺序定义成ax1、ax2、ax3和ax4。在插补的过程中,所有的计算
15、都是基于基轴ax1的,所以在进行插补之前要对基轴设置所有的参数:初始速度、驱动速度和加速度等。当插补命令执行时,寄存器RR0的D8位(I-DRV)将变为1,在插补结束时变为0。于是在插补过程中应该查询I-DRV的状态,只有当I-DRV为0时,才可以执行下一个插补命令。同时,还必须调用各个状态查询函数,检测是否有报警,急停,限位,中断等状况发生。第四章 运动控制器的软件系统设计v单轴常速运行时脉冲频率的测试:T TT T 1)C h 1:2 V o lt 50 0 us 2)C h 2:2 V o lt 50 0 us d X:9 8 3 u s X:1.02 m s1KHz脉冲输出 第四章 运
16、动控制器的软件系统设计T TT T 1)C h 1:2 V o lt 1 u s 2)C h 2:2 V o lt 1 u s d X:2.5 3 u s X:2.50 us400KHz脉冲输出 第四章 运动控制器的软件系统设计T T 1)C h 1:2 V o lt 10 0 ns d X:2 5 0 n s X:-1 9.6 n s4MHz脉冲输出 I/O信号的测试界面 结论 v(1)分析了数控技术和国内外控制器发展现状,并对当前运动控制器常见的解决方案进行了比较,结合本课题运动控制器的功能需求,给出了系统整体功能设计方案:选用PC104总线接口作为运动控制器与上位PC机通信的桥梁,采用M
17、CX314As运动控制芯片作为控制器核心处理器,并采取差分脉冲信号输出和光耦隔离方式实现内外部电源隔离,提高抗干扰能力;上位机软件系统采取模块化的原则,设计了人机控制界面、应用示例程序和运动控制函数库。用户进行二次开发时可以不必关心底层的具体实现方式,直接调用控制函数库方便快速地开发出应用程序,达到了开放性的要求。v(2)详细介绍了PC104总线接口协议和MCX314As芯片的控制寄存器以及工作方式,完成了运动控制器的硬件设计。重点介绍PC104总线与MCX314As芯片的通讯连接电路的设计和运动控制器与外部的输入和输出接口电路设计,并且对硬件抗干扰和硬件调试进行经验总结。v(3)简单介绍软件
18、开发环境Windows 98系统和开发工具VC+语言,并对MCX314As芯片的指令系统进行了分析。在此基础上,完成了运动控制函数库的开发。v(4)设计了系统的人机控制界面,实现各个轴运动参数的设置、运动类型的选择、反馈状态显示和位置、速度等运动曲线的直观显示。v(5)开发了常用的运动控制应用示例程序,用户进行二次开发时可以结合自己的控制要求,参照示例程序进行自己的程序开发。v(6)对常用的运动控制应用示例程序进行调试。将运动控制器接上伺服驱动器和电机,运行控制程序,对运动控制器的基本功能进行了详细调试,给出实验结果并进行分析。工作展望 v用PCI代替PC104总线接口v用DSP或FPGA代替运动控制芯片v丰富运动控制库函数 v实现了对G代码等数控代码的支持The end!谢谢大家!