基于stm32+fpga的多轴运动控制器的设计

深圳信迈科技DSP+ARM+FPGA 深圳信迈科技DSP+ARM+FPGA     2023-03-03     224

关键词:

运动控制器是数控机床 高端机器人等自动化设备控制系统的核心 为保证控制器的实用性 实时性和稳定 性, 提出一种以 STM32 为主控制器 FPGA 为辅助控制器的多轴运动控制器设计方案 给出了运动控制器的硬件电路设计 , 将 S 形加减速算法融入运动控制器 提高了控制精度 可有效避免过冲 振荡等现象的发生 在三维点胶机平台上对运动 控制器的性能进行了测试, 结果表明 : 点胶机各轴能按照设定的轨迹运动 运行平稳且实时性高 具备良好的应用前景 运动控制器性能的好坏直接对自动化系统整体性能的 发 挥 起 决 定 性 作 用[1-2] 克 莱 斯 勒 西 门 子 、 FANUC、 MAZAK 占据我国 90% 左右的工业用运动控 制器市场。 随着运动控制技术的发展 FPGA ARM 、 DSP、 专用芯片等逐渐成为运动控制器的核心部件 , 并日益朝着开放式方向发展[3-4] 以单片机为核心的运动控制器运算速度慢、 控制精度低 一般用于低 速、 运动轨迹简单的场合 ; 以专用芯片为核心的运动 控制器只是发出脉冲信号, 无法接收反馈信号 处于开环状态, 不能满足多轴联动和高速 高精度的轨迹 插补要求[5-7] 基于 PC 的以 FPGA ARM DSP 为核心处理器的运动控制器, 如固高科技 GH-800 数据处理速度快、 实时性高 可完成多轴协同控制 复杂轨迹运动和加减速。 以 STM32 为主控器 FPGA 为辅助控制器 ,搭建硬件平台及进行外围电路设计。利用 STM32 丰富的外设资源,完成运动轨迹规划、人机交互、数据存储、数据交互等控制; 利用 FPGA 丰富的逻辑资源,实现各个运动轴脉冲并行输出、输入信号和原点位置的检测、输出开关量控制等功能。控制器设计中引入S 形加减速算法,可有效避免实际运行过程中的过冲、失步及振荡等现象。该运动控制器硬件结构简单,在保证精度、实时性、可靠性的前提下,能有效缩短研发周期。 1 运动控制器结构 运动控制器采用 STM32+FPGA 的硬件结构形式 ,主控制芯片选用 ST 公司的 STM32F4xx 辅助控制芯片选择 Altera 公司的 EP2 系列芯片 主要模块包括数据存储 模 块、 外部输入检测模块 电 机 驱 动 模块、 接口模块 人机交互模块等 其结构框图如图1 所示

主控制器以 STM32 为核心 将电机运行过程中的数据存入外部存储器, 使用触摸屏和按键相结合的方式实现人机交互; 触摸屏作为上位机 通过串口与 STM32 通信 可对整个系统进行调试 按键通过 I/O 接口与 FPGA 相连 主控制器处理外部数据存储器的插补信息后, 经总线发送给 FPGA FPGA 接到控制指令或插补数据后进行插补运算, 然后通过隔离电路将信号发送到各个电机驱动器, 对各轴电机进行驱动, 完成目标运动轨迹. STM32 FPGA 的通信接口 STM32 FPGA 之间可以通过可变静态存储控制器 ( Flexible Static Memory Controller FSMC ) 进行通信, 如图 4 所 示 根 据 FSMC 的 功 能 特 性 设 定STM32 的地址线和数据线宽度为 16 STM32 片选选中 FPGA 进行数据读写 FPGA 通过中断反馈数据处理情况。 STM32 芯片的配置 STM32 芯片外围硬件看门狗能有效监控 CPU 的运行情况。 STM32 需要配置 2 个外部晶振 : 一个频率为 32. 768 kHz 主要给芯片内部时钟部件提供低速 、 高精度的时钟; 另一个频率为 25 MHz 产生主时钟 ,通过分频、 倍频模块后供给各个模块 [4,6] 2. 2 FPGA 模块电路设计 FPGA 主要负责插补算法信息的处理 脉冲信号的输出、 开关量的输入和输出 接收编码器的差分信 号等。 ( 1 ) 差分输入接口电路 U6 为四路差动信号接收器 用来接收编码器输出的差分信号, 将电机的位置信息反馈给 FPGA 接口电路如图 5 所示

