一种基于STM32和FPGA的多轴运动控制器的设计与实现

一种基于STM32和FPGA的多轴运动控制器的设计与实现,第1张

引言

数控系统在工矿领域已得到广泛应用,计算机数控系统通过对数字化信息的处理和运算,并转化成脉冲信号,实现对电机的控制,进而控制数控机床动作和零件加工。随着嵌入式技术的发展,我们可以设计规模更小,成本更低,功能更特定的嵌入式系统来完成传统计算机数控系统所完成的工作。

1、设计方案

本系统以嵌入式处理器STM32FPGA芯片为核心,运动控制方案中的处理部分都放在FPGA内部实现。这是1种硬件软化的方案,即具有软件可编程、可重构的特点,又有硬件那样高性能、高可靠、高一致性的优点。其系统原理框图如图1所示。

一种基于STM32和FPGA的多轴运动控制器的设计与实现,一种基于STM32和FPGA的多轴运动控制器的设计与实现,第2张

图1  系统原理

STM32从SD卡中读取数据文件并进行相关算法处理,通过键盘扫描电路设置系统加减速的初始速度、最大速度、加速度的初始值以及一些控制参数。将相应参数传送到FPGA进行处理,最后由FPGA控制输出脉冲和脉冲间延时,通过高光耦隔离后输出,控制电机的运转。通过RS232实现和上位机数据通信以及驱动LCD完成人机交互工作。FPGA主要用来实现指令和数据处理模块、加减速模块、插补功能模块(包括直线插补和圆弧插补)等运动控制算法。

2、运动控制算法在FPGA中的实现 2.1、速度控制算法在FPGA中的实现

为避免电机在启动、运行以及换速过程中使各轴产生超程、冲击、失步和振荡的现象,保证运动机构的平稳和准确定位,这就要求电机在各程序段转接时具有一个加减速的过程,使其平滑的过渡。大多运动控制系统都拥有梯形加减速和S型加减速功能。由于梯形加减速算法简单,系统响应快,效率高等优点,结合本课题要解决的主要问题以及应用的相关领域,课题在传统梯形加减速的基础进行改进来实现脉冲的输出。梯形加减速算法采用脉冲叠加的方法在FPGA内部的实现,即:以某一时钟为基准,将其进行n次分频后产生互不重叠的不同频率的n种脉冲,然后提取所需要的几种脉冲以式(1)进行叠加,从而输出连续可调的、不同频率的脉冲来完成加减速运算。式(1)如下所示:

一种基于STM32和FPGA的多轴运动控制器的设计与实现,一种基于STM32和FPGA的多轴运动控制器的设计与实现,第3张

由式(1)可知f0/2n为对基准脉冲的分频,分频过程中通过对分频计数器的位数进行设置来产生不同频率且不重叠的脉冲。系数a[N:0]是单位时间产生的脉冲数,即脉冲速率。由此可以得出该方法下的系统逻辑结构电路图如图2所示。

一种基于STM32和FPGA的多轴运动控制器的设计与实现,一种基于STM32和FPGA的多轴运动控制器的设计与实现,第4张

图2  系统逻辑结构电路

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2631475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-11
下一篇 2022-08-11

发表评论

登录后才能评论

评论列表(0条)

保存