BLDC ESC 无刷直流电子调速器驱动方式
BLDC ESC 无刷直流电子调速器驱动方式
- 1. 源由
- 2. 驱动方法
- 2.1 Trapezoidal 120°
- 2.2 Trapezoidal 150°
- 2.3 Sinusoidal 180°
- 2.4 Field-Orientated Control (FOC)
- 3. FOC(Field-Oriented Control)
- 3.1 引入坐标系
- 3.2 Clarke and Park变换
- Clarke 变换(αβ变换)
- Park 变换(dq变换)
- 3.3 θ \theta θ角度相位推导
- 4. 空间矢量调制
- 4.1 逆变器状态
- 4.2 电压矢量图
- 4.3 参考矢量生成
- 4.4 空间矢量合成
- 5. 总结
- 5.1 正弦波控制(Sinusoidal Control)
- 5.2 FOC(Field-Oriented Control)
- 5.3 分析
- 6. 参考资料
1. 源由
BLDC ESC需要比较复杂的时序和相位控制,才能保证其高效运转。
而这种逻辑控制方式通常是通过控制器+传感电路行程的闭环解决方案。
这里将集中整理当下的方案并做简单介绍,并结合实际情况重点阐述航模上经常用到的驱动方式。
2. 驱动方法
目前看主要有以下几大类:
- Trapezoidal 120°
- Trapezoidal 150°
- Sinusoidal 180° //常见驱动方式,采用PWM驱动
- Field-Orientated Control (FOC) //效率更高,电路更复杂,需要大量计算资源

2.1 Trapezoidal 120°

2.2 Trapezoidal 150°

2.3 Sinusoidal 180°
- Smoother, quiet commutation
- Sinusoidal current produced by using PWM-varying profile for each phase
- Can be sensor or sesorless closed loop
- Speed application for models like copter, plane, boat etc.

2.4 Field-Orientated Control (FOC)

3. FOC(Field-Oriented Control)
3.1 引入坐标系
- ABC坐标系
- α , β \alpha, \beta α,β坐标系
- QD坐标系

3.2 Clarke and Park变换
Clarke 和 Park 变换是电机控制中非常重要的数学工具,主要用于简化三相交流电机的分析和控制。这两种变换可以将三相交流电的复杂相位关系转换成更易于处理的数学形式。

Clarke 变换(αβ变换)
Clarke 变换的主要作用是将三相交流电的电流或电压转换成两个直角坐标轴(α轴和β轴)上的分量。通过这种转换,可以更方便地对三相电机的动态行为进行分析和控制。
公式:假设有三相电流 i a , i b , i c i_a, i_b, i_c ia,ib,ic,克拉克变换将其转换为两个分量 i α i_{\alpha} iα 和 i β i_{\beta} iβ:
i α = i a i_{\alpha} = i_a iα=ia
i β = 1 3 ( i a + 2 i b ) i_{\beta} = \frac{1}{\sqrt{3}}(i_a + 2i_b) iβ=31(ia+2ib)
Park 变换(dq变换)
Park 变换在 Clarke 变换的基础上进一步简化,将 αβ 坐标系中的分量转换成直流形式的 dq 坐标系。这种转换使得电机的动态行为与时间无关,更易于控制。
公式:在进行 Park 变换时,坐标轴通常与电机的旋转磁场同步旋转,定义如下:
i d = i α cos ( θ ) + i β sin ( θ ) i_d = i_{\alpha} \cos(\theta) + i_{\beta} \sin(\theta) id=iαcos(θ)+iβsin(θ)
i q = − i α sin ( θ ) + i β cos ( θ ) i_q = -i_{\alpha} \sin(\theta) + i_{\beta} \cos(\theta) iq=−iαsin(θ)+iβcos(θ)
其中, θ \theta θ 是同步旋转坐标系相对于静止坐标系的相位角。
3.3 θ \theta θ角度相位推导
根据Clarke and Park transformation可以进行以下推导,只要 i a / b / c i_{a/b/c} ia/b/c满足下面条件,就可以确保转子恒定锁住Q方向。
- Step1:在ABC坐标下, i a / b / c i_{a/b/c} ia/b/c以正弦方式进行驱动为:
i a = − i ∗ sin ( θ ) i_a = -i * \sin (\theta) ia=−i∗sin(θ)
i b = − i ∗ sin ( θ − 120 ) i_b = -i * \sin (\theta - 120) ib=−i∗sin(θ−120)
i c = − i ∗ sin ( θ + 120 ) i_c = -i * \sin (\theta + 120) ic=−i∗sin(θ+120)

