运动控制技术是推动新的技术革命和新的产业革命的关键技术,高速、高精度始终是运动控制技术追求的目标。运动控制技术能够快速发展主要得益于计算机、高速数字处理器(DSP)、自动控制、网络技术的发展,不仅应用于数控机床、工业机器人、轻工、纺织、化工、冶金等传统行业,还在国防、航空航天等多个领域得到广泛应用。数控技术、机器人技术更是一个国家运动控制技术发展水平的重要标志。随着国民经济发展,数控技术为了满足不同加工领域的要求也有了的长足进步,但对于大型的,高精密、高速数控装备和数控系统仍需要进口,大大制约了我国装备制造业和加工能力的提升。
当前,基于PC和运动控制器的开放式数控系统得到了很大发展,运动控制器在系统中接收PC控制指令,运算后转换成控制信号到伺服驱动部分,从而快速构建数控平台。开发人员可以根据运动控制器提供的驱动程序,进行二次开发,满足用户的各种特殊需求。目前,PC和运动控制器构成的开放式数控系统的研究核心在于运动控制器的关键技术,因为数控机床的高速、高精和高可靠性等指标主要取决于运动控制器的性能。数字信号处理器(DSP)的发展,使运动控制过程的运算能力有了很大程度的提高,利用DSP开发的运动控制器性能越来越稳定,功能也日趋强大。DSP强大的运算能力使运动控制过程中复杂的运动控制算法能够得到很好的支持,使运动控制系统能有效进行运动规划、高速实时多轴插补、误差补偿和更复杂的运动学、动力学计算,使得运动控制精度更高、速度更快、运动更加平稳。因此,以DSP为控制核心结合FPGA模块的嵌入式运动控制器成为发展的主流。
运动控制器中运动控制算法作为关键技术,其复杂程度、精确性、可靠性直接影响控制系统的控制性能。因此,对相关运动控制算法及其在运动控制器中的实现进行研究,有利于达到控制过程的高速、高精度和高可靠性。
本课题研究内容
本论文工作的主要研究内容是设计研究基于PCI总线并以DSP为核心的运动控制卡,对运动控制卡的硬件部分进行设计,并在此基础上对运动控制卡的软件进行设计,从而可以为后续开发研制成熟产品提供良好的软硬件平台。主要的研究内容如下:
1.运动控制卡总体方案设计。对运动控制卡的整体结构进行分析,利用模块化设计的思想设计一些主要功能,并在此基础上设计本运动控制卡的总体设计方案,主要包括硬件部分的设计方案和软件部分的设计方案。
2.运动控制卡的硬件设计。根据运动控制卡的硬件设计方案,对DSP芯片和PCI接口芯片等主要芯片的功能和特点进行研究,选择适合本运动控制卡的芯片。在此基础上进行运动控制卡的硬件设计工作,包括DSP的电源电路模块、时钟电路模块、JTAG接口模块、外扩存储器模块、步进电机的驱动模块、上下位机通讯模块以及输入输出接口模块的设计工作,在提高系统的稳定性方面,需要进行硬件抗干扰设计。
3.系统软件设计。并采用模块化程序设计方法,对DSP主控程序进行设计,包括DSP初始化模块、DSP与PC机的实时通信模块设计;在插补控制算法上,利用比逐点比较法精度更高的最小偏差法,设计直线和圆弧的插补算法并给出插补流程图。
运动控制器设计要求
本文设计的运动控制器要求能应用于数控行业、机器人控制系统等领域。要求高速处理数据的能力,具有高集成度、高可靠性。主要性能指标和技术要求如下:
(1)具有4路模拟信号输出,输出电压范围为-10V 到+10V,同时具有 4路脉冲信号输出,脉冲输出频率可达 4MHz,能控制交、直流步进电机和伺服电机。
(2)具有 4 路正交编码器信号输入接口,能采集 4 路增量式光电编码器反馈信号,采集频率可达 2MHz,能实现对电机速度和位置的实时检测,满足速度闭环和控制闭环控制系统的需要,位置寄存器的长度达到 32 位。
(3)设计并行通信接口能与 PC 机实现高速实时通信,同时设计 RS232 通信接口。
(4)采用开放式模块化设计,同时实现高集成度。
(5)具有丰富的 I/O 接口,以实现对电机的控制和其他开关量信号的控制,比如限位信号、报警信号、原点检测等。
(6)具有高速的运算处理能力,系统反应快,系统时钟频率为 150MHz。
(7)具有 S 曲线、T 型曲线、电子齿轮等运动控制方式,同时能实现多轴插补功能,能实现较复杂的算法。
(8)具有良好的软件接口和功能丰富的函数库,满足多方面应用的需要。在实现上述性能与指标的同时,在设计中我们还应该遵循可靠性、模块化、整体性、低成本等原则以此增强产品的市场竞争力。
设计方案:
硬件设计结构图:
硬件设计结构图
电源电路负责提供各模块的电源,对 DSP 进行了 SRAM 和 FLASH 扩展,时钟电路负责提供 DSP 和 FPGA 所需的时钟信号,双口 RAM用于负责 DSP 与 PCI总线的并行通信,电平转换电路负责 RS232 与 DSP 之间的电平转换。I/O 隔离负责各路 I/O 信号的光电隔离,专用输入/输出是一些电机控制中所必须有的 I/O 信号,通用输入/输出可用于其它 I/O 信号的控制,在 FPGA 模块中设计了 D/A 转换电路、脉冲输出电路和编码器输入模块。
FPGA硬件结构图
脉冲输出接口模块主要任务是发送脉冲序列和方向指令给伺服驱动器,实现对电机的位移,速度,方向的控制。编码器电路则是实现电机状态的反馈,包括方向、速度等。A/D、D/A 模块主要实现运动控制器跟伺服电机间模拟量与数字量之间的处理。I/O 接口则实现各种开关量信号的控制。本文没有设计 A/D 转换模块,因为 DSP 自带的 A/D 转换接口可以满足需求。在精度要求高的数控工业制造时可以用高精度 A/D 转换芯片(如 AD7663)来实现,通过 FPGA 设计的A/D 接口传递给 DSP。
软件总体设计
整个运动控制软件系统可分为两大块:PC 层的软件和 DSP 层的软件。人机交互界面主要是提供包括工艺流程、轨迹规划、状态监控等功能,提供用户操作的界面环境。初始化程序后,对人机界面输入的数据进行处理,代码编译生成相应的控制指令。设备驱动程序接口层是与硬件相关的一层,负责对运动控制器的硬件设备进行管理和控制,同时进行数据通信处理。DSP层的软件通过对 PC层传递下来的指令代码进行解析,然后实施具体的插补算法运算,并控制电机运动。同时将底层的状态信息反馈给 PC 机。