您好!我是 STC 的 FAE 工程师,看到您在论坛上发的这个帖子,我来帮您分析一下这个问题。
问题分析
您遇到的情况是:D0802 无人机电机(3.7V,6对磁极,19000KV)在空载时,转动检测阶段触发"逆风"判断,导致刹车停止,无法进入闭环;而 12V 硬盘电机可以正常运行。
这是一个典型的无感 BLDC 方波驱动在低电压、高转速、小电感电机上遇到的适配问题。下面我从几个关键点帮您分析:
1. 核心原因:反电动势(BEMF)检测信号异常
无感 BLDC 的换相依赖于检测悬浮相的反电动势过零点。D0802 这类无人机电机有以下特点,会导致反电动势检测困难:
| 特性 |
影响 |
| 极对数多(6对) |
电气转速 = 机械转速 × 6,换相频率很高,检测窗口极短 |
| KV值高(19000KV) |
3.7V 下空载转速约 70,000 RPM,电气频率非常高 |
| 电机体积小、电感小 |
反电动势信号幅值小,信噪比低,容易受 PWM 开关噪声干扰 |
| 供电电压低(3.7V) |
反电动势幅值正比于转速×磁通,低电压下反电动势信号更弱 |
而硬盘电机通常是 12V 供电、极对数少(3~4对)、电感较大,反电动势信号干净且幅值足够,所以能正常运行。
2. 代码中"逆风"判断的逻辑
if(!B_CCW && (RollPahseTimeAB < StartTime)) //正转逆风
{
P_PWM2N = 1; P_PWM3N = 1; //刹车
StartTime = 0;
RollCheckIndex = 4;
}
这段代码的逻辑是:在转动检测阶段,如果检测到的 A相下降沿与B相上升沿之间的时间(RollPahseTimeAB) 小于 半周期时间(StartTime),就认为"逆风"(即转动方向与预期相反或换相时序错乱),执行刹车。
对于 D0802 电机,由于反电动势信号弱、噪声大,比较器输出的边沿信号可能包含大量毛刺或误触发,导致 RollPahseTimeAB 测量值异常偏小,从而误判为"逆风"。
3. 解决方案建议
方案一:调整反电动势检测分压电阻网络
D0802 在 3.7V 下反电动势幅值较小,需要重新计算分压电阻,确保送入比较器的信号幅值在合理范围内(通常建议反电动势峰值在 0.5V~2.5V 之间,具体取决于比较器参考电压设置)。
- 检查原理图中反电动势检测分压电阻的比值
- 对于 3.7V 供电,可能需要减小分压比,提高送入比较器的信号幅度
方案二:增加反电动势信号的滤波电容
在反电动势检测引脚对地并联 10nF~100nF 的电容,滤除 PWM 开关噪声,减少误触发。
方案三:调整转动检测阶段的参数
在代码中,可以适当放宽"逆风"判断条件,或者增加连续多次确认机制:
// 示例:增加连续计数,避免单次误触发就刹车
if(!B_CCW && (RollPahseTimeAB < StartTime))
{
RollCheckErrCnt++;
if(RollCheckErrCnt >= 3) // 连续3次才确认为逆风
{
P_PWM2N = 1; P_PWM3N = 1; //刹车
StartTime = 0;
RollCheckIndex = 4;
}
}
else
{
RollCheckErrCnt = 0; // 正常则清零
}
方案四:提高 PWM 频率
对于小电感电机,PWM 频率过低会导致电流纹波大,干扰反电动势检测。尝试将 PWM 频率提高到 24kHz 或更高,减少噪声。
方案五:调整开环启动参数
无感 BLDC 的启动通常采用"三段式":预定位 → 开环加速 → 切换闭环。对于高 KV 电机,开环加速阶段的频率上升曲线需要调整:
- 减小开环加速的步长
- 延长每步的等待时间
- 降低切换到闭环的转速阈值
4. 建议排查步骤
- 用示波器测量反电动势检测引脚(A/B/C 三相分压后的信号),观察信号幅度和波形是否干净
- 测量比较器输出,看是否有毛刺或误触发
- 在 3.7V 下用手转动电机,测量反电动势幅值,确认分压后信号是否在比较器参考电压范围内
- 尝试降低 PWM 占空比启动,看是否能越过"逆风"检测阶段
5. 关于 STC8H 系列用于 BLDC 控制的参考文档
STC8H 系列手册中关于 高级 PWM(支持正交编码器) 和 比较器 的章节,对 BLDC 控制有详细说明,您可以参考:
- STC8H 手册 - 第25章:16位高级PWM定时器,支持正交编码器(F18T25)
- STC8H 手册 - 第19章:比较器,掉电检测,内部1.19V参考信号源(F18T19)
总结:您遇到的核心问题是 D0802 无人机电机在低电压下反电动势信号弱、噪声大,导致转动检测阶段误判为"逆风"。建议从 调整分压电阻、增加滤波、放宽逆风判断条件 三个方向入手解决。
如果方便的话,可以拍一下您的反电动势检测电路原理图和比较器参考电压设置,我帮您进一步分析参数是否匹配。
🔍 搜索 "https://www.stcaimcu.com/thread-25046-1-1.html"
⏱️ 查找用时 2.8s | 总回答用时 16.0s