论文部分内容阅读
运动控制技术是一门综合性、多学科交叉的技术,是推动新的产业革命的关键技术,其发展是制造自动化前进的旋律。目前,运动控制技术已经由面向传统专用的数控加工行业技术而发展为网际开放式、基于CAN总线以及智能化的新型运动控制器,并成为推动新的产业革命的关键技术。本课题根据国内外运动控制器现状和发展状况,针对我国国内纺织机械行业的需求,提出使用STM32和FPGA相结合的方案设计运动控制器。充分利用STM32的中断能力强、中断延时短、中断响应快、以及故障处理方便等功能,结合FPGA的并行运算能力,而设计出一款新型的嵌入式多轴运动控制器。在多轴运动控制器中,运动控制算法基本上在FPGA中以硬件处理的形式完成,主要实现数据的译码和预处理、系统加减速、插补以及位置控制等功能模块。即:在FPGA主处理器中,采用S加减速和梯形加减速对系统进行加速或减速;采用比值积分法实现2轴或3轴的直线插补和2轴圆弧插补,此方法选取位置坐标大的轴为长轴,则长轴能输出均匀的进给脉冲,而短轴按与长轴的关系输出脉冲。这种方法使设计变得简单,而且输出地进给脉冲也均匀;采用交叉耦合控制实现多轴联动时的协同工作,减小轮廓误差,提高轮廓精度。使用增量式PID算法,实现了位置控制。另外,STM32处理器主要负责任务调度和软件管理等方面的工作,主要包括人机交互、U盘文件读取、SD卡文件存取、扩展外部存取器电路等功能的实现。为了实现多任务的处理和实时操作,系统移植了实时操作系统(μC/OS-II)。为了驱动FPGA中设计的运动控制算法的硬件电路,在STM32中编写了系统的底层驱动函数。并对底层驱动函数的定义和功能进行了详细的说明和分析。最后,对系统整体的调试进行了分析,先详细的分析硬件电路中电磁兼容问题。接着介绍了运动控制器的应用实例,在对其调试过程中,研究和分析了系统中出现的一些故障,并提出了一些行之有效的解决方案。FPGA高速处理能力保证了运动控制器的高速、高精度、高实时性的处理能力。STM32本来就是控制领域中的佼佼者,再加上Cortex-M3内核的特性,为本系统的实时性要求提供了可靠的保证。另外,系统采用模块化和层次化的设计思想,将设计好的FPGA程序或是C程序进行封装,提高系统的可移植性和二次开发性能。