BLHeli/ BLHeli_S开源无刷电调学习记录
BLHeli的历史轨迹:BLHeli -> BLHeli_S -> BLHeli_32,我们重点学习BLHeli_S版本。
该代码支持常规的1-2ms脉冲宽度输入,以及Oneshot125(125-250us)、Oneshot42(41.7-83.3us)和Multshot(525us)。
还支持三种Dshot信号速率(rev16.5)、Dshot150、Dshot300和Dshot600。
固件命名:
BLHeli_S代码除了修订版外,还用一个字母、另一个字母和两个数字命名。例如"A_L_10_REV16_0.HEX"。
第一个字母表示MCU的引脚;
第二个字母是L或H(L代表24MHz MCU,H代表48MHz MCU);
这两个数字表示FET的开关死区时间。单位为20.4ns。一些场效应晶体管驱动器具有自适应场效应晶体管死区时间控制,对于这些MOS管,则用00表示场效应晶体管开关死区时间。
编程参数:
可设置参数
启动功率:
启动功率可设置为0.031到1.5之间的相对值。这是启动期间允许的最大功率。实际应用的功率取决于节气门输入,可以更低,但最低电平是最高电平的四分之一。
启动功率也会影响双向操作,因为该参数用于限制方向反转期间应用的功率。
对于低转速,电机的最大功率是有限的,以便于检测低反电势电压。允许的最大功率可通过启动功率参数设置。较低的启动功率参数将为较低转速提供较低的最大功率(这从rev16.1开始实施)。
换向时间:
换向定时可设置为低/中低/中/中高/高,对应于00/7.50/150/22.50/300定时提前。
一般来说,一个中等设置将工作良好,但如果电机口吃它可以是有益的改变时间。一些高电感的电机可以有很长的换相退磁时间。这可能会导致电机停止或口吃时,快速油门增加,特别是在运行在低转速。将定时设置为高将允许更多的时间去消磁,通常是有帮助的。
消磁补偿:
消磁补偿是一种保护电机不因换相后较长的绕组退磁时间而失速的功能。典型的症状是发动机停止或快速增加油门时卡顿,特别是在低转速运行时。如上所述,设置高换向时间通常有帮助,但以效率为代价。
消磁补偿是解决这一问题的另一种方法。首先,它检测何时出现了demag情况。
- 在这种情况下,没有关于电机正时的信息,并且换相是盲目地以预测的正时进行的。
- 除此之外,在下一次换向前的一段时间内,电机电源被切断。计算出一个指标,表明demag情况有多严重。形势越严峻,越是停电。
当demag补偿设置为关闭时,电源永远不会切断。
当设置为低或高,电源被切断。对于高设置,断电更为猛烈。
通常,补偿参数的值越高,保护效果越好。
如果demag补偿设置得太高,最大功率可能会有所降低。
方向:
旋转方向可设置为前进/后退/双向前进/双向后退。
在双向模式下,中央油门为零,上面为前进方向旋转,下面为反向旋转。当选择双向操作时,TX编程被禁用。
嘟嘟声强度:
设置正常运行时的蜂鸣音强度。
信标强度:
设置蜂鸣信标蜂鸣时蜂鸣的强度。如果油门信号在给定时间内为零,电子悬架控制系统将开始发出蜂鸣声。请注意,设置高信标强度可能会导致电机或ESC过热!
信标延迟:
信标延迟设置信标哔哔声开始前的延迟。
TX编程:
如果禁用,则禁用油门校准。
最小油门、最大油门和中值油门:
这些设置设置ESC的油门范围。中央油门仅用于双向操作。为这些设置提供的值适用于正常的1000us到2000us输入信号,对于其他输入信号,这些值必须按比例缩放。
热保护:
可以启用或禁用热保护。温度阈值可以在800C和1400C之间编程(可编程阈值从rev16.3开始执行)。可编程阈值主要是为了支持硬件制造商使用,因为不同的硬件可以对所使用的各种组件的最高温度有不同的公差。
低转速功率保护:
可以启用或禁用低转速的功率限制。禁用它可能是必要的,以实现在低电源电压下运行的一些低kV电机的全功率。但是,禁用它会增加同步丢失的风险,并可能导致电机或电子稳定控制系统过热。
停止时制动:
可以启用或禁用制动停止。启用时,油门为零时将应用制动器。对于非零油门,此设置无效。
LED控制:
LED可以在支持它的ESC上控制。最多可以打开或关闭4个LED。
待命名序列:
下图显示了油门值与时间的关系示例。
100%上电时,电子稳定控制系统鸣叫3次。
当检测到油门信号时,它会发出一声低沉的哔哔声。这表示开始警戒序列。
然后,当或如果油门为零,它会发出一声高音哔哔声。这标志着警戒序列的结束。
此外,如果在启用顺序期间检测到100%油门,电子悬架控制系统将开始油门校准。
如果电子稳定控制系统处于待命状态,并在给定时间内看到零油门,它会发出信标哔哔声,大约每三秒发出一声哔哔声。
输入信号:
可用的油门校准范围为1000us到2000us,最小和最大油门之间的差值必须大于140us(双向模式下为70us)。如果在差值小于140us(70us)的情况下进行校准,则将移动最大值,使差值为140us(70us)。
Oneshot125模式的工作原理与常规的1-2ms模式相同,唯一的区别是所有计时都除以8。对于Oneshot42也是一样的,所有的时间被3进一步除。Multishot的工作原理也类似,只是输入信号范围为5-25us。
输入信号总是用MCU时钟采样,频率为24MHz或48MHz。
对于以24MHz运行的MCU,不建议输入信号脉冲速率高于8kHz。
对于运行在48MHz的MCU,支持高达32kHz的输入信号脉冲率。
但请记住,信号速率快于陀螺仪或PID环路的FC没有意义,它只会导致不必要的MCU加载。
Dshot150理论上支持高达8kHz的输入速率,Dshot300支持16kHz和Dshot600支持32kHz。以24MHz运行的MCU不支持Dshot600。通常建议在Dshot300上运行48MHz mcu,因为Dshot600更高的信令速度带来的好处被Dshot300增加的利润和健壮性所抵消。同样,对于24MHz MCU,Dshot150是建议的最大值。
当输入信号为Dshot时,将禁用油门校准,并忽略油门校准值。
热保护:
ESC测量MCU内的温度,如果温度过高,则限制电机功率。电机功率分四步限制:
- 如果温度高于临界值,电机功率限制在75%。
- 如果温度高于阈值加上50摄氏度,电机功率限制在50%。
- 如果温度高于阈值加上100摄氏度,电机功率限制在25%。
- 如果温度高于阈值+150℃,则电机功率限制为0%。
失速保护:
如果电机已尝试启动但几秒钟内未成功,它将停止尝试并等待油门归零,然后再尝试。
再生制动/主动续驶:
阻尼光模式是通过再生制动实现的,固有的主动续驶也是实现的。
然后,由于制动而产生的损失被主动自由转动减少的损失抵消。
电机PWM:
电机PWM频率始终为24kHz。对于在具有自动死区控制的esc上以48MHz运行的mcu,分辨率为2048步。在具有固定死区时间的esc上,PWM分辨率为1024步。对于以24MHz运行的MCU,PWM分辨率为一半。
最大速度:
对于带有24MHz MCU的ESC,最大速度限制为350k eRPM,此时电机的功率受到限制。对于MCU运行频率为48MHz的ESC,这个数字是500k eRPM。对于Dshot输入信号,支持的最大eRPMs有所减少。
蜂鸣音-正常操作:
通电:
一次
检测到油门信号(启用顺序开始):
一次
检测到零油门(报警序列结束):
一次
之后,电机将运行。
嘟嘟声-油门校准:
通电:
一次
检测到油门信号(启用顺序开始):
一次
当油门高于中间档(测量最大油门):
测量时
如果节气门高于节拍中点3秒:
一次
此蜂鸣音序列表示已存储最大油门
当油门低于中间档(测量最小油门):
测量时
如果节气门低于节拍中点3秒:
一次
此蜂鸣音序列表示已存储最小油门
此时将存储节气门校准值。您可以切断ESC的电源,或者继续运行ESC。
BLHeli/ BLHeli_S开源无刷电调学习记录的更多相关文章
- 无刷电调基础知识以及BLHeli固件烧录和参数调整
标题: 无刷电调基础知识以及BLHeli固件烧录和参数调整 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#基础知识,#电调,#BLHeli,#固件,#烧录,#调参] 目录: [电 ...
- 无刷电调修理方法 | 银燕(EMAX)12A无刷电调维修
一. 银燕(XP-12A)电调修理 笔者的电调在使用4S电池时烧毁,其中一个PMOS管明显烧焦. 将其拆除,买来新元件重新焊接,通电依然冒烟了. 引脚定义 丝印662F: XC6206P332MR 低 ...
- 8元电调调参教程(使用Arduino Uno)| BLHeli无刷电调的固件烧写及调参
前言 淘某上有款8元电调,性价比很高,但是需要简单设置一下 1.材料清单 (1)Arduino UNO开发板 (2)BLHeliSuite 16.7.14.9.0.1 调参软件及固件已上传Gitee: ...
- 开源项目Material Calendar View 学习记录 (一)
开源项目Material Calendar View 学习记录 Github: https://github.com/prolificinteractive/material-calendarview ...
- kotlin电商学习记录,好久没来逛逛了
好久没来,一直做毕业设计,用kotlin写一个基于以图搜图的购物app,现在又赶上实习,内容多,时间少,不过前途光明并由贵人指点.加油 kotlin电商学习记录 技术选型 视图层 kotlin-and ...
- 开源库RxJava、ButterKnife学习记录
1. 简介 RxJava "RxJava is a Java VM implementation of Reactive Extensions: a library for composin ...
- stm32通过电调带动电机(可按键调速)
这几天在做32通过电调带动电机的实验,上网一查,发现这方面的资料很少,经过自己的亲自实践,总结出以下经验,供大家参考. 论坛上也有很多人说自己在做,但是都遇到了同样的瓶颈.我想他们大多是pwm的频率和 ...
- MTO1804无刷电机引发的悲惨经历之二:电调固件刷新与优化
前言 原创文章,转载引用请务必注明链接,水平有限,如有疏漏,欢迎指正. 书接上回,我们总算是基本确认了黑衣神秘电调的身份,本文就尝试对电调固件进行一番设置,来个免费优化. 1.刷新固件 关于电调的固件 ...
- 【转】iOS超全开源框架、项目和学习资料汇总
iOS超全开源框架.项目和学习资料汇总(1)UI篇iOS超全开源框架.项目和学习资料汇总(2)动画篇iOS超全开源框架.项目和学习资料汇总(3)网络和Model篇iOS超全开源框架.项目和学习资料汇总 ...
随机推荐
- Solution -「JSOI 2019」「洛谷 P5334」节日庆典
\(\mathscr{Description}\) Link. 给定字符串 \(S\),求 \(S\) 的每个前缀的最小表示法起始下标(若有多个,取最小的). \(|S|\le3\time ...
- Solution -「Gym 102956B」Beautiful Sequence Unraveling
\(\mathcal{Description}\) Link. 求长度为 \(n\),值域为 \([1,m]\) 的整数序列 \(\lang a_n\rang\) 的个数,满足 \(\not\ ...
- .NET 云原生架构师训练营(权限系统 代码重构)--学习笔记
目录 模块拆分 代码重构 模块拆分 代码重构 AuthenticationController PermissionController IAuthorizationMiddlewareResultH ...
- 使用并发 ssh 连接来提升捞日志脚本执行效率
问题背景 公司有个简单粗暴的日志服务,它部署在多台机器实例上,收集的日志记录在每台机器本地硬盘,写一个小时自动切换日志文件,硬盘空间写满了自动回卷,大约可以保存两三天的历史数据.为什么说它粗暴呢?原来 ...
- 【Python自动化Excel】pandas处理Excel的“分分合合”
话说Excel数据表,分久必合.合久必分.Excel数据表的"分"与"合"是日常办公中常见的操作.手动操作并不困难,但数据量大了之后,重复性操作往往会令人崩溃. ...
- ClickHouse在大数据领域应用实践
一.序言 面向大数据量查询数据库,优点是在较大数据量(千万级)的前提下具有较好的查询性能. 1.应用场景 ClickHouse应用于OLAP(在线分析处理)领域,具体来说满足如下特点使用此技术比较合适 ...
- python-关键字驱动接口框架中,接口关联字段进行值替换的实现方式
前言 编写关键字驱动的接口自动化测试框架中,通过不同的取值方式,将需要关联的字段以及取出的值放到一个空字典中,需要将关联的字段进行值替换,下面是替换的实现方式 实现思路 import re temp_ ...
- [BACKUP] Visual Studio Code 配置
0 VSCode 便携模式:https://code.visualstudio.com/docs/editor/portable#_enable-portable-mode 1. 字体 FiraCod ...
- 【windows 访问控制】六、安全标识符(SID Security Identifiers)
安全标识符(SID Security Identifiers) SID是用来标识安全主体.就是给安全主体一个唯一的ID.用户层面通过用户账户名识别,程序和资源之间通过SID识别. 什么是安全标识符? ...
- 一个C#程序的执行过程
可能很多人都知道我们把程序打包成dll就丢出去了,但是里面的具体的执行过程是怎么样的呢. 程序集是由元数据和IL组成的.IL是和CPU无关的语言,是微软的几个专家请教了外面的编译器的作则,开发出来的. ...