[BLHeli-S]1. EFM8最小系统板测试BLS固件 0. 环境- win10笔记本- EFM8BB21核心板- arduino nano1. 制作下载器1.1 打开软件BLHeliSuite.exe1.2 打开arduino- Make interfaces- Port: COM7 USB Serial Port1.3 烧录下载器固件- Make interfaces - Make Arduino Interface Boards - Arduino Board: Nano w/ATmega328 - Baud: 57600 - 点击 Arduino 4way-interface - Select Interface Options - 保持默认勾选 SLIABS and ATMEL switchable (for c2, BLHeli or SK Bootloader) - OK - 4wArduino_Nano__16_PD3PD2v20006.hex - 打开 - Confirm - Do you want to flash your Arduino Nano w/ ATmega328 at COM7 with: 4wArduino_Nano__16_PD3PD2v20006.hex - Yes我手上的Arduino nano是old bootloader的是57600波特率的。新的用115200。1.4 选择BLHeliSuite.exe - Select ATMEL / SILABS Interface - SILABS C2(4way-if)1.5 参考[1]BLHeli电调固件烧录工具C2下载器制作方法https://blog.csdn.net/weixin_45031928/article/details/136254726[2]MKSESC BL45A V1.0 Manualhttps://github.com/makerbase-motor/MKS-BLheli[3]BLHeli_S电调 调试过程https://zhuanlan.zhihu.com/p/7054965402. 烧录BLS2.0 固件代号说明The first letter indicates the MCU pin (J for EFM8BB21F16G-C);The second letter is L or H (L represents 24MHz MCU, H represents 48MHz MCU);The last two numbers represent the FETs switching dead time. The unit is 20.4ns.Somefield effect transistor drivers have adaptive field effect transistor dead timecontrol. For these MOS transistors, 00 is used to represent the field effecttransistor switching dead time.2.1 烧录BLHeliSuite.exe - SiLabs ESC Setup - Read Setup - Confirm: ESC#1 seems to be erased before. Do You want to Flash it with BLHeli Firmware? - Yes - Flash Assistant for Target ESC #1: - Flash to: J-H-30 - OK - WARNING - Yes2.2 重启BLHeliSuite.exe- SiLabs ESC Setup- 点击 Restart ESC3. 观察开关信号这里观察3相逆变桥的门级信号。死区时间switching time指逆变桥相同桥臂上下两个MOS管为了避免同时导通而预留的开关时间。3.1 J-H-30死区时间J-H-30死区时间 600ns。3.2 J-H-50死区时间J-H-50死区时间 1000ns。3.3 读取参数PWM会全部高电平这里是逻辑分析仪显示引脚全部是高电平。但是逻辑分析仪无法识别引脚是否高阻。我还是尽量避免在线修改参数了不知道会不会炸管。3.4 连接遥控器连接遥控器遥控器油门调节时PWM变化4. 编译固件测试4.0 环境keil c51 arm4.1 keil打开keilD:\Keil\mdk5\UV4\UV4.exe4.2 新建工程keil - Project - New uVision Project- Create New Project- E:\Workspaces\mdk\BLHeli_S\mdk\BLHeli_S- 保存- Select Device for Target- efm8bb21f16g-qfn20- OK- uVision- Copy SILABS_STARTUP.A51 to project Folder and Add File to Project?- 否4.3 准备源码把BLHeli-master.zip\BLHeli-master\BLHeli_S SiLabs拷贝到E:\Workspaces\mdk\BLHeli_S\mdk\BLHeli_S SiLabs4.4 添加源码到keilkeil - 点击图标File Extensions, Books and Environment- Project Items- Target 1 改名为 EFM8BB21F16Gkeil - 点击图标File Extensions, Books and Environment- Project Items- EFM8BB21F16G- Groups- Source Group 1- Files:- 添加 E:\Workspaces\mdk\BLHeli_S\mdk\BLHeli_S SiLabs\BLHeli_S.asm4.5 修改 BLHeli_S.asm4.5.1 引脚;**** **** **** **** **** ; Select the port mapping to use (or unselect all for use with external batch compile file) ;ESCNO EQU A_ ;ESCNO EQU B_ ;ESCNO EQU C_ ;ESCNO EQU D_ ;ESCNO EQU E_ ;ESCNO EQU F_ ;ESCNO EQU G_ ;ESCNO EQU H_ ;ESCNO EQU I_ ;ESCNO EQU J_ ;ESCNO EQU K_ ;ESCNO EQU L_ ;ESCNO EQU M_ ;ESCNO EQU N_ ;ESCNO EQU O_ ESCNO EQU P_ ;ESCNO EQU Q_ ;ESCNO EQU R_ ;ESCNO EQU S_ ;ESCNO EQU T_ ;ESCNO EQU U_ ;ESCNO EQU V_ ;ESCNO EQU W_ ;ESCNO EQU X_ ;ESCNO EQU Y_ ;ESCNO EQU Z_ ;ESCNO EQU A_X_ ; Requires MCU_48MHZ2 ;ESCNO EQU B_X_ ; Requires MCU_48MHZ2 ;ESCNO EQU C_X_ ; Requires MCU_48MHZ2 ;ESCNO EQU D_X_ ; Requires MCU_48MHZ2 ;ESCNO EQU E_X_ ; Requires MCU_48MHZ24.5.2 主频;**** **** **** **** **** ; Select the MCU type (or unselect for use with external batch compile file) MCU_48MHZ EQU 14.5.3 死区时间;**** **** **** **** **** ; Select the fet deadtime (or unselect for use with external batch compile file) FETON_DELAY EQU 50 ; 20.4ns per step4.6 编译出hexkel - Project - Options for target- Output- 勾选 Create HEX File- OK最终还是没有使用自行编译的。用了BLHeliSuite程序内自带的已经编译好的固件。参考[1]BLHeli源码https://github.com/bitdump/BLHeli [2]无刷电调--BLHELI_S的学习笔记https://blog.csdn.net/weixin_49813749/article/details/107823870 [3]【Quad FPV】BLDCBLHeli_S从硬件PCB设计到Keil编译、下载https://blog.csdn.net/qq_41100189/article/details/119832506 [4]小牛/blheli_s_keilhttps://gitee.com/red_niu/blheli_s_keil/tree/master [5]开源文档教程/KEIL编译BLHeli_S正确方式指南https://gitcode.com/Open-source-documentation-tutorial/a9dd7/blob/main/README.md

