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

stm32 FOC 电机介绍

今年开始学习foc控制无刷电机,这几天把所学整理一下,记录一下知识内容。

前言:

为什么要学习FOC?
1.电机控制是自动化控制领域重要一环。
2.目前直流无刷电机应用越来越广泛,如无人机、机械臂、云台、仿生机器人等等。

需要什么基础?
1.C语言,指针,结构体,编程规范。
2.STM32外设使用。
3.原理图阅读。
4.芯片手册阅读。
5.数序坐标系知识

为什么要出本教程?
1.直流无刷电机应用越来越广泛,网上资料比较散落,因此想要出一篇系统性的教程,从头到尾,深入浅出,帮助初学者快速入门直流无刷电机控制。
 

1、电机的分类

1.1、直流有刷电机

        直流有刷电机(BDC)是一种内含电刷装置,可以将直流电能转换成机械能的电动机。
在允许的范围之内,只需要调整电压,即可调整它的转速,因此这类电机拥有良好的调速性
能。直流有刷电机实物图如图 3.2.1.1 所示

网上找到一张动态图片

电机系列:直流电机是如何工作的? - 知乎

1.2、直流无刷电机

        无刷电机是指无电刷和换向器(或集电环)的电机,又称无换向器电机,它由电动机主
体和驱动器组成,是一种典型的机电一体化产品。 早在十九纪, 就已经出现了无刷形式的电
机,即交流鼠笼式异步电动机, 但是, 其有着许多无法克服的缺陷, 以至于人们不断地探索
更好的电机技术。 直到上世纪中叶, 晶体管诞生了,晶体管换向电路代替了传统的电刷与换
向器结构, 这种新型无刷电机克服了第一代无刷电机的缺陷。 直流无刷电机实物图如图

https://www.zhihu.com/zvideo/1381638054105477121

直流无刷电机又分为永磁同步电机(Permanent Magnet Synchronous Motor, PMSM)和一般的BLDC电机

PMSM和BLDC的区别:

  1. 磁场分布

    • BLDC:通常具有一个方波磁场分布。这意味着其定子绕组产生的磁场是方波形式的。
    • PMSM:具有正弦波磁场分布。这是因为PMSM的转子磁铁和定子绕组的设计使得其产生的磁场更接近正弦波形式。
  2. 扭矩脉冲

    • BLDC:由于方波磁场,BLDC电机在运行时可能会产生更显著的扭矩脉冲。
    • PMSM:由于其正弦波磁场,PMSM通常能提供更平滑的扭矩输出。
  3. 控制策略

    • BLDC:经常使用比较简单的6步换相控制。
    • PMSM:更适合使用正弦波控制或矢量控制(如FOC),这可以更好地匹配其正弦波磁场特性。

PMSM的特点:

  • 高效率和性能:PMSM由于其正弦波磁场和优化的控制策略,通常能提供更高的效率和性能。
  • 精确控制:PMSM非常适合于需要精确速度和位置控制的应用,这使其在伺服系统中非常受欢迎。
  • 高转矩密度:PMSM通常具有较高的转矩密度,即在相同大小下可以提供更大的扭矩。
  • 应用广泛:PMSM被广泛应用于工业伺服系统、电动汽车、精密机械和航空航天领域。

下图更直观的知道区别:

1.3、舵机

        舵机是一种“特殊”的直流电机,其构造不仅只有电机部分,而且还自带一个控制器,
所以舵机本身就是一个闭环的控制系统(伺服系统)。 当我们给舵机发送指令信号时,它可
以将指令信号变换为输出轴的角度并保持住,即便是负载发生了变化,它也能够进行自动调
节。 舵机的实物图如图 3.2.3.1 所示:

1.4、步进电机

        步进电机是一种将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序
控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,步进电机的转速、停止的
位置只取决于脉冲信号的频率和脉冲个数,不受负载变化的影响。步进电机的实物图如图
3.2.4.1 所示

1.4、伺服电机

        伺服电机是指在伺服系统中控制机械元件运转的电动机,它搭配上驱动器,形成一个完
整的伺服系统,就能够精准地控制速度、位置等。伺服电机具有线性度高、起动转矩大、运
行范围较广、无自转现象等显著特点,遗憾的是,就目前来说,一整套伺服系统的成本是相
对较高的。伺服电机和控制器的实物图如图 3.2.5.1 所示:

