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开源无刷电调学习记录的更多相关文章

  1. 无刷电调基础知识以及BLHeli固件烧录和参数调整

    标题: 无刷电调基础知识以及BLHeli固件烧录和参数调整 作者: 梦幻之心星 sky-seeker@qq.com 标签: [#基础知识,#电调,#BLHeli,#固件,#烧录,#调参] 目录: [电 ...

  2. 无刷电调修理方法 | 银燕(EMAX)12A无刷电调维修

    一. 银燕(XP-12A)电调修理 笔者的电调在使用4S电池时烧毁,其中一个PMOS管明显烧焦. 将其拆除,买来新元件重新焊接,通电依然冒烟了. 引脚定义 丝印662F: XC6206P332MR 低 ...

  3. 8元电调调参教程(使用Arduino Uno)| BLHeli无刷电调的固件烧写及调参

    前言 淘某上有款8元电调,性价比很高,但是需要简单设置一下 1.材料清单 (1)Arduino UNO开发板 (2)BLHeliSuite 16.7.14.9.0.1 调参软件及固件已上传Gitee: ...

  4. 开源项目Material Calendar View 学习记录 (一)

    开源项目Material Calendar View 学习记录 Github: https://github.com/prolificinteractive/material-calendarview ...

  5. kotlin电商学习记录,好久没来逛逛了

    好久没来,一直做毕业设计,用kotlin写一个基于以图搜图的购物app,现在又赶上实习,内容多,时间少,不过前途光明并由贵人指点.加油 kotlin电商学习记录 技术选型 视图层 kotlin-and ...

  6. 开源库RxJava、ButterKnife学习记录

    1. 简介 RxJava "RxJava is a Java VM implementation of Reactive Extensions: a library for composin ...

  7. stm32通过电调带动电机(可按键调速)

    这几天在做32通过电调带动电机的实验,上网一查,发现这方面的资料很少,经过自己的亲自实践,总结出以下经验,供大家参考. 论坛上也有很多人说自己在做,但是都遇到了同样的瓶颈.我想他们大多是pwm的频率和 ...

  8. MTO1804无刷电机引发的悲惨经历之二:电调固件刷新与优化

    前言 原创文章,转载引用请务必注明链接,水平有限,如有疏漏,欢迎指正. 书接上回,我们总算是基本确认了黑衣神秘电调的身份,本文就尝试对电调固件进行一番设置,来个免费优化. 1.刷新固件 关于电调的固件 ...

  9. 【转】iOS超全开源框架、项目和学习资料汇总

    iOS超全开源框架.项目和学习资料汇总(1)UI篇iOS超全开源框架.项目和学习资料汇总(2)动画篇iOS超全开源框架.项目和学习资料汇总(3)网络和Model篇iOS超全开源框架.项目和学习资料汇总 ...

随机推荐

  1. 07.并发编程Threads

    参考文档 https://www.cnblogs.com/springsnow/p/9409205.html#_label0 1. 基础概念 1.1 进程/线程/多线程 进程(Process) 计算机 ...

  2. socket 套接字编程

    今日内容 socket 套接字编程 简易服务端与客户端代码实现 通信循环 黏包现象(TCP协议) 报头制作.struct 模块.封装形式 内容详细 一.socket 套接字编程 实现一款能够进行数据交 ...

  3. IDEA中快速排除maven中的依赖

    选中该模块 点击show dependenties 切换试图 选中要排除的依赖,右击 选择Execlude,然后选择需要在哪个模块添加排除依赖 完成

  4. ApplicationStartedEvent与ContextStartedEvent有区别吗?

    大家好,我是DD! 今天跟大家聊聊这个问题:ApplicationStartedEvent与ContextStartedEvent有区别吗? 对了,最近花了几周时间,把SpringForAll社区 3 ...

  5. virtualenv 创建隔离工作环境

    在开发 Python 应用程序的时候,每个项目所需要的python版本和各种包依赖都可能不完全一样,我们当然希望当前运行环境只包含对当前项目有用的包依赖,以保证运行环境的干净.virtualenv就是 ...

  6. C++ 派生类函数重载与虚函数继承详解

    目录 一.作用域与名字查找 1.作用域的嵌套 2.在编译时进行名字查找 3.名字冲突与继承 4.通过作用域运算符来使用隐藏的成员 二.同名函数隐藏与虚函数覆盖 1.几种必须区分的情况 2.一个更复杂的 ...

  7. 【C# task】TaskContinuationOptions 位枚举

    TaskContinuationOptions 根据 TaskContinuationOptions 的不同,出现了三个分支 LongRunning:独立线程,和线程池无关 包含 PreferFair ...

  8. navicat12.0.24安装注意事项

    关闭防火墙并断网,或者不要改变安装路径,或者换一个注册机 链接:https://pan.baidu.com/s/1AvEuD6TWGOCisSctF7pcbg  提取码:o4wp

  9. Chrome:开发者模式下选取网页元素对应的代码

    CTRL+SHIFT+C 或者 左上角的类鼠标图标

  10. 错误try……except……else……finally 记录错误logging 抛出错误raise

    1.错误处理机制 try--except--finally 格式: try: 可能出错的代码 except xxx1Error as e: 处理1 except xxx2Error as e: 处理2 ...