- Step2:根据Clarke 变换(αβ变换)转换到 α , β \alpha, \beta α,β系统下,其表达式为:
i α = i a = − i ∗ sin ( θ ) i_\alpha = i_a = -i * \sin (\theta) iα=ia=−i∗sin(θ)
i β = i b − i c 3 = i ∗ cos ( θ ) i_\beta = \frac {i_b - i_c} {\sqrt 3} = i * \cos (\theta) iβ=3ib−ic=i∗cos(θ)

- Step3:根据Park 变换(dq变换)转换到 D , Q D, Q D,Q系统下,其表达式为:
i Q = i i_Q = i iQ=i
i D = 0 i_D = 0 iD=0

4. 空间矢量调制
空间矢量调制(Space Vector Modulation,SVM)是一种用于控制电机的高级调制技术,特别是用于三相逆变器中。它通过生成一种优化的电压矢量组合,以达到更好的控制效果。SVM通常用于变频器驱动的交流电机,如无刷直流电机和感应电机。
SVM的核心思想是将三相交流电的参考电压矢量在逆变器的可能输出状态(电压矢量)之间进行插值,以实现对输出电压的精确控制。具体来说:
4.1 逆变器状态
逆变器状态:三相逆变器有8种开关状态(0到7),对应于逆变器输出的8种不同的电压矢量。其中,6个是非零矢量,2个是零矢量。

4.2 电压矢量图
电压矢量图:这8个电压矢量可以表示在一个二维的六边形图上,非零矢量在六边形的六个顶点,零矢量在原点。

4.3 参考矢量生成
参考矢量生成:根据控制要求生成一个参考电压矢量 V ref \mathbf{V}_{\text{ref}} Vref,其位置和幅值代表了电机所需的电压和相位。

4.4 空间矢量合成
空间矢量合成:通过选择相邻的两个非零矢量以及零矢量来合成所需的参考矢量。该过程涉及计算各矢量的作用时间,以确保最终的平均电压矢量与参考矢量一致。

