搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家小花儿
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
太原理工大学大数据复习相关习题_太原理工大学大数据历年题
2
零基础实战部署云服务器项目-服务器部署(window server2012)_部署服务器要用sql什么版本
3
Redis——Redis线程模型原理_redis多线程原理
4
跨域页面传参_window.open加将token作为url参数传给新页面
5
【uniapp】省市区 三级联动 手机端 picker,支付宝小程序省市区_uniapp picker 省市区
6
安装ElasticSearch和插件IK、安装kibana_your basic license does not support watcher
7
Python 在编程语言中是什么地位?为什么很多大学不教 Python?_python的地位
8
安卓APP:隐私合规检测常见问题建议总结
9
大数据技术之Hive(三)hive常用函数_hive stack
10
使用最新版flink tidb cdc 同步数据到StarRocks_flink-sql-connector-tidb
当前位置:
article
> 正文
基于 STM32+FPGA 的多轴运动控制器的设计_fpga运动控制算法插补算法
作者:我家小花儿 | 2024-05-18 00:46:28
赞
踩
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 所示
。
主控制器以
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总线定制。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家小花儿/article/detail/585908
推荐阅读
article
【
STM32
】-
定时器
+
DMA
+
ADC
双重模式_
stm32
adc
dma
...
STM32
单片机内部集成了12位
ADC
转换器,是逐次趋近型模数转换器。具有多达19个复用通道,可测量来自16个外部源、两...
赞
踩
article
【
STM32
】
ADC
与
DMA
_
stm32
adc
dma...
STM32
ADC
与
DMA
_
stm32
adc
dma
stm32
adc
dma
ADC
ADC
(...
赞
踩
article
STM32
-
ADC
+
DMA
使用
(巨全面)_
stm32
adc
dma
...
在
STM32
中,
ADC
可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁¹。STM3...
赞
踩
article
STM32
——
ADC
_
stm32
adc...
如果将 DMA 位置 1,则在每次规则通道转换之后,均使用直接存储器访问 (DMA) 控制器将转换自规则通道组的数据(存...
赞
踩
article
STM32
ADC和DMA_
stm32
adc
dma
...
STM32
ADC和DMA简单总结_
stm32
adc
dma
stm32
adc
dma
...
赞
踩
article
FPGA
+炬力
ARM
实现
VR
视频
播放器
方案,
3D
眼镜
显示
...
FPGA
+炬力
ARM
方案,单个
视频
源信号,同时驱动两个LCD屏
显示
,实现
3D
沉浸式播放。2.支持2D/
3D
效果实时切...
赞
踩
article
STM32
SRAM
和
Flash
简介_
stm32f103
sram
是 做什么
的
...
转载自: 关于
SRAM
和
Flash
的
简介_
stm32f103
sram
是 做什么
的
stm32f103
sram
是 ...
赞
踩
article
STM32
——高级
定时器
输出
指定个数
PWM
波原理及实战_
stm32
输出
固定数量
的
脉冲...
相比于通用
定时器
特性:1)重复计数器2)死区时间带可编程
的
互补
输出
3)断路输入,用于将
定时器
的
输出
信号置于用户可选
的
安全...
赞
踩
article
FPGA
ov5640
lcd
屏幕显示实验_
ov5640
输出
帧率...
这款摄像头的内部结构较为复杂,包括图像数据的采集、放大、数字信号转换等过程,最终通过 DVP 端口
输出
。DVP 接口本身...
赞
踩
article
【
智能家居
入门1之环境信息监测】(
STM32
、
ONENET
云平台、
微信
小
程序
、
HTTP
协议)_stm...
作为入门本篇只实现
微信
小
程序
接收下位机上传的数据,之后会持续发布如下项目:①可以实现
微信
小
程序
控制下位机动作,真正意义上...
赞
踩
article
【
智能家居
入门3】(
MQTT
服务器
、
MQTT
协议、
微信
小程序、
STM32
)_
mqtt
智能家居
...
前面已经写了三篇博客关于
智能家居
的,
服务器
全都是使用ONENET中国移动,他最大的优点就是作为数据收发的中转站是免费的。...
赞
踩
article
STM32
基于
MPU6050
的
飞行器
姿态控制
设计与实现_
mpu6500
火箭
姿态控制
...
请注意,由于代码的完整性和特定项目的环境要求,上述示例代码可能需要根据实际情况进行修改和优化。另外,我们还需要使用相应的...
赞
踩
article
stm32
MPU6050
姿态解算
Mahony
互补滤波
算法
_
mahony
算法
...
文章目录1,理论分析1.1
MPU6050
1.2
Mahony
算法
原理2,代码实现1.1
MPU6050
初始化及数据读取...
赞
踩
article
STM32
DSP
库
CUBEMX
配置+
FFT
频率计算_
stm32
fft
...
使用
DSP
中的函数加快计算。本文首先讲述如何通过添加dsp库。再讲述使用
DSP
库进行实数
FFT
运算。(
FFT
运算用到了前...
赞
踩
article
【
FPGA
】
高云
FPGA
之
IP
核
的使用->
PLL
锁相环_
高云
怎么
改晶振
频率...
使用
高云
内置
IP
核
实现多路不同时钟输出输入时钟50M由晶振提供软件开发环境
高云
V1.99版本硬件开发环境采用小梅哥ACG...
赞
踩
article
【
FPGA
】
高云
FPGA
之
数字钟
实验->
HC595
驱动
数码管
_
fpga
数码管
...
通过74
HC595
芯片点亮8位
数码管
,通过计时器实现
数码管
计时显示软件开发环境
高云
V1.99版本硬件开发环境采用小梅哥A...
赞
踩
article
高云
CPLD
/
FPGA
IDE
开发
环境
搭建-保姆级教程...
云
CPLD
/
FPGA
IDE
开发
环境
搭建-保姆级教程,教你搭建
FPGA
开发
环境
,安装驱动、导入证书、启动软件_
高云
cpl...
赞
踩
article
FPGA
图像
缩放
千兆
网
UDP
网络视频传输,基于
B50610
PHY
实现,提供工程和QT上位机...
FPGA
图像
缩放
千兆
网
UDP
网络视频传输,基于
B50610
PHY
实现,提供工程和QT上位机源码加技术支持本文使...
赞
踩
article
FPGA
HLS
图像
缩放
,双
线性插值
任意比例
缩放
,提供4套工程源码和技术支持_
图像
缩放
fpga
...
FPGA
实现双
线性插值
任意比例的
图像
缩放
,
HLS
封装IP,提供2套工程源码和技术支持_
图像
缩放
fpga
图像
缩放
fpg...
赞
踩
article
STM32
+
ESP8266
+
阿里
云+
微信
小
程序
_
阿里
云
微信
小
程序
下发
stm32
...
使用
STM32
和
阿里
云,
微信
小
程序
,串口,互相通信;实现手机小
程序
端的点灯操作;_
阿里
云
微信
小
程序
下发
stm32
阿里
...
赞
踩
相关标签
stm32
嵌入式硬件
单片机
AR
VR
flash
闪存
fpga开发
智能家居
微信小程序
onenet云平台
服务器