1.5、各类电机特点
电机类别特点
直流有刷电机驱动简单,成本低廉,但是噪音大, 故障较多, 寿命也相对较短。
直流无刷电机噪音低,运转流畅,高速,寿命更长,但是控制较为复杂。
舵机

自成闭环控制系统, 角度控制优秀,价格低,但是带负载的能力较弱。

步进电机结构简单,驱动方便,没有积累误差,不过因为其可能存在丢步现象,
常用于对精度要求不高的场合。
伺服电机速度、位置控制精确,可低速运行,效率高,寿命长,可以说是目前最
为可靠的一类电机。但是价格较高。
1.6、电机常用名词


        为了让大家可以更好地学习电机控制,搭建更健全的电机知识架构,下面我们先学习一
些电机常用名词:
① 转速:电机输出轴的速度,一般单位是 r/min(转每分钟),也常用 RPM 表示。
② 输出扭矩:表示了电机输出轴可以输出力的大小,单位一般为 N· m 或者 kg· cm。
③ 工作电压:电机正常工作的电压。
④ 额定电流:电机正常工作时的电流。
⑤ 堵转电流:电机负载过大,驱动力不足,发生堵转时的电流

参考文献:

正点原子的电机部分资料和网上资料

一文看懂有刷电机与无刷电机的工作原理及区别 - 知乎

FOC算法与SVPWM技术_深入浅出讲解foc算法与svpwm技术 pdf-CSDN博客

FOC基础知识:【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术 - 知乎

SVPWM算法原理及详解_svpwm是什么意思-CSDN博客

【STM32-HAL库】一步步搭建出FOC矢量控制(附C代码)_stm32foc全代码详解-CSDN博客

相关文章:

stm32 FOC 电机介绍

今年开始学习foc控制无刷电机,这几天把所学整理一下,记录一下知识内容。 前言: 为什么要学习FOC? 1.电机控制是自动化控制领域重要一环。 2.目前直流无刷电机应用越来越广泛,如无人机、机械臂、云台、仿生机器人等等。 需要什么基础&…...

【Linux】进程通信——管道

欢迎来到Cefler的博客😁 🕌博客主页:折纸花满衣 🏠个人专栏:题目解析 🌎推荐文章:【LeetCode】winter vacation training 目录 📋进程通信的目的📋管道匿名管道pipe函数创…...

3d gaussian splatting笔记(paper部分翻译)

本文为3DGS paper的部分翻译。 基于点的𝛼混合和 NeRF 风格的体积渲染本质上共享相同的图像形成模型。 具体来说,颜色 𝐶 由沿射线的体积渲染给出: 其中密度 𝜎、透射率 𝑇 和颜色 c 的样本是沿着射线以…...

TCP 三次握手以及滑动窗口

TCP 三次握手 简介: TCP 是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的 “ 连接” ,其实是客户端和服务器的内存里保存的一份关于对方的信息,如 IP 地址、端口号等。 TCP 可以…...

Vue3 Cli5按需导入ElementPlus

1、安装环境 node:16.20.0 vue:3.2.36 vue/cli:5.0.0 element-plus:2.2.25 element-plus/icons-vue:2.0.10 unplugin-auto-import:0.16.1 // 当前环境用这个包,不然会提示各种错误 unplugin-vu…...

playwright自动化项目搭建

具备功能 关键技术: pylaywright测试库pytest单元测试框架pytest-playwright插件 非关键技术: pytest-html插件pytest-rerunfailures插件seldom 测试框架 实现功能: 元素定位与操作分离失败自动截图并保存到HTML报告失败重跑可配置不同…...

mysql字符集

一、查看字符集 //查看数据库字符集 SHOW CREATE DATABASE databasename; //查看表字符集 SHOW CREATE TABLE tablename; //查看指定表全部字段字符集 show full columns from table; 二、修改字符集 将超出utf8字符集范围的字符比如𪨧插入到utf8字符集的字…...

Elasticsearch:聊天机器人、人工智能和人力资源:电信公司和企业组织的成功组合

作者:来自 Elastic Jrgen Obermann, Piotr Kobziakowski 让我们来谈谈大型企业人力资源领域中一些很酷且改变游戏规则的东西:生成式 AI 和 Elastic Stack 的绝佳组合。 现在,想象一下大型电信公司的典型人力资源部门 — 他们正在处理一百万件…...

[AIGC大数据基础] Flink: 大数据流处理的未来

