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超全开源框架.项目和学习资料汇总 ...
随机推荐
- 教你写Spring组件
前言 原文地址:https://www.cnblogs.com/qnlcy/p/15905682.html 一.宗旨 在如日中天的 Spring 架构体系下,不管是什么样的组件,不管它采用的接入方式如 ...
- code-server服务端开发利器,再也不用vim装逼了!!!
一直有个需求,就是万不得已在服务修改代码的时候能有个好的工具,至少比vim要强吧!虽然vim也还行,但是如果比vscode那一定是差了点!这个微软洗心革面的新工具着实不错!从刚开始的鄙视到真香我用了不 ...
- CentOS8系统上Zookeeper安装启动
下载Zookeeper安装包,下载地址为:https://zookeeper.apache.org/releases.html.注意选择bin的gz包,否则安装不成功,提示找不到相应的类. 一.单机模 ...
- Oracle表数据或结构误删还原
数据误删 表结构没有发生改变 --开启表字段转移,不开启无法还原 alter table 表名 enable row movement; --数据闪回 flashback table 表名 to ti ...
- 1、Oauth概念与模式
参考 OAuth 2.0 的一个简单解释
- NSSCTF-[SWPU 2019]伟大的侦探
下载附件得到一个压缩包,解压需要密码,但是得到一个"密码.txt"的文件,打开查看 根据菜狗的刷题经验,这是个EBCDIC的编码,打开010编辑器,打开"密码.txt&q ...
- RENIX流量发送模式——网络测试仪实操
信而泰的RENIX平台支持5种传输模式, 如下图所示. 模式一: continuous Continuous:连续发送流 持续发送方式是默认的发送模式, 它不会自动的停止, 会一直发送, 直到用户手 ...
- gradle , maven , ant , ivy , grant之间的区别
java项目构建工具 gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具. 它抛弃了基于XML的各种繁琐配置.它使用一种基于Groovy的特 ...
- 痞子衡嵌入式:揭秘i.MXRTxxx系列上串行NOR Flash双程序可交替启动设计
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT500/600上串行NOR Flash双程序可交替启动设计. 在上一篇文章 <i.MXRT1170上串行NOR Fla ...
- Anaconda:指令 安装、更新、卸载库
学习总结自:如何使用anaconda安装或更新自己想要的库_xiexu911的博客-CSDN博客_anaconda 安装库 打开Anaconda Prompt后,输入指令及响应 conda list: ...