无刷直流电机原理结构
目 录
第1章 无刷直流电机的原理与驱动···············································································1
1.1 让你的BLDC-DK615迅速跑起来················································································1
1.1.1 有感驱动速度闭环模式实验·················································································1
1.1.2 有感驱动开环模式实验·························································································2
1.1.3 无感驱动速度闭环模式实验·················································································2
1.1.4 无感驱动开环模式实验·························································································3
1.2 无刷直流电机的工作原理·····························································································4
1.2.1 无刷直流电机的特点·····························································································4
1.2.2 无刷直流电机的工作原理·····················································································5
1.3 无刷直流电机的驱动方法·····························································································6
1.3.1 驱动电路模型·········································································································7
1.3.2 有位置传感器驱动原理·························································································7
1.3.3 无位置传感器驱动方法·······················································································12
1.4 BLDC-DK615 原理·····································································································18
1.4.1 BLDC-DK615 硬件架构·····················································································18
1.4.2 BLDC-DK615 软件架构·····················································································27 附录A······························································································································47
A.1 电路原理图··················································································································47
A.2 BOM表························································································································53 参考文献··························································································································55
第1章 无刷直流电机的原理与驱动
无刷直流电机是在有刷直流电机的基础上发展起来的,它用位置传感器代替了有刷直流电机的电刷和换向器,因此其内部发生的电磁过程和普通的有刷直流电机类似,无刷直流电机既具有直流电机良好的调速性能等特点,又具有交流电机结构简单、无换向火花、运行可靠和易于维护等优点。
1.1 让你的BLDC-DK615迅速跑起来
BLDC-DK615是一款无刷电机驱动学习板,支持无刷电机有位置传感器驱动方案(下文简称“有感驱动”),无位置传感器驱动方案(下文简称“无感驱动”),并配有速度PID闭环控制,实时控制电机的转速。BLDC-DK615要配套EasyARM615,EasyARM8962或EasyARM5749系列Cortex-M3开发板使用。
在BLDC-DK615的配套光盘中的EasyARM615目录中,配套有无刷电机的驱动包例子工程,该工程能驱动有感无刷电机或无感无刷电机,并有速度PID闭环控制。
图 1.1 BLDC-DK615驱动板接线图
1.1.1 有感驱动速度闭环模式实验
1. 实验原理
有感驱动速度闭环模式,电机需要用有位置传感器电机,实验利用位置传感器的信号反馈位置,根据位置信息对电机进行换向,使电机转动连续平稳,并同时利用电机的位置传感器计算电机当前的转速,反馈到单片机,作为速度反馈值输入到PID速度调节环,使电机转速稳定在要求的目标转速值。
2. 实验步骤
(1) 用跳线帽短接EasyARM615的JP2-1的KEY1与PD4、KEY2与PD5、LED2与PC5。
断开其他跳线。
(2) BLDC-DK615接线参照示意图 1.1所示。断开图中的J5、J6、J7跳针。
(3) 把BLDC-DK615的J1接口直接插到EasyARM615的J7电机专用插座上。
(4) 把原配的电机直接插到对应的BLDC-DK615插座上。
(5) 确认接线无误后,接上开发板和BLDC-DK615的电源(注意两个电源不要接反)。
(6) 把光盘目录下的“单片机程序”目录拷到硬盘目录下,用IAR V5.30以上版本打开工
程,连接LM-Link,打开config.h文件,把下面的代码作如下修改并保存: #define BLDC_SPEED_LOOP 1
#define BLDC_HALL_EN 1
/* 定义电机控制速度闭环开关 */ /* “0”为开环,“1”为闭环 */ /* 定义电机类型:有感电机设为1 */ /* 无感电机设为0 */
(7) 编译工程并把程序下载到EasyARM615上。按单片机复位键,全速运行程序,电机即
以默认的2000RPM转速恒速转动。
(8) 按KEY1键,电机加速,LED2每翻转一次电机速度增加50RPM。
(9) 按KEY2键,电机减速,LED2每翻转一次电机速度降低50RPM。
电机的转速范围默认限定在800RMP至8000RMP,到达上下限后LED2不再闪烁。
1.1.2 有感驱动开环模式实验
1. 实验原理
有感驱动开环模式,电机需要用有位置传感器电机,实验利用位置传感器的信号反馈位置,根据位置信息对电机进行换向,使电机转动连续平稳,并通过改变驱动电机的PWM占空比而改变加在电机两端的电压来改变电机的转速。
2. 实验步骤
参照图 1.1所示,按下面步骤接线:
(1) 用跳线帽短接EasyARM615的JP2-1的KEY1与PD4、KEY2与PD5、LED2与PC5。
断开其他跳线。
(2) BLDC-DK615接线参照示意图 1.1所示,断开J5、J6、J7跳针。
(3) 把BLDC-DK615的J1接口直接插到EasyARM615的J7电机专用插座上。
(4) 把原配的电机直接插到对应的BLDC-DK615插座上。
(5) 确认接线无误后,接上开发板和BLDC-DK615的电源(注意两个电源不要接反)。
(6) 把光盘目录下的“单片机程序”目录拷到硬盘目录下,用IAR V5.30以上版本打开工
程,连接LM-Link,打开config.h文件,把下面的代码作如下修改并保存: #define BLDC_SPEED_LOOP 0
#define BLDC_HALL_EN 1
/* 定义电机控制速度闭环开关 */ /* “0”为开环,“1”为闭环 */ /* 定义电机类型:有感电机设为1 */ /* 无感电机设为0 */
(7) 编译工程并把程序下载到EasyARM615上。按单片机复位键,全速运行程序,电机即
以默认的10%占空比运行。
(8) 按KEY1键,电机加速,LED2每翻转一次驱动电机的PWM占空比增加1%。
(9) 按KEY2键,电机减速,LED2每翻转一次驱动电机的PWM占空比减小1%。
驱动电机的PWM占空比范围默认限定在10%至98%,到达上下限后LED2不再闪烁。
1.1.3 无感驱动速度闭环模式实验
1. 实验原理
无感驱动速度闭环模式,只需一个无传感器的无刷直流电机,利用采样电机的反电势,并检测反电势的过零点来判断电机转子的位置,根据电机转子的位置来实现换向,是电机能平稳连续转动,同时通过计算过零点之间的时间差来换算出电机的转速,作为速度反馈值输入到PID速度调节环,使电机转速稳定在要求的目标转速值。在做无感实验时,由于EasyARM615标配
的CPU pack板用的是LM3S615,而无感驱动需要用3路ADC,所以必须把CPU pack板上的LM3S615换成LM3S618。
2. 实验步骤
(1) 把LM3S615 pack板上的LM3S615小心取下,更换成LM3S618。
(2) 用跳线帽短接EasyARM615的JP2-1的KEY1与PD4、KEY2与PD5、LED2与PC5。
断开其他跳线。
(3) BLDC-DK615接线参照示意图 1.1所示,用跳线帽短接BLDC-DK615上的J5、J6、
J7跳针。
(4) 把BLDC-DK615的J1接口直接插到EasyARM615的J7电机专用插座上。
(5) 把原配的电机直接插到对应的BLDC-DK615插座上。
(6) 确认接线无误后,接上开发板和BLDC-DK615的电源(注意两个电源不要接反)。
(7) 把光盘目录下的“单片机程序”目录拷到硬盘目录下,用IAR V5.30以上版本打开工
程,连接LM-Link,打开config.h文件,把下面的代码作如下修改并保存: #define BLDC_SPEED_LOOP 1
#define BLDC_HALL_EN 0
/* 定义电机控制速度闭环开关 */ /* “0”为开环,“1”为闭环 */ /* 定义电机类型:有感电机设为1 */ /* 无感电机设为0 */
(8) 编译工程并把程序下载到EasyARM615上。按单片机复位键,全速运行程序,电机即
以默认的2000RPM转速恒速转动。
(9) 按KEY1键,电机加速,LED2每翻转一次电机速度增加50RPM。
(10) 按KEY2键,电机减速,LED2每翻转一次电机速度降低50RPM。
电机的转速范围默认限定在800RMP至8000RMP,到达上下限后LED2不再闪烁。
1.1.4 无感驱动开环模式实验
1. 实验原理
无感驱动速度闭环模式,只需一个无传感器的无刷直流电机,利用采样电机的反电势,并检测反电势的过零点来判断电机转子的位置,根据电机转子的位置来实现换向,是电机能平稳连续转动,并通过改变驱动电机的PWM占空比来改变加在电机两端的电压来改变电机的转速。
2. 实验步骤
(1) 把LM3S615 pack板上的LM3S615小心取下,更换成LM3S618。
(2) 用跳线帽短接EasyARM615的JP2-1的KEY1与PD4、KEY2与PD5、LED2与PC5。
断开其他跳线。
(3) BLDC-DK615接线参照示意图 1.1所示,用跳线帽短接BLDC-DK615上的J5、J6、
J7跳针。
(4) 把BLDC-DK615的J1接口直接插到EasyARM615的J7电机专用插座上。
(5) 把原配的电机直接插到对应的BLDC-DK615插座上。
(6) 确认接线无误后,接上开发板和BLDC-DK615的电源(注意两个电源不要接反)。
(7) 把光盘目录下的“单片机程序”目录拷到硬盘目录下,用IAR V5.30以上版本打开工
程,连接LM-Link,打开config.h文件,把下面的代码作如下修改并保存: #define BLDC_SPEED_LOOP 0
#define BLDC_HALL_EN 0
/* 定义电机控制速度闭环开关 */ /* “0”为开环,“1”为闭环 */ /* 定义电机类型:有感电机设为1 */ /* 无感电机设为0 */
(8) 编译工程并把程序下载到EasyARM615上。按单片机复位键,全速运行程序,电机即
以默认的10%占空比运行。
(9) 按KEY1键,电机加速,LED2每翻转一次驱动电机的PWM占空比增加1%。
(10) 按KEY2键,电机减速,LED2每翻转一次驱动电机的PWM占空比减小1%。
驱动电机的PWM占空比范围默认限定在10%至98%,到达上下限后LED2不再闪烁。
1.2 无刷直流电机的工作原理
1.2.1 无刷直流电机的特点
直流电机主要有直流有刷电机和无刷直流电机两种。
1. 有刷直流电机
直流电机以良好的启动性能、调速性能等优点著称,其中属于直流电机一类的有刷直流电机采用机械换向器,使得驱动方法简单,其模型示意图如图 1.2所示。
电机主要由永磁材料制造的定子、绕有线圈绕组的转子(电枢)、换向器和电刷等构成。只要在电刷的A和B两端通入一定的直流电流,电机的换向器就会自动改变电机转子的磁场方向,这样,直流电机的转子就会持续运转下去。
图 1.2 直流电机模型示意图
由些可见,换向器和电刷在直流电机中扮演着重要的角色,虽然它可以简化电机控制器的结构,但是,它自身却存在一定的缺点:
z
z
z
z 结构相对复杂,增加了制造成本; 容易被环境(如灰尘等)影响,降低了工作的可靠性; 换向时会产生火花,限制了使用范围; 容易损坏,增加了维护成本等。
2. 无刷直流电机
无刷直流电机(Brushless Direct Current Motor, BLDCM)的诞生,克服了有刷直流电机的先天性缺陷,以电子换向器取代了机械换向器,所以无刷直流电机既具有直流电机良好的调速性能等特点,又具有交流电机结构简单、无换向火花、运行可靠和易于维护等优点。
图 1.3所示无刷直流电机模型,它是从图 1.2转化过来的模型。它主要由用永磁材料制造的转子、带有线圈绕组的定子和位置传感器(可有可无)组成。可见,它和直流电机有着很多共同点,定子和转子的结构差不多(原来的定子变为转子,转子变为定子),绕组的连线也基本相同。但是,结构上它们有一个明显的区别:无刷直流电机没有直流电机中的换向器和电刷,
取而代之的是位置传感器。这样,电机结构就相对简单,降低了电机的制造和维护成本,但无刷直流电机不能自动换向(相),牺牲的代价是电机控制器成本的提高(如同样是三相直流电机,有刷直流电机的驱动桥需要4只功率管,而无刷直流电机的驱动桥则需要6只功率管)。
图 1.3所示为其中一种小功率三相、星形连接、单副磁对极的无刷直流电机,它的定子在内,转子在外,结构和图 1.2所示的直流电机很相似。另一种无刷直流电机的结构和这种刚刚相反,它的定子在外,转子在内,即定子是线圈绕组组成的机座,而转子用永磁材料制造。
图 1.3 无刷直流电机模型
无刷直流电机有以下的特点:
z
z
z
z 无刷直流电机的外特性好,能够在低速下输出大转矩,使得它可以提供大的起动转矩; 无刷直流电机的速度范围宽,任何速度下都可以全功率运行; 无刷直流电机的效率高、过载能力强,使得它在拖动系统中有出色的表现; 无刷直流电机的再生制动效果好,由于它的转子是永磁材料,制动时电机可以进入发
电机状态;
z 无刷直流电机的体积小,功率密度高;
z 无刷直流电机无机械换向器,采用全封闭式结构,可以防止尘土进入电机内部,可靠
性高;
z 无刷直流电机比异步电机的驱动控制简单。
1.2.2 无刷直流电机的工作原理
无刷直流电机的定子是线圈绕组电枢,转子是永磁体。如果只给电机通以固定的直流电流,则电机只能产生不变的磁场,电机不能转动起来,只有实时检测电机转子的位置,再根据转子的位置给电机的不同相通以对应的电流,使定子产生方向均匀变化的旋转磁场,电机才可以跟着磁场转动起来。
如图 1.4所示为无刷直流电机的转动原理示意图,为了方便描述,电机定子的线圈中心抽头接电机电源POWER,各相的端点接功率管,位置传感器导通时使功率管的G极接12V,功率管导通,对应的相线圈被通电。由于三个位置传感器随着转子的转动,会依次导通,使得对应的相线圈也依次通电,从而定子产生的磁场方向也不断地变化,电机转子也跟着转动起来,这就是无刷直流电机的基本转动原理——检测转子的位置,依次给各相通电,使定子产生的磁场的方向连续均匀地变化。
图 1.4 无刷直流电机转动原理
在下文介绍无刷直流电机的有位置传感器驱动的一节,将会进一步介绍无刷直流电机的转动原理。
为了方便理解,本文档以下内容统一用如图 1.5所示的这两种符号作为模型简介,图A为电机转子和定子在同一圆心上,图B为不同一圆心上,是为了方便说明电机内部磁场。详细请看下文。
图 1.5 无刷直流电机结构示意图
1.3 无刷直流电机的驱动方法
无刷直机电机的驱动方式按不同类别可分多种驱动方式,它们各有特点。
按驱动波形:
z 方波驱动,这种驱动方式实现方便,易于实现电机无位置传感器控制;
z 正弦驱动,这种驱动方式可以改善电机运行效果,使输出力矩均匀,但实现过程相对
复杂。同时,这种方法又有SPWM和SVPWM(空间矢量PWM)两种方式,SVPWM的效果好于SPWM。
按有无位置传感器: