APP下载

基于STM32的无刷直流电机控制系统*

2019-06-25童宏伟张莉萍申景双陈宇晨

传感器与微系统 2019年7期
关键词:中断定子芯片

童宏伟, 张莉萍, 申景双, 解 大, 陈宇晨

(1.上海工程技术大学 电子电气工程学院,上海 201600;2.上海海维工业控制有限公司,上海 201499;3.上海交通大学 电子信息与电气工程学院,上海 201100)

0 引 言

无刷直流(brushless DC,BLDC)电机是一种永磁同步电机。其转子为永磁体,定子是按照星型方式连接起来的三个线圈,对这三个线圈不断转换通电,使得转子跟随者定子磁场不断变化而转动,通过这种方法实现了电子换向代替了传统电机的机械换向,具有效率高,响应快,噪音小等优点[1]。BLDC电机已经在越来越多的行业广泛应用。本文根据其无刷直流电机原理以及特点设计了一种基于STM32的电机控制系统。详细介绍了其硬件电路组成,包括驱动电路、隔离电路、位置检测电路、电流采样电路等。在硬件电路基础上分析软件实现方案。最终,通过实验验证该系统的可行性。

1 BLDC电机工作原理

BLDC电机主要由定子和转子构成,固定在电机周围的电枢绕组作为定子,电机中心永磁体为转子,对定子通电会产生电磁场,使得转子N极指向磁场方向。改变定子通电顺序,磁场方向不断改变,定子则跟随磁场方向不断转动[2]。定子三相绕组A,B,C以星型方式分别连接到三相桥式逆变电路中三个桥臂,控制开关管的通断对三相绕组中的任意两相不断转换通电,霍尔位置传感器确定各个开关管导通顺序,保证磁场方向与电机定子N极方向垂直,产生最大转矩。换相控制电路根据霍尔传感器信号控制开关管导通[3]。每个周期内开关管按顺序导通,转子跟随定子磁场方向转动,从而实现了无刷直流电机的转动。

2 系统设计方案

系统硬件电路主要包括STM32控制电路、基于IR2136驱动芯片的驱动电路、三相全桥逆变电路、隔离电路、转子位置检测电路、键盘电路以及显示电路。BLDC电机总控制系统如图1所示。该系统STM32微处理器产生6路脉宽调制(pulse width modulation,PWM)信号,经过隔离芯片将信号传输给IR2136驱动电路, IR2136驱动芯片根据PWM控制6个MOSFET的通断,实现对电机三相绕组转换通电[4]。三电阻电流采样电路检测电机电流信号并反馈给STM32微处理器,实时调节电流保证电机的安全稳定运行。霍尔位置传感器检测转子位置,STM32微处理器捕捉其反馈脉冲信号,判断出转子正确位置,输出对应PWM信号换相控制。同时可根据霍尔位置信号计算转速作为转速反馈,检测实际转速与给定转速比较,采用模糊PI控制算法调节转速[5]。通过改变STM输出PWM信号占空比可改变电压,从而调节转速。隔离电路为保障电路的稳定性和抗干扰性而设计,主要用于 6路PWM信号通过隔离芯片传入驱动芯片,采集转子位置信号经过隔离芯片传入STM32微处理器。键盘电路通过按键控制设置给定转速。显示电路可通过LCD显示屏显示给定转速与实际转速,用于实验数据采集。

图1 BLDC电机控制系统

2.1 驱动电路

驱动电路由驱动芯片IR2136和逆变电路构成。如图2为驱动电路图。

图2 驱动电路

三相全桥逆变电路上桥臂连接+24 V直流电源,下桥臂连接GND。IR2136驱动芯片工作电压为+15 V,电源引脚VCC连接+15 V电源,VCC与三路高端浮置电源电压引脚Vb1,Vb2,Vb3分别连接3个快速恢复二极管D1,D2,D3防止电流倒灌,同时与高端浮置电源偏移电压引脚Vs1、Vs2、Vs3之间连接自举电容C1,C2,C3,保证电容上有足够的储能来驱动MOSFET的导通[6]。STM32微处理器输出6路PWM信号经过隔离电路传输到驱动芯片HIN1,HIN2,HIN3,LIN1,LIN2,LIN3输入引脚,由输出引脚HO1,HO2,HO3,HO4,HO5,HO6输出至MOSFET,控制其导通和关断。

