梁工 发表于 2025-5-15 00:06:39

三相无刷直流电机驱动-STC8H-STC32G-无HALL 改进启动算法,启动可靠

本程序试验使用STC32G12K128-LQFP48来驱动无传感器无刷三相直流电机。

本程序试验使用STC8H1K28-LQFP32来驱动无传感器无刷三相直流电机。

之前版本,本意为了简单,所以启动很简单,但由于使用完全开环启动,适应性差。

这个版本修改启动算法,参考了一下论坛网友bhx的启动算法,一些变量定义都意一样的,在此特别感谢bhx!
其程序参考帖子如下:

分享一个低成本STC8H1K08无刷小电调
https://www.stcaimcu.com/thread-17391-1-1.html
(出处: 国芯技术交流网站)

实测启动比较容易成功。启动时检测反电动势正常后再切换到闭环。
不同的电机其特性可能差别很大,如果启动不顺畅,则调整跟电机特性相关的一些宏参数以适应您的电机。
例子提供2个电机的参数,一个是四轴飞行器2212电机(高转速),一个是家用直流风扇电机(低转速),以供参考。
我测试我手上大部分电机都可以,低速的用风扇电机的参数,高速的用2212的参数。
风扇电机由于带16寸的扇叶,惯性很大,所以要慢速启动。而2212带的是大疆的9450桨,惯性小,所以启动快。
P0.3接的电位器用于设定转速, 顺时针旋转电位器电机加速.
电位器ADC读数转换成0~1023,对应设定0~1023/1024,

关于电机转速:
很多人都问电机能转多快,其实程序只关心能换相多快,即电角度转速,电机实际转速跟磁极数有关。
本程序最快换相速度为12KHz,最小换相周期大约80us,对应电角度转速(换相转速)为 12KHz/6 *60=12万转。
实际电机转速跟磁极数N有关,电机转速 = 换相转速 / N/2,N/2也称磁极对数。
四轴飞行器的电机容易看出磁极数,数一下转子上的钕铁硼磁铁数就OK,比如2212电机是12N14P,即12槽14极,12个线圈,14个磁极。
对于2212电机,最高转速为 120000/14/2=17143转。
对于电吹风/吸尘器这类电机,需要很高的转速,只有2个磁极,最高转速就是12万转。



视频1:驱动2212电机,带大疆精灵2原装9450桨:

https://v.stcai.com/sv/1f92510d-196d7c3fc13/1f92510d-196d7c3fc13.mp4

视频2:家用直流风扇电机,带直径40cm扇叶:
https://v.stcai.com/sv/669710fc-196d7c3fc15/669710fc-196d7c3fc15.mp4

STC8H1K28-LQFP32,小功率-中功率-大功率电路,程序相同:




WHX 发表于 2025-5-15 08:46:54

能不能出个有HALL的?

EET-CCPU 发表于 2025-5-15 09:36:05

{:OK:}{:shengli:}

梁工 发表于 2025-5-15 09:36:44

WHX 发表于 2025-5-15 08:46
能不能出个有HALL的?

早就有了:
BLDC, 三相无刷直流电机驱动-STC32G-无HALL 或 带HALL,例子打板测试已OK
https://www.stcaimcu.com/thread-7291-1-1.html
(出处: 国芯技术交流网站)

WHX 发表于 2025-5-15 09:53:29

梁工 发表于 2025-5-15 09:36
早就有了:
BLDC, 三相无刷直流电机驱动-STC32G-无HALL 或 带HALL,例子打板测试已OK
https://www.stcaim ...

哦哦,好的,感谢,去拜读一下{:4_250:}

AI-32位8051 发表于 2025-5-15 10:07:53

帮客户提问:此方案启动没有用到高频注入法,这样有负载的情况,是否会启动不顺畅?

梁工 发表于 2025-5-15 10:13:28

AI-32位8051 发表于 2025-5-15 10:07
帮客户提问:此方案启动没有用到高频注入法,这样有负载的情况,是否会启动不顺畅? ...
我测试都是带的螺旋桨或风扇或水泵,无传感器的电机都是这类负载,低速力矩小,启动正常,负载最重的是家用风扇扇叶,惯性大,都可以启动。
通常市售的电调基本都是方波不带高频注入的,因为那样电路复杂、软件更复杂,对MCU的算力要求高。下面是高频注入法的一点相关知识:


高频注入法启动实现步骤:
对齐阶段:强制给某一相通电,将转子拉到已知位置。
高频注入:注入高频电压信号(如正弦波1K~10KHz)。
信号解调:通过带通滤波提取高频电流响应,计算位置误差。
位置跟踪:使用锁相环(PLL)或观测器跟踪转子位置。
启动换相:根据估算位置启动六步换相,逐步加速至可检测BEMF的速度。

以上要求,处理起来比较复杂,计算也多。

AI-32位8051 发表于 2025-5-15 10:19:10

感谢梁工专业解答{:baoquan:}

月亮很亮 发表于 2025-5-19 13:13:03

梁工威武{:4_213:}{:4_213:}{:4_213:}

旧巷故人 发表于 2025-5-19 15:57:19

希望早日看到用stc做的FOC控制方案
页: [1] 2 3 4
查看完整版本: 三相无刷直流电机驱动-STC8H-STC32G-无HALL 改进启动算法,启动可靠