黄工无刷电机学习
直播中

李静

7年用户 906经验值
私信 关注
[问答]

如何用NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH演示BLDC电机的无感控制

无刷直流 (BLDC)电机有哪些优点?
在BLDC.C中怎样去修改GetBldcHall函数?
如何用NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH演示BLDC电机的无感控制?

回帖(1)

卫斯晾

2021-8-2 09:44:09
前言
无刷直流 (Brushless Direct Current, BLDC)电机是一种正快速普及的电机类型,它可在家用电器、汽车、航空航天、消费品、医疗、工业自动化设备和仪器等行业中使用。正如名称指出的那样,BLDC 电机不用电刷来换向,而是使用电子换向。BLDC 电机和有刷直流电机以及感应电机相比,有许多优点。其中包括:
• 更好的转速-转矩特性
• 快速动态响应
• 高效率
• 使用寿命长
• 运转无噪音
• 较高的转速范围此外,
由于输出转矩与电机体积之比更高,使之在需要着重考虑空间与重量因素的应用中,大有用武之地。

无刷电机
前面的课程内容我们讲了无刷电机有感方式控制,有6步方波控制,FOC控制等,但这些控制也得到电机的转子位置,即需要额外的电机转子位置检测传感器,前面的课程我们也学习过步进电机的基本控制方法,那么三相无刷电机BLDC/PMSM能否也像步进电机一样控制它运转呢,其实也是可以的(不过电机的控制效率不高),本节将用NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH快速为演示一下BLDC电机的无感控制(步进电机方式,6步方波换相)!
本节所用电机为2836无刷电机,电机有两组线(hall传感器线和电机三相线),工作电压24V,最大转速12000rpm:
示例详解
本节用到ST官方推出的NUCLEO-F103RB和X-NUCLEO-IHM07M1 3SH 开发板。
NUCLEO-F103RB对应的大致原理接线图:

X-NUCLEO-IHM07M1 3SH部分原理图:



准备操作
X-NUCLEO-IHM07M1 3SH是一款专门用于PMSM(永磁同步)或BLDC(直流无刷 )的电机驱动板,其电机驱动板驱动芯片型号为L6230(详细数据手册可在st官网下载),本节主要目的是给大家演示无位置传感器时的BLDC 6步方波控制(步进式),仅需让BLDC电机实现简单正反转动即可,仅需用到IN1,IN2, IN3和OUT1,OUT2,OUT3以及HALL传感器信号接口H1,H2,H3。


需要用到的信号
对应MCU引脚
EN1
PC10
IN1
PA8
EN2
PC11
IN2
PA9
EN3
PC12
IN3
PA10
H1(本节不用)
PA15
H2(本节不用)
PB3
H3(本节不用)
PB10
为了更加简单地介绍清楚BLDC 6 步方波控制的具体实现,为了实现电机的速度控制,本节直接使用STM32的TIM1产生三路PWM波对应信号IN1、IN2、IN3,通过调节PWM波占空比实现电机的速度控制;将EN1、EN2、EN3配置成普通输出IO口输出模式,(接下来红色内容本节用不上,可不管)H1,H2,H3配置成TIM2的hall传感器模式,并开启T1的捕获中断,中断触发模式为双边触发模式,在中断服务程序中实理更加快带的电机换相(6步换步)操作。
本节工程直接在《STM32 电机教程 11 - BLDC 6 步方波开环速度控制》一节工程基础上修改即可,直接修改源代码:
在BLDC.C中修改GetBldcHall函数:

在BLDC.C中修改BldcStart函数:

最后修改main.c:

设置工程下载后自动运行:


编译程序无误后,下载运行程序,可以看到电机可以成功运转起来,要控制电机的正反转,只需控制虚拟HALL状态的产生顺序,即修改GetBldcHall函数中代码是i%6 + 1还是(i+4)%6 +1:

控制电机转速只需修改虚拟HALL状态产生的时间间隔:



OK,本期实验完成!本节是将无刷电机按步进电机的控制思路来进行控制,即虚拟的开环6步控制,并成功实现了电机的正转反,不过电机转动时效率不高,电流大,同时转矩波动(6步方波控制的缺点)也比较大,下一讲我们将试试无刷电机的无感步进控制中将6步细分,用SPWM波控制方式来控制!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分