当前位置:网站首页>stm32和电机开发(上位系统)
stm32和电机开发(上位系统)
2022-07-02 06:36:00 【嵌入式-老费】
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
电机本身的开发一般都是用PID或者FOC完成的。但是,作为一个系统来说,在stm32之前,一般还会有一个主机系统,这个主机系统一般跑linux系统或者是windows系统。如果是linux系统,那么一般是各种各样的soc;如果是windows系统,一般就是pc电脑了。

为了说明电机控制系统和上层是怎么交互的,我们可以拿写字机做一个说明。写字机一般是拿pc当作主机进行处理,对图像进行预处理后,生成一条一条的控制命令。这些命令,通过串口发送给stm32,经过串口解析、插值、速度规划、x/y/z控制之后,就可以把对应的图像通过笔的书写打印出来。类似的方法还可以用于雕刻、3d打印等场合。
有了上面的说明,我们可以尝试理解下,一个主机系统需要做哪些动作;
a)扫描图像;
b)灰度处理;
c)生成控制指令;
d)通过串口将这些指令发送给mcu;
e)接收执行结果,将进展反馈到屏幕上面。
上面说的是写字机。我们可以换一种场景,比如说机器人。假设有这么一个三只轮子的机器人,前面是主动轮,它可以前进、后退、左右旋转,后面是从动轮,没有任何控制。如果设计目标是让这个机器人从A点走到B点,那么它应该怎么做呢?一般来说,可以分解成这么几个步骤来完成,
a)利用搜路算法,搜索一条没有障碍的路;
b)依据最小转弯半径要求将这条路进行分段处理,有最小段距离要求;
c)再根据速度限制条件规划出每一段的入口速度、出口速度、入口角度、出口角度;
d)将路径信息、转弯半径信息、速度信息、角度信息、分段信息发送mcu;
e)循环接收执行结果,将进展实时通过log打印出来。
通过上面的两个系统,我们发现上位系统更偏重于算法的整体布局。等算法这部分做好了,再全部交给mcu来执行。因此,控制才是mcu的强项,算法不是。毕竟,mcu的频率和性能都在那放着,不能指望mcu做超出它能力的事情。
电机的实际使用范围非常广泛,不管是消费领域、工业领域、军工领域,都发挥着巨大的作用。控制好电机只是第一步,最主要的还是用上位系统生成控制指令,发送给电机,让它来正常工作满足我们的需求,这才是学习电机的根本目的,不能仅仅是为了学习电机而学习电机。不同的场景,控制的要求也不同,比如有的要求更快,有的要求更准,有的要求成本更低,每一种场景都有自己特定的约束条件,这些只能在工作中不断练习和感受了。
边栏推荐
- 合并有序数列
- Blender多镜头(多机位)切换
- Project practice, redis cluster technology learning (12)
- UE4夜间打光笔记
- Merge ordered sequence
- 【JetBrain Rider】构建项目出现异常:未找到导入的项目“D:\VisualStudio2017\IDE\MSBuild\15.0\Bin\Roslyn\Microsoft.CSh
- 【教程】如何让VisualStudio的HelpViewer帮助文档独立运行
- Introduction and prevention of penetration test
- [tutorial] how to make the Helpviewer help document of VisualStudio run independently
- The primary market project galaxy will conduct public offering on coinlist on February 17
猜你喜欢

【JetBrain Rider】构建项目出现异常:未找到导入的项目“D:\VisualStudio2017\IDE\MSBuild\15.0\Bin\Roslyn\Microsoft.CSh

ue虚幻引擎程序化植物生成器设置——如何快速生成大片森林

2021-10-02

Feature (5): how to organize information

How to achieve the top progress bar effect in background management projects
![[MySQL] an exception occurs when connecting to MySQL: connection must be valid and open](/img/09/a75ce6742d787c640b8066e0e8e694.png)
[MySQL] an exception occurs when connecting to MySQL: connection must be valid and open

Blender多镜头(多机位)切换

VLAN experiment

The primary market project galaxy will conduct public offering on coinlist on February 17

Blender多鏡頭(多機比特)切換
随机推荐
Notes de base sur les plans illusoires d'IA (triés en 10 000 mots)
Pytest learning --base
Large neural networks may be beginning to realize: the chief scientist of openai leads to controversy, and everyone quarrels
2021-09-12
【leetcode】33. Search rotation sort array
Blender体积雾
pytest--之测试报告allure配置
Blender volume fog
Flink实时计算topN热榜
ue虛幻引擎程序化植物生成器設置——如何快速生成大片森林
【虚幻4】UMG组件的简介与使用(更新中...)
ERROR 1118 (42000): Row size too large (> 8126)
MPLS experiment
Pytest framework implements pre post
Blender多镜头(多机位)切换
Career planning and development
Project practice, redis cluster technology learning (16)
Commutateur Multi - lentilles Blender
2021-10-04
Alibaba cloud ack introduction