当前位置: 首页 > news >正文

基于 STM32+FPGA 的多轴运动控制器的设计

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

主控制器以 STM32 为核心将电机运行过程中的数据存入外部存储器,使用触摸屏和按键相结合的方式实现人机交互; 触摸屏作为上位机通过串口与 STM32 通信可对整个系统进行调试按键通过 I/O 接口与 FPGA 相连主控制器处理外部数据存储器的插补信息后,经总线发送给 FPGAFPGA 接到控制指令或插补数据后进行插补运算,然后通过隔离电路将信号发送到各个电机驱动器,对各轴电机进行驱动,完成目标运动轨迹.
STM32 FPGA 的通信接口
STM32 FPGA 之间可以通过可变静态存储控制器 ( Flexible Static Memory ControllerFSMC) 进行通信,如图 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) 发送指令给 STM32STM32 接收到指令后通过动态链表的形式将指令存储于外部存储器; 实时读取存储器将运动轴的位置信息速度信息返回给触摸屏显示,同时将指令信息和插补算法数据,FSMC 传到 FPGA 处理; 最后由脉冲发生器产生脉冲指令给电机驱动器,驱动电机转动运动控制器软件设计框图如图 8 所示
4
S 形速度规划算法的实现
S 形加减速可充分发挥电机性能因其在加减速阶段速度曲线呈 S 形而得名令加速度的导数为常 数,改变其 大 小可最大限度减小系统冲击[10-11]。 整个加减速过程由 7 个部分构成[12-13]如图 9 所示。 图中: l 为运动的位移v 为速度a 为加速度,j 为
加加速度A 表示匀加速阶段的加速度值M 表示匀减速阶段的加速度值,Ti ( i = 123,......,7) 为各阶段的运行时间,τi ( i = 123
......7) 为以各个起点作为 0 点的时刻ti ( i = 123
......7) 为各个过渡点时刻。实际应用时m1 m4 的各阶段
都需要判断减速点一般情况下0 加速到最大速度和从最大速度减速到 0 所用的时间相同T1 = T3T5 = T7

 

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

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

相关文章:

基于 STM32+FPGA 的多轴运动控制器的设计

运动控制器是数控机床、高端机器人等自动化设备控制系统的核心。为保证控制器的实用性、实时性和稳定 性,提出一种以 STM32 为主控制器、FPGA 为辅助控制器的多轴运动控制器设计方案。给出了运动控制器的硬件电路设计, 将 S 形加减速算法融入运动控制器&…...

