三相无刷电机驱动-32G系列-无HALL-PID控制-OLED显示-串口绘图 启动改进版本
/************* 功能说明 **************本程序试验使用 32G12K128-LQFP48 来驱动无传感器无刷三相直流电机,使用PID控制.
关于无感三相无刷直流电机的原理, 用户自行学习了解, 本例不予说明.
本例使用四轴飞行器2212电机带大疆9450桨测试,效果不错,速度稳定,请看视频。
P0.3接的电位器用于设定转速, 顺时针旋转电位器电机加速.
或者使用串口设定转速,也可以允许返回数据用串口绘图显示设定转速、当前转速、PWM值曲线。
电位器ADC读数转换成0~2047,对应设定转速0~204.7转/秒,
串口命令切换电位器还是串口设定转速。测试时如果电机装有螺旋桨,请务必注意安全,
由串口控制切换到电位器控制前请确认电位逆时针转到底。
I2C接口OLED12864显示相关参数。
串口单字符指令(不分大小写):
0:不返回串口绘图数据(上电默认)
1: 返回串口绘图数据
V:允许电位器控制转速(上电默认)
U: 允许串口控制,上电默认电位器控制
单字符命令回显本字符。
串口发送字符串设置采样时间、目标转速、pGain、iGain、dGain,数据之间逗号分隔:
8,60,10,200,100,
8: 采样(处理)时间间隔, ms.
60: 目标速度, 单位: 转/秒. 电位器调速时忽略.
10: pGain比例增益, 单位: *1
200:iGain积分增益, 单位: *0.001
100:dGain微分增益, 单位: *0.001
******************************************/
以前版本,本意为了简单,所以启动很简单,但由于使用完全开环启动,适应性差。
这个版本修改启动算法,参考了一下论坛网友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万转。
电路预览,附件有详细电路。
电位器控制的响应曲线:
串口控制的响应曲线,40.0转/秒(2400转/分)
与70.0转/秒(4200转/分)的切换响应曲线:
演示视频:
https://v.stcai.com/sv/34acfe3d-18ec5923503/34acfe3d-18ec5923503.mp4
BLDC, 三相无刷直流电机驱动-STC8/STC32-无HALL, 12万转, 视频讲解,梁工例子 - BLDC/144MHz时钟源PWM/45路PWM+3路CCP/7组不同周期的PWM/DAC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
BLDC, 三相无刷直流电机驱动-STC32G-无HALL或带HALL,例子打板测试已OK - BLDC/144MHz时钟源PWM/45路PWM+3路CCP/7组不同周期的PWM/DAC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)
网友根据梁工开源的软硬件
制作并测试三相无刷电机驱动-STC32G开发板(主控:STC32G12K128)
此开发驱动板(可用于验证官网上开源的程序)
有霍尔传感器,无传感器,串口控制,电位器调速,PPM调速,OLED屏显示,等功能如您不想自己画板的话,可以加我微信:19952583740 购买
效果图如下:
PCB图如下:
无感上电启动无刷电机
无感驱动航模2312A无刷电机,加减速测试
无刷电机驱动宽电压25-105V25W无叶风扇无刷电机
STC32G12K128主控,驱动10万转无刷电机
STC32G12K128主控,驱动驱动极飞A45无人机3000瓦无刷电机从0转起动到最高速,12V电压
0.1瓦的功率即可启动1500瓦无刷电机
STC32G无刷电机驱动板驱动24V三轮车无刷电机,启动,停止,加减速平稳!
12V0.5A驱动24V三轮车无刷电机,扭力强劲,徒手捏紧轴套加载,
能达到12V2.5-3A左右,轴仍然转动,足以证明扭力强劲!
STC32G板子,同一个程序,驱动多个不同类型无刷电机的视频效果
STC32G主控,驱动大功率的1000瓦割草机无刷电机,空载测试,起动,加速,减速,停止。
均可靠快速响应视频效果
自制STC32G主控芯片无刷电机驱动板带负载服务器暴力风扇,
实战测试!12V10A电流自动保护,风冷无散热片,功率达120瓦,MOS管不冒烟!
梁工威武梁工威武梁工威武 学习了,谢谢 梁工,请问提供的“无刷32G2.PCB”用DXP打不开,出现了“无识别的文件类型”提示 jhxczy 发表于 2024-4-18 13:03
梁工,请问提供的“无刷32G2.PCB”用DXP打不开,出现了“无识别的文件类型”提示 ...
兼容问题吧,我用的是PROTEL画的。 梁工 发表于 2024-4-18 13:33
兼容问题吧,我用的是PROTEL画的。
用嘉立创的EDA也导入不进去{:4_265:} {:4_250:} 本程序试验使用 STC32G12K128-LQFP48 来驱动无传感器无刷三相直流电机,使用PID控制.