3 运动控制器软件设计 通过触摸屏 ( HMI ) 发送指令给 STM32 STM32 接收到指令后通过动态链表的形式将指令存储于外部存储器; 实时读取存储器 将运动轴的位置信息 速度信息返回给触摸屏显示, 同时将指令信息和插补算法数据, FSMC 传到 FPGA 处理 ; 最后由脉冲发生器产生脉冲指令给电机驱动器, 驱动电机转动 运动控制器软件设计框图如图 8 所示 4 S 形速度规划算法的实现 S 形加减速可充分发挥电机性能 因其在加减速阶段速度曲线呈 S 形而得名 令加速度的导数为常 数, 改变其 大 小 可最大限度减小系统冲击 [10-11] 。 整个加减速过程由 7 个部分构成 [12-13] 如图 9 所示 。 图中: l 为运动的位移 v 为速度 a 为加速度,j 为 加加速度 A 表示匀加速阶段的加速度值 M 表示匀减速阶段的加速度值, T i ( i = 1 2 3 ,......, 7 ) 为各阶段的运行时间, τ i ( i = 1 2 3 ...... 7 ) 为以各个起点作为 0 点的时刻 t i ( i = 1 2 3 ...... 7 ) 为各个过渡点时刻。 实际应用时 m 1 m 4 的各阶段 都需要判断减速点 一般情况下 0 加速到最大速度和从最大速度减速到 0 所用的时间相同 T 1 = T3 T 5 = T 7

 

结合图 10 所示的流程 算法实现过程如下 : 步骤 1 初始化相关的参数 包括初始速度 目标速度 ( 最大运行速度 ) 加加速度 j 最大加速度 A 步骤 2 计算减速距离 d ec d ec 与剩余距离 L s 比较, 其中 L s = L e L c L e 表示指定目标位置值 L c 表示当前位置值。 步骤 3 L s d ec 则减速 否则加速或者匀 速 ( 此时如果到达最大速度则匀速 未到达则加速 ) 步骤 4 根据步骤 3 的判断 重新计算 a v v v 、jv 并输出。 步骤 5 L c = L e 到达终点 运动停止 否则重复步骤 2~ 5

6 结束语 本文作者提出了一种以 STM32 为主控制器 FPGA 为辅助控制器的运动控制器设计方案 完成了控制器硬件平台及外围电路设计, S 形加减速控制算法融入到运动控制器中, 有效避免了运动时由于速度突变引起的过冲、 抖动等现象 提高了控制精度 对运动控制器进行测试, 结果表明 : STM32+FPGA 为硬件架构的运动控制器实时性好、 可靠性高 能满足工业运动控制的要求。 信迈支持STM+FPGA运动控制器、ethercat总线定制。

基于ompal138+fpga异构多核运动控制器的设计

针对传统运动控制器稳定性差、控制效率低、软件构架不完善等特点,结合异构多核技术的优势,提出并开发一种异构多核处理器运动控制器。文章详细阐明该系统硬件设计和软件设计,硬件设计主要说明以异构多核处理器OMAPL138为... 查看详情

基于stm32的多功能心电信号监测系统设计

...速度计模块、系统电源、PC服务端等组成。STM32F103作为主控制器实现对人体心电信号、体表温度信息、走路运动信息的实时采集、计算、显示与无线传输。系统总体结构框图如图1所示。基于TI模拟前端芯片ADS1292组成的心电信号采... 查看详情

基于国产arm+fpga+codesys运动控制平台的智能人机交互系统设计

...保护领域智能保护装置显示系统的需求,提出了一种基于国产ARM处理器和FPGA的智能人机交互系统的设计方案。该方案重点阐述了智能人机交互系统的功能架构及硬件设计方案,并介绍了数据交换和人机交互的软件设... 查看详情

基于国产arm+fpga+codesys运动控制平台的智能人机交互系统设计

...保护领域智能保护装置显示系统的需求,提出了一种基于国产ARM处理器和FPGA的智能人机交互系统的设计方案。该方案重点阐述了智能人机交互系统的功能架构及硬件设计方案,并介绍了数据交换和人机交互的软件设... 查看详情

基于stm32闭环步进电机控制系统设计(仿真,程序,说明)

(1)基本功能:本任务通过输出脉冲控制步进电机的停止、运动、方向。使用两个按键分别控制步进电机的正转和反转,再次按下这两个按键,步进电机停止,同时LCD显示电机状态信息。(2)扩展功能:... 查看详情

基于fpgaverilog的ethercat主站工程代码