2.2 电流检测电路

本次控制系统电机电流检测采用三电阻采样法,该方法采样精度较高且成本低。如图3所示,在主电路中第一个桥臂下串联一个采样电阻,输出电流信号由采样电阻转换为电压信号,采用高精度运算放大器LM324将电压信号放大,通过差分放大抑制共模输入信号,增加电路抗干扰性,抑制外界环境对电路影响,保证输出电压稳定在0~3.3 V之间。同样分别在第二个桥臂和第三个桥臂放置采样电阻,完成三电阻采样。

图3 电流检测电路

2.3 位置检测电路

BLDC电机内部集成3只霍尔传感器检测转子位置,系统运行时,STM32微处理器根据反馈的位置信号发送对应触发信号控制MOSFET通断[7]。如图4所示为位置检测电路,J2为控制板与霍尔传感器信号线接口,VCC为位置检测电路提供+5V电源,霍尔传感器信号分别为HA,HB,HC,R28与C18,R29与C17,R30与C16组成RC滤波器滤除干扰信号,最终反馈给控制电路。同时根据霍尔传感器信号可计算电机转速,每个周期内3只霍尔传感器的高低电平信号为001,101,100,110,010,011,表示电机转动1圈[8]。

图4 位置检测电路

3 系统软件设计

系统采用STM32作为控制芯片,软件设计在Keil MDK环境运行,用C语言编写模糊PI控制算法代码,实现电流反馈、转速反馈双闭环控制。系统软件主要包括主程序和中断程序设计。

3.1 主程序设计

主程序主要包括各个模块的初始化,系统初始化,事件管理初始化,I/O口初始化,中断管理初始化。主程序按照顺序模式往下进行,遇见中断程序优先运行中断程序,中断程序结束后再运行主程序[9]。

3.2 中断程序设计

BLDC电机控制系统的功能,包括电流调节、转速调节、故障保护等基本依靠中断服务程序实现。中断程序主要包含转子位置捕获中断、电流A/D采样中断、系统保护中断等[10]。位置捕获中断是为了检测转子位置而实现电机换相,A/D采样中断是为了保证电压电流的稳定输出实现闭环控制,系统保护中断主要是针对系统发生故障通过硬件中断保护系统[11]。图5为核心控制功能,电流调节和转速调节中断程序流程图。

图5 中断程序设计

4 实验结果与分析

根据上述硬件电路原理设计系统控制板,通过Jlink仿真器将程序写入STM32控制芯片,搭建实验测试平台,验证该系统的精确性和稳定性,本设计采用的电机参数设置:额定功率60 W,额定电压24 V,额定电流3.3 A,额定转速3 000 r/min。

设置电机目标转速为3 000 r/min,启动电机,记录LCD显示的转速数据,使用MATLAB绘制转速曲线图6。

图6 速度响应曲线

从图中可以看出,电机转速从0到运行速度3 000 r/min直至稳定只需1.2 s,运行过程中超调量为7 %,说明设计的BLDC电机控制系统控制精度高,且响应速度快。

同时设置不同转速,运行速度达到稳定时,记录LCD显示屏上不同目标转速下的实际转速。

5 结 论

通过数据对比可以发现,电机运行的实际转速与目标转速相差很小,平均误差不到3 rad/min,说明该控制系统不同转速下运行稳定性。综上实验数据表明,本次设计的无刷直流电机控制系统实现了电流反馈,转子位置反馈的双闭环控制,且系统运行稳定,采用模糊PID控制算法,对电机转速控制精度高,超调量更小,响应速度更快。

猜你喜欢

中断定子芯片
芯片会议
浅析起重机电动机定子异常失电保护
异步电动机定子铁心模态及振动响应分析
大型异步电机定子模态仿真优化
人体微芯片
异步电动机定子冲片槽型优化
关于射频前端芯片研发与管理模式的思考
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
跟踪导练(二)(5)