Flink 是一个分布式流处理引擎,它被广泛应用于大数据领域,具有高效、可扩展和容错的特性。它是由 Apache 软件基金会开发和维护的开源项目,并且在业界中受到了广泛认可和使用。 文章目录 什么是 FlinkFlink 的特点真正的流处理高性能和低延迟…...

数据结构之线性表(一般的线性表)

前言 接下来就开始正式进入数据结构环节了,我们先从线性表开始。 线性表 线性表(linear list)也叫线性存储结构,即数据元素的逻辑结构为线性的数据表,它是数据结构中最简单和最常用的一种存储结构,专门存…...

uniapp安卓android离线打包本地打包整理

离线打包准备 下载Android studio 1.准备资源hbuilder 2.准备离线SDK 最新android平台SDK下载最新android平台SDK下载 3.离线打包key申请 4.直接导入HBuilder-Integrate-AS工程,直接运行simpleDemo项目即可 5.安装java 1.8 jdk-8u151-windows-x64 6.遇到这个报错报错Caus…...

vmware安装centos8-stream

VMware与CentOS8-stream的配置教程【2022-9-5】_centos stream 8-CSDN博客 启动进入后配置网络,/etc/sysconfig/network-scripts/网卡 vmware上的centos8没有网络_主机时wifi上网,centos 8 安装后无法连接网络 解决办法-CSDN博客 centos8配置网络_centos8网络配置…...

使用HttpServletRequestWrapper解决web项目request数据流无法重复读取的问题

在做web项目开发时,我们有时候需要做一些前置的拦截判断处理,比如非法参数校验,防攻击拦截,统一日志处理等,而请求参数如果是form表单提交还好处理;对于json这种输入流的数据就会有问题,统一处理…...

从CNN ,LSTM 到Transformer的综述

前情提要:文本大量参照了以下的博客,本文创作的初衷是为了分享博主自己的学习和理解。对于刚开始接触NLP的同学来说,可以结合唐宇迪老师的B站视频【【NLP精华版教程】强推!不愧是的最完整的NLP教程和学习路线图从原理构成开始学&a…...

Git学习笔记:1 基础命令详解

文章目录 Git基础命令详解: Git基础命令详解: git commit 用法:git commit -m "commit message"功能:将暂存区(stage)中的所有更改提交到本地仓库的当前分支,同时提供一个简短的提交信…...

【服务器】安装宝塔面板

目录 🌺【前言】 🌼【前提】连接服务器 🌷方式一 使用工具登录服务器如Xshell 🌷方式二 阿里云直接连接 🌼 1. 安装宝塔 🌷获取安装脚本 方式一 使用下面提供的脚本安装 方式二 使用官网提供的脚本…...

开源模型应用落地-业务优化篇(一)

一、前言 通过参与“开源模型应用落地-业务整合系列篇”的学习,我们已经成功建立了基本的业务流程。然而,这只是迈出了万里长征的第一步。现在我们要对整个项目进行优化,以提高效率。我们计划利用线程池来加快处理速度,使用redis来实现排队需求,以及通过多级环境来减轻负载…...

【遥感专题系列】影像信息提取之——基于专家知识的决策树分类

可以将多源数据用于影像分类当中,这就是专家知识的决策树分类器,本专题以ENVI中Decision Tree为例来叙述这一分类器。 本专题包括以下内容: 专家知识分类器概述知识(规则)定义ENVI中Decision Tree的使用 概述 基于知…...

lqb日志08

一只小蒟蒻备考蓝桥杯的日志 文章目录 笔记坐标相遇判断工作调度问题(抽象时间轴绘制) 刷题心得小结 笔记 坐标相遇判断 我是小懒虫,碰了一下运气,开了个“恰当”的数(7000)如果,7000次还不能…...

SAP EXCEL上传如何实现指定读取某一个sheet页(ALSM_EXCEL_TO_INTERNAL_TABLE)

如何读取指定的EXCEL sheet 页签,比如要读取下图中第二个输出sheet页签 具体实现方法如下: 拷贝标准的函数ALSM_EXCEL_TO_INTERNAL_TABLE封装成一个自定义函数ZCALSM_EXCEL_TO_INTERNAL_TABLE 在自定义函数导入参数页签新增一个参数SHEET_NAME 在源代码…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

关键领域软件测试的突围之路:如何破解安全与效率的平衡难题

在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

【C++进阶篇】智能指针

C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

多元隐函数 偏导公式

我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z​、 …...

node.js的初步学习

那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...