《爆肝整理》保姆级系列教程python接口自动化(十三)--cookie绕过验证码登录(详解

python接口自动化(十三)--cookie绕过验证码登录(详解 简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接)。获取…...

soapui + groovy 接口自动化测试

1.操作excel的groovy脚本 package pubimport jxl.* import jxl.write.Label import jxl.write.WritableWorkbookclass ExcelOperation {def xlsFiledef workbookdef writableWorkbookdef ExcelOperation(){}//设置xlsFile文件路径def ExcelOperation(xlsFile){this.xlsFile x…...

Linux内存管理(三十五):内存规整简介

源码基于:Linux5.4 0. 前言 伙伴系统以页面为单位来管理内存,内存碎片也是基于页面的,即由大量离散且不连续的页面组成的。从内核角度来看,出现内存碎片不是好事情,有些情况下物理设备需要大段的连续的物理内存,如果内核无法满足,则会发生内核错误。内存规整就是为了解…...

Java连接Redis

Jedis是Redis官方推荐的Java连接开发工具。api&#xff1a;https://tool.oschina.net/apidocs/apidoc?apijedis-2.1.0一、 导入包<!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency><groupId>redis.clients</groupId><…...

Python语言零基础入门教程(十六)

Python 模块 Python 模块(Module)&#xff0c;是一个 Python 文件&#xff0c;以 .py 结尾&#xff0c;包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。 把相关的代码分配到一个模块里能让你的代码更好用&#xff0c;更易懂。 模块能定…...

SAP ERP系统SD模块常用增强之一:VA01/VA02创建或修改SO的输入检查

在SAP/ERP项目的实施中销售管理模块&#xff08;SD&#xff09;的创建和修改销售订单必定会有输入字段校验检查的需求&#xff0c;来防止业务人员录入错误或少录入数据&#xff0c;SAP公司也考虑到这一点&#xff0c;所以这方面的配置功能也非常强大&#xff0c;通常情况下不需…...

深度学习知识补充

候选位置(proposal) RCNN 什么时ROI&#xff1f; 在图像处理领域&#xff0c;感兴趣区域(region of interest &#xff0c; ROI) 是从图像中选择的一个图像区域&#xff0c;这个区域是你的图像分析所关注的重点。圈定该区域以便进行进一步处理。使用ROI圈定你想读的目标&…...

Vue笔记(1)——数据代理与绑定

一、初始Vue 1.想让Vue工作&#xff0c;就必须创建一个Vue实例&#xff0c;且要传入一个配置对象&#xff1b; 2.root容器里的代码依然符合html规范&#xff0c;只不过混入了一些特殊的Vue语法&#xff1b; 3.root容器里的代码被称为【Vue模板】&#xff1b; 4.Vue实例和容器是…...

LeetCode题目笔记——2563. 统计公平数对的数目

文章目录题目描述题目链接题目难度——中等方法一&#xff1a;排序双指针代码/Python代码/C方法二代码/Python总结题目描述 这是前天周赛的第二题。 统计公平数对的数目 - 给你一个下标从 0 开始、长度为 n 的整数数组 nums &#xff0c;和两个整数 lower 和 upper &#xff0c…...

【MySQL Shell】8.9.5 将集群重新加入到 InnoDB ClusterSet

如果 InnoDB 集群是 InnoDB ClusterSet 部署的一部分&#xff0c;MySQL Shell 会在重新启动后立即自动将其恢复到拓扑中的角色&#xff0c;前提是其运行正常且未被标记为无效。但是&#xff0c;如果集群被标记为无效或其 ClusterSet 复制通道已停止&#xff0c;则必须使用 clus…...

元素水平垂直居中的方法有哪些?如果元素不定宽高呢?

实现元素水平垂直居中的方式&#xff1a; 利用定位margin:auto利用定位margin:负值利用定位transformtable布局flex布局grid布局 1-利用定位margin:auto <style>.father{width:500px;height:300px;border:1px solid #0a3b98;position: relative;}.son{width:100px;heig…...

访问学者在新加坡访学生活日常花销大吗?

新加坡地理位置优越&#xff0c;社会发达&#xff0c;教学质量好&#xff0c;吸引不少国内学生前往新加坡留学、访学。那么&#xff0c;去新加坡访学&#xff0c;访问学者花销需要多少钱呢&#xff1f;下面和51访学网小编一起来了解一下吧。 一、饮食 新加坡的饮食从很亲民的…...

XCP实战系列介绍11-几个常用的XCP命令解析

本文框架 1.概述2. 常用命令解析2.1 CONNECT连接(0xFF)2.2 SHORT_UPLOAD 命令(0xF4)2.2 SET_MTA (0xF6)2.3 MOVE命令(0x19)2.4 GET_CAL_PAGE(0xEA)2.5 SET_CAL_PAGE(0xEB)2.6 DOWNLOAD(0xF0)1.概述 在文章《看了就会的XCP协议介绍》中详细介绍了XCP的协议,在《XCP实战系列介绍…...

全志V853芯片 如何在Tina V85x平台切换sensor?

目的 V85x某方案目前默认Sensor是GC2053。实际使用时若需要用到GC4663&#xff08;比如wdr功能&#xff09;和SC530AI&#xff08;支持500W&#xff09;&#xff0c;可按如下步骤完成切换。 步骤 下面以GC4663为例&#xff0c;SC530AI按相应方式适配。 Step1 检查Sensor驱动…...

2023全网最火的接口自动化测试,一看就会

目录 接口自动化测试用例设计Excel接口测试用例访问MySQL接口测试用例访问PyTest测试框架接口自动化测试必备技能-HTTP协议request库实现接口请求 引言 与UI相比&#xff0c;接口一旦研发完成&#xff0c;通常变更或重构的频率和幅度相对较小。因此做接口自动化的性价比更高&…...

华为OD机试真题JAVA实现【最小传递延迟】真题+解题思路+代码(20222023)

🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出示例一输入输出说明解题思路核心知识点Code运行结果版权说...

Transformer

Transformer由4部分组成&#xff0c;分别是&#xff1a;输入模块、编码模块、解码模块、输出模块整体架构图&#xff1a;一、输入模块结构 &#xff08;1&#xff09;源文本嵌入层及其位置编码器&#xff08;2&#xff09;目标文本嵌入层及其位置编码器二、编码器模块结构由N个…...

并发包工具之 批量处理任务 CompletionService(异步)、CompletableFuture(回调)

文章目录一、处理异步任务并获取返回值——CompletionService二、线程池三、Callable 与 Future四、通过回调方式处理可组合编排任务——CompletableFuture一、处理异步任务并获取返回值——CompletionService 特点描述&#xff1a; 对于比较复杂的计算&#xff0c;把…...

验收测试分类

α测试 Alpha 是内测版本&#xff0c;即现在所说的CB。 此版本表示该软件仅仅是一个初步完成品, 通常只在软件开发者内部交流, 也有很少一部分发布给专业测试人员。 一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。 β测试 Beta是公测版本&#xff0c;是对所有用户…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请&#xff0c;不同级别的经理有不同的审批权限&#xff1a; // 抽象处理者&#xff1a;审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...