相关新闻

最新新闻

Unity集成MediaPipe:移动端AI视觉开发实战与优化指南

Unity集成MediaPipe:移动端AI视觉开发实战与优化指南

1. 项目概述:为什么Unity开发者需要关注MediaPipe?如果你是一名Unity开发者,最近在琢磨怎么把手势识别、姿态估计或者人脸检测这些酷炫的AI视觉功能塞进你的游戏或应用里,那你大概率已经踩过几个坑了。要么是发现OpenCV for Unity…

2026/8/4 9:40:43
NFS服务器配置与性能优化实战指南

NFS服务器配置与性能优化实战指南

1. NFS服务器基础认知第一次接触NFS(Network File System)是在2013年负责公司内部文件共享项目时。当时我们需要在20多台Linux服务器之间实时同步日志文件,传统的FTP传输方式不仅效率低下,还经常出现版本冲突。NFS的共享挂载特性完美解决了这个问题&…

2026/8/4 9:40:43
MySQL Sleep进程过多诊断与根治:从连接池优化到应用代码规范

MySQL Sleep进程过多诊断与根治:从连接池优化到应用代码规范

1. 项目概述:当MySQL的“睡眠”进程成为系统负担如果你负责维护一个线上MySQL数据库,某天突然收到告警,说数据库连接数快要爆了,或者服务器内存/CPU使用率异常飙升,登录服务器一看,SHOW PROCESSLIST;命令返…

2026/8/4 9:40:43
Active Directory组策略对象(GPO)创建与链接实战指南

Active Directory组策略对象(GPO)创建与链接实战指南

1. 项目概述:为什么GPO是域管理的核心在任何一个规模稍大的企业IT环境中,管理几十台甚至上千台计算机和用户的配置,如果还靠手动一台台去设置,那简直是运维人员的噩梦。想象一下,你需要给所有市场部的电脑设置统一的浏…

2026/8/4 9:40:43
AI代码审计如何重塑开源安全生态:从风险到主动防御

AI代码审计如何重塑开源安全生态:从风险到主动防御

1. 项目概述:当AI成为代码审计的“双刃剑”最近在开发者社区里,一个话题讨论得挺热闹:AI代码审计工具越来越强,能像“透视镜”一样扫描出开源项目里潜藏的各类安全漏洞。这本是件好事,但随之而来的一个担忧是&#xff…

2026/8/4 9:40:43
Blender MMD Tools插件深度解析:从格式鸿沟到创作自由的完整技术路径

Blender MMD Tools插件深度解析:从格式鸿沟到创作自由的完整技术路径

Blender MMD Tools插件深度解析:从格式鸿沟到创作自由的完整技术路径 【免费下载链接】blender_mmd_tools MMD Tools is a blender addon for importing/exporting Models and Motions of MikuMikuDance. 项目地址: https://gitcode.com/gh_mirrors/bl/blender_mm…

2026/8/4 9:35:43