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。