...用30K资源的FPGA,这样才有足够冗余以备所需。某些运动控制器需要添加手轮,IO开关量,其他用户自定义功能。三、用户接口该DEMO中接口分为4个部分:系统部分,过程数据部分, 查看详情

花了三年时间开发的四轴运动控制卡,可以替代mcx314运动控制ic

...,步进插补功能,定量运动,连续运动,自动回零运动,多轴插补,圆弧插补、紧急停止等;●直线/S形 查看详情

基于stm32的智能家居控制系统设计

大家好!这里简单举一个做的一个很简单的小项目给大家,帮助大家了解一下单片机STM32的简单应用。后续也会给大家不断分享项目实践。功能需求随着社会的进步,经济的快速发展,人们对于日常生活科技化的... 查看详情

14基于stm32的平衡小车设计

14、基于STM32的平衡小车设计引言1系统概述1.1设计任务1.2设计要求2方案设计与论证2.1芯片选择方案2.2系统概述2.3设计要求2.4系统总体设计思路2.5各功能模块程序实现原理分析2.5.1六轴陀螺仪检测模块2.5.2蓝牙控制模块2.5.4电机驱动... 查看详情

基于stm32的智能鱼缸设计(代码片段)

...省鱼友时间、劳力、增加养鱼乐趣;为此,本文基于STM32单片机设计了一款智能鱼缸。该鱼缸可以实现水温检测、水质检测、自动或手动换水、氛围灯灯光变换和自动或手动喂食等功能为一体的控制系统,可通过控制... 查看详情

基于stm32的智能家居控制系统设计与实现(带红外遥控控制空调)

...实的突破口,对智能家居的产业发展具有重大意义。本文基于现有智能家居技术设计和实现情况,本着方便操作、增强功能、贴近生活的设计理念,提出一种智能家居控制系统的设计方案。本设计实现功能总结如下:(1)采集环... 查看详情

基于stm32的智能家居控制系统设计与实现(带红外遥控控制空调)

...实的突破口,对智能家居的产业发展具有重大意义。本文基于现有智能家居技术设计和实现情况,本着方便操作、增强功能、贴近生活的设计理念,提出一种智能家居控制系统的设计方案。本设计实现功能总结如下:(1)采集环... 查看详情

基于stm32设计的健康检测设备(测温心率计步)(代码片段)

1.项目介绍本文介绍的项目是基于STM32设计的健康检测设备,支持体温测量,心率检测,支持运动计步(采用MPU6050陀螺仪实现),支持WIFI传输数据到手机APP打印显示。硬件环境介绍:MCU采用STM32F103C8T6心率传感器采用PulseSenso... 查看详情

10基于stm32的汽车倒车防撞雷达

基于STM32的汽车倒车防撞雷达引言1系统概述1.1设计任务1.2设计要求2方案设计与论证2.1芯片选择方案2.2系统概述2.3设计要求:2.4系统总体设计思路2.5各功能模块程序实现原理分析2.5.1电源电路设计2.5.2主控制电路2.5.3超声波电路3STM3... 查看详情

10基于stm32的汽车倒车防撞雷达

基于STM32的汽车倒车防撞雷达引言1系统概述1.1设计任务1.2设计要求2方案设计与论证2.1芯片选择方案2.2系统概述2.3设计要求:2.4系统总体设计思路2.5各功能模块程序实现原理分析2.5.1电源电路设计2.5.2主控制电路2.5.3超声波电路3STM3... 查看详情

tms320f2837x+spartan6/国产fpga低成本高实时注塑机运动控制器软硬件设计方案

...算法,无法验证对不同控制算法的兼容性。 注塑机控制器是基于TI公司的TMS320F28335芯片的控制系统,是整个注塑机泵控伺服系统的核心部分。控... 查看详情

基于stm32单片机项目设计目录-加油吧√

★♥基于STM32单片机项目设计目录√♥※目录★♥基于STM32单片机项目设计目录√♥※1、基于STM32的音乐喷泉2、STM32的智能浇水补光系统3、基于STM32的手机通过wifi控LED灯4、基于STM32的电子打铃器5、基于STM32的智能手环6、基于STM32... 查看详情

基于stm32单片机项目设计目录-加油吧√

★♥基于STM32单片机项目设计目录√♥※目录★♥基于STM32单片机项目设计目录√♥※1、基于STM32的音乐喷泉2、STM32的智能浇水补光系统3、基于STM32的手机通过wifi控LED灯4、基于STM32的电子打铃器5、基于STM32的智能手环6、基于STM32... 查看详情