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

这篇具有很好参考价值的文章主要介绍了基于 STM32+FPGA 的多轴运动控制器的设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

fpga运动控制算法插补算法,运动控制器,国产ARM+FPGA,fpga开发,STM32+FPGA,运动控制器

fpga运动控制算法插补算法,运动控制器,国产ARM+FPGA,fpga开发,STM32+FPGA,运动控制器

3 运动控制器软件设计
通过触摸屏 ( HMI ) 发送指令给 STM32 STM32 接收到指令后通过动态链表的形式将指令存储于外部存储器; 实时读取存储器 将运动轴的位置信息 速度信息返回给触摸屏显示, 同时将指令信息和插补算法数据, FSMC 传到 FPGA 处理 ; 最后由脉冲发生器产生脉冲指令给电机驱动器, 驱动电机转动 运动控制器软件设计框图如图 8 所示
fpga运动控制算法插补算法,运动控制器,国产ARM+FPGA,fpga开发,STM32+FPGA,运动控制器
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

 fpga运动控制算法插补算法,运动控制器,国产ARM+FPGA,fpga开发,STM32+FPGA,运动控制器

结合图 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
fpga运动控制算法插补算法,运动控制器,国产ARM+FPGA,fpga开发,STM32+FPGA,运动控制器

fpga运动控制算法插补算法,运动控制器,国产ARM+FPGA,fpga开发,STM32+FPGA,运动控制器

fpga运动控制算法插补算法,运动控制器,国产ARM+FPGA,fpga开发,STM32+FPGA,运动控制器文章来源地址https://www.toymoban.com/news/detail-795671.html

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

到了这里,关于基于 STM32+FPGA 的多轴运动控制器的设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于DSP+FPGA的多轴运动控制平台(一)硬件设计

    2 实验平台总体方案与硬件设计 2.1.1 实验平台的功能需求分析 针对便于多轴运动控制技术的研究,培养此方面技术的人才,实验平台应能 对多轴运动实现高速高精度的控制效果,同时保证系统开放性和兼容多种算法及 参数的运行。 实验过程契合实际工作过程,完成控制系统

    2024年02月06日
    浏览(44)
  • 基于ROS实现的机器人运动PID控制器

    下面是一个基于ROS实现的机器人运动PID控制器的例子: 首先,需要定义机器人的运动控制器节点,例如: 其中, cmd_vel_pub 是一个发布器,用于发布机器人的运动控制指令; odom_sub 是一个订阅器,用于接收机器人的里程计信息。 然后,需要实现一个PID控制器的类,例如: 其

    2024年02月13日
    浏览(54)
  • 开放式高实时高性能PLC控制器解决方案-基于米尔电子STM32MP135

    随着工业数字化进程加速与IT/OT深入融合,不断增加的OT核心数据已经逐步成为工业自动化行业的核心资产,而OT层数据具备高实时、高精度、冗余度高、数据量大等等特点,如何获取更加精准的OT数据对数字化进程起到至关重要的作用,同时随着国内工业控制系统逐步进入中

    2024年03月24日
    浏览(46)
  • (2-3-3)位置控制算法:无人机运动控制系统——基于自适应反演滑模控制器的仿真测试

    2.3.5  基于自适应反演滑模控制器的仿真测试 文件test/fault_AISMC.py实现了一个基于非线性动力学模型的无人机飞行控制仿真环境,通过使用自适应反演滑模控制器(Adaptive Inverse Sliding Mode Control,AdaptiveISMC_nonlinear)对无人机进行控制,并引入了执行器故障模型以模拟实际飞行中

    2024年04月16日
    浏览(50)
  • 9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    包含此题目毕业设计全套资料: 原理图工程文件 原理图截图 仿真模型工程文件 仿真截图 低重复率文档(22642字) 英文文献及翻译 资料链接 1.基于单片机实现无刷直流电机控制器的设计,完成系统芯片选型; 2.确定无刷直流电机控制器的总体设计方案; 3.给出系统的硬件设计

    2024年02月07日
    浏览(55)
  • 基于FPGA 的SDRAM控制器

    4X16X4=256(Mbit),注意不是MByte sdram包含两个部分:sdram_ctrl、fifo_ctrl。 sdram_ctrl:其顶层为SDRAM的控制模块内部实例化了5个模块,有初始化、自刷新、写和读模块,还有一个仲裁模块对这四个不同操作进行分配; fifo_ctrl:其顶层为SDRAM的数据输入输出,内部实例化了两个用于连

    2024年02月08日
    浏览(64)
  • 【进口控制器替代】基于Zynq-7020 FPGA的NI 8槽CompactRIO控制器

    667 MHz双核CPU,512 MB DRAM,1 GB存储容量,Zynq-7020 FPGA,更宽工作温度范围,8槽CompactRIO控制器 cRIO-9068是一款坚固耐用的无风扇嵌入式控制器,可用于高级控制和监测应用。这款软件设计控制器搭载FPGA、运行NI Linux Real-Time操作系统的实时处理器以及嵌入式用户界面功能。cRIO-906

    2024年01月25日
    浏览(62)
  • 基于FPGA的PID控制器设计

    PID控制应该算是应用非常广泛的控制算法了。常见的比如控制环境温度,控制无人机飞行高度速度等。PID我们将其分成三个参数,如下: P-比例控制,基本作用就是控制对象以线性的方式增加,在一个常量比例下,动态输出,缺点是会产生一个稳态误差。 I-积分控制,基本作

    2024年02月03日
    浏览(58)
  • 基于X86六轮差速移动机器人运动控制器设计与实现(一)软件与硬件架构

    本文研究的六轮差速移动机器人 (Six-Wheeled Differential Mobile Robot , SWDMR) 为了满足资源站到资源站点对点的物资运输,对机器人的跨越障碍能力 有较高的要求。对比传统的四轮移动机器人,六轮移动机器人能够提供更强的驱动 力,而且六轮与四轮相比整车分散到单个车轮的负

    2024年02月12日
    浏览(56)
  • (STM32H5系列)STM32H573RIT6、STM32H573RIV6、STM32H573ZIT6嵌入式微控制器基于Cortex®-M33内核

    工业(PLC、工业电机控制、泵和压缩机) 智能家居(空调、冰箱、冰柜、中央警报系统、洗衣机) 个人电子产品(键盘、智能手机、物联网标签、跟踪设备) 智能城市(工业通信、照明控制、数字电源) 医疗和保健(CPAP和呼吸器、透析机、药丸分配器、电动病床) 1、ST

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包