5. 总结
FOC(Field-Oriented Control)和正弦波控制(Sinusoidal Control)是两种用于无刷直流电机(BLDC)控制的不同技术,它们在实现方法和控制效果上有一些显著的区别。
5.1 正弦波控制(Sinusoidal Control)
工作原理:
- 电流波形:正弦波控制通过产生正弦波形的电流,驱动BLDC电机的定子绕组。
- PWM调制:通过PWM(脉宽调制)技术,控制逆变器输出,使得三相绕组中的电流近似为正弦波形。
- 感应电动势:由于BLDC电机的绕组中产生的感应电动势也是正弦波形,正弦波控制能够与其很好地匹配。
- 转矩输出:正弦波控制能够提供平滑的转矩输出,减少了电机的振动和噪音。
优势:
- 简单易用:实现简单,控制策略直接,适合一些简单应用场合。
- 低噪音:由于电流波形是正弦的,电机运转时的噪音和振动较低。
- 低成本:适合成本敏感的应用,控制器实现简单。
劣势:
- 转矩波动:转矩输出在特定条件下可能不如FOC稳定,特别是在低速情况下。
- 效率限制:在某些情况下,效率可能不如FOC高。
5.2 FOC(Field-Oriented Control)
工作原理:
- 坐标变换:FOC通过使用Clarke和Park变换,将三相电流转换到一个直角坐标系(d-q轴)上。
- 独立控制:在d-q轴上,d轴电流用于控制磁链,q轴电流用于控制转矩,实现对转矩和磁链的独立控制。
- 逆变器驱动:经过坐标变换和电流调节后,再将控制信号转换回三相系统,驱动逆变器。
优势:
- 高效率:FOC能够更好地利用电机的磁链,实现更高的效率。
- 精确控制:能够实现对转矩和速度的精确控制,适合高性能应用。
- 响应速度快:能够快速响应电机负载和速度的变化,适合动态要求高的场合。
劣势:
- 复杂性:实现较为复杂,需要更高的计算能力和控制策略。
- 成本高:由于需要更复杂的控制算法和硬件,成本相对较高。
5.3 分析
- 应用场景:正弦波控制适用于简单、成本敏感的应用,具有低噪音和简单易用的特点。FOC适用于高性能、高精度的应用场景,具有高效率、快速响应和精确控制的优势。
- 实现难度:FOC实现复杂度较高,需要更先进的控制算法和硬件支持,而正弦波控制相对简单。
- 转矩输出:FOC在不同速度和负载条件下都能提供平稳的转矩输出,而正弦波控制在低速时可能会出现转矩波动。
根据应用需求和系统要求,可以选择合适的控制策略来实现BLDC电机的驱动。
6. 参考资料
【1】BLDC ESC 无刷直流电子调速器简介
【2】BLDC ESC 无刷直流电子调速器工作原理
【3】BLDC ESC 无刷直流电子调速器工作过程
【4】AM32开源代码之工程结构
相关文章:
BLDC ESC 无刷直流电子调速器驱动方式
BLDC ESC 无刷直流电子调速器驱动方式 1. 源由2. 驱动方法2.1 Trapezoidal 1202.2 Trapezoidal 1502.3 Sinusoidal 1802.4 Field-Orientated Control (FOC) 3. FOC(Field-Oriented Control)3.1 引入坐标系3.2 Clarke and Park变换Clarke 变换(…...
解决 IntelliJ IDEA 编译错误 “Groovyc: Internal groovyc error: code 1” 及 JVM 内存配置问题
在使用 IntelliJ IDEA 进行开发时,我们可能会遇到各种编译和运行错误,其中之一就是 Groovy 编译器错误(Groovyc: Internal groovyc error: code 1)或 JVM 内存不足错误。这类错误可能会影响开发效率,但通过调整 JVM 内…...
LeetCode.2940.找到Alice和Bob可以相遇的建筑
友情提示:这个方法并没有通过案例,只通过了944个案例(很难受),超时了,但是想着还是分享出来吧 题目描述: 给你一个下标从 0 开始的正整数数组 heights ,其中 heights[i] 表示第 i …...
OFD板式文件创建JAVA工具-EASYOFD 四、文字 Text
JAVA版本的OFD板式文件创建工具easyofd. 功能包含了图像、 图像、 文字、和模版页功能。同时也支持OFD文件的数字签名及验签,电子签章及验签。 本JAVA版本的easyofd使用原生方式创建板式文件,不依赖JAVA的SWT库。 项目地址:http://…...
【概念速通】李群 lie group
李群 lie group 概念速通 快速示例介绍:【引入】单位复数 (The unit complex numbers) 是李群 (lie group) 最简单的例子之一【进一步】SO(2): The 2D rotation matrices【Typical uses】SE(2): Pose of a robot in the plane Group & Lie Group 定义࿱…...
day_39
198. 打家劫舍 class Solution:def rob(self, nums: List[int]) -> int:if len(nums) 1:return nums[0]dp [0] * len(nums)dp[0], dp[1] nums[0], max(nums[0], nums[1])for i in range(2, len(nums)):dp[i] max(dp[i - 1], dp[i - 2] nums[i])return dp[len(nums) - …...
计算机系统层次结构
1.计算机系统的组成 计算机系统的组成硬件系统软件系统 2.计算机的硬件部分 2.1冯诺依曼机的结构特点: 图示: 1.五大部分由运算器(ALU),控制器(CU),存储器(主存辅存),输入设备,输出设备五大部分组成2.指…...
java语言特点
Java语言是一种广泛使用的编程语言,它具有以下几个显著的特点: 面向对象:Java是一种纯面向对象的语言,它支持类的封装、继承和多态等特性。面向对象的设计使得Java程序更加模块化,易于维护和扩展。 平台无关性…...
单元测试注解:@ContextConfiguration
ContextConfiguration注解 ContextConfiguration注解主要用于在Spring框架中加载和配置Spring上下文,特别是在测试场景中。 它允许开发者指定要加载的配置文件或配置类的位置,以便在运行时或测试时能够正确地构建和初始化Spring上下文。 基本用途和工…...
大数据-72 Kafka 高级特性 稳定性-事务 (概念多枯燥) 定义、概览、组、协调器、流程、中止、失败
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...
MySQl 中对数据表的增删改查(基础)
MySQl 中对数据表的增删改查(基础) 新增演示插入一条数据插入多条数据 查询全列查询部分列查询查询关于列名的表达式查询时用别名查询去重后的结果查询排序后的结果条件查询比较运算符和逻辑运算符 分页查询 修改删除 黑白图是在命令行里的,彩…...
LVS知识点整理及实践
LVS知识点整理及实践 LVSlvs集群概念lvs概念lvs集群类型lvs-nat模型数据逻辑: lvs-DR模式数据传输和过程:特点: lvs-tun模式数据传输过程:特点: lvs-fullnet模式数据传输过程 lvs调度算法lvs调度算法类型lvs静态调度算法lvs动态调度算法4.15版本内核以后新增调度算法 ipvsadm命…...
Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式
目录 摘要目的安装和卸载特别说明 Ubuntu gnome WhiteSur-gtk-theme类mac主题正确安装和卸载方式 摘要 Ubuntu版本:ubuntu24.04 主题下载地址:https://github.com/vinceliuice/WhiteSur-gtk-theme 参考的安装教程:https://blog.51cto.com/u_…...
计算机毕业设计选题推荐-办公用品管理系统-Java/Python项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...
计算机毕业设计选题推荐-网上考试系统-Java/Python项目实战
✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…...
白骑士的Matlab教学基础篇 1.4 函数与脚本
系列目录 上一篇:白骑士的Matlab教学基础篇 1.3 控制流 函数和脚本是 MATLAB 编程中的基本组成部分,它们使得代码更加模块化、可重用和组织化。通过理解函数的定义与调用、参数与返回值,以及 MATLAB 脚本与批处理,可以显著提高编…...
Qt——多线程
一、QThread类 如果要设计多线程程序,一般是从QThread继承定义一个线程类,并重新定义QThread的虚函数 run() ,在函数 run() 里处理线程的事件循环。 应用程序的线程称为主线程,创建的其他线程称为工作线程。主线程的 start() 函数…...
技术周总结 08.05-08.11周日(scala git回滚)
文章目录 一、08.06 周二1.1) 问题01 mac安装 scala:1. 使用 Homebrew2. 使用 SDKMAN!其他注意事项1. 确认 Scala 安装位置2. 设置 PATH 环境变量对于 zsh (macOS Catalina 及更高版本默认使用 zsh):对于 bash (如果您使用的是 bash shell): 3. 验证安装 二、08.09 周五2.1&…...
ffmpeg 命令图片和视频转换
1、截图 ffmpeg -i d:\input.mp4 -ss 0:0:10 d:\output.jpg //指定输出分辨率 ffmpeg -i d:\input.mp4 -y -f image2 -ss 0:0:10 -vframes 1 -s 640x360 d:\output.jpg 2、视频分拆图片 ffmpeg -r 输入帧率 -i d:\input.mp4 -r 输出帧率 "d:\outputDir\frame_%04d.jp…...
力扣 | 动态规划 | 在字符串的应用 | 最长回文子串、最长回文子序列、单词拆分、编辑距离
文章目录 1.最长回文子串2.最长回文子序列3.单词拆分4.编辑距离5. 共同点和思路6. 各个问题的思路和扩展1. 最长回文子串2. 最长回文子序列3. 单词拆分4. 编辑距离 在解答字符串动态规划的应用时,我们需要非常注意一个问题: 有时候我们定义 d p [ i …...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...
力扣热题100 k个一组反转链表题解
题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
