-
基于
TMS320F2812
的无刷直流电机控
制
以前一个项目里有一部分是使用
2
812
控制无刷直流电机,
这里
分享一
下软硬件设计和程序代码:
1.
无刷直流电机的结构和换相原理
无刷直流电机的本体在结构上与永磁同步电动机相似,
但没有笼
型绕组和其他启
动装置。其转子采用永磁材料制成,而定子上有多相电枢绕组,绕组相数
分为两相、
三相、
四相和五相,
但应用
最多的是三相和四相。
各相绕组分别与外部的电力电子开
关电路
中相应的功率开关器件连接,位置传感器的跟踪转子与电动机转轴相连接。
当定子绕组的某一相通电时,
该相电流与转子永久磁钢的磁极所产生的磁场
相互
作用产生转矩,
驱动转子旋转,
再
由位置传感器将转子位置变换成电信号去控制电力
电子开关电路,
从而使定子各相绕组按一定次序导通,
定子相电流随转子位置的变化
< br>而按一定的次序换相,
这就是直流无刷电动机的换流原理。
由于电力电子开关电路的
导通次序是与转子转角同步的,因而起到了机械换相器的换相
作用。
基于
TMS320F2812
的无刷直流电机控制系统结构图如图
1
所示。
图
1
中,
直流电
源通过开关电路相电动机定子绕组供电,
位置传感器采
用了霍尔传感器,
可不断检测
转子当前位置,
< br>DSP
控制器根据当前位置信息来判断哪一相绕组被接通,进而控制开
关管的导通与截止,实现电机的换相。
图
1
直流无刷电动机控制系统结构图
图
2
电子换相器的工作原理图
图
2
给出了一个三相无刷直流电机电子换相原理
图。图中符号
H1
、
H2
和
H3
表
示三个霍尔位置传
感器,它们输出电平信号。当电机的转子运行到
x-u
平面的正
半周
(图中虚线标出的区间)
,则
H1
传感器输出高电平。同理,当电机的转子分别运行
到
y-v
和
z-w
,平面的
正半周(图中虚线标出的区间)
,则对应的
H2
和
H3
分别输出
高电平。由图
可见,
H1
、
H2
和
H3
输出高电平的区间是互有重叠的,如果将
H1
、
H2
和
H3
的输出电平组合成一个向量
[H1 H2 H
3]
,
则可以得到
6
< br>种有效组合:
[001]
、
[0
10]
、
[011]
、
[100]
、
[110]
和<
/p>
[101]
,每种组合覆盖整个圆周的
1
/6
(即
60
°)
。控制器根据这
六个状态组合来决定开关电路的哪一相被接通以维持电机的运行,当
状态发生变化
时,就必须进行相位的切换。对于电机的三相绕组,
A
、
B
和
C
,采用
ANC
表示直
< br>流母线电压施加到
A-C
绕组之间;
CNA
则表示直流母线电压施加到
C-A
< br>绕组之间,
其他类似。注意
ANC
电流从
A
→
C
,而
CAN
电流从
C
→
A
,作为直流电机,绕组电
流相反意味着受力是相反的,会导致电机反向转动。
图
3
给出了
6
种状态组
合下对应的通电绕组的情况,例如在状态
[001]
通电绕组<
/p>
是
ANB
。如果电机正转,则下一个组合
状态为
[101]
,故应将通电绕组切换为
ANC
;
同理,如果电机反转,则下一个组合状态为
[101]
,故通电绕组应该切换为
CNB<
/p>
,以
次类推。表
1
给出了电机正向旋转时,转子位置传感器输出的状态组合
[H1
H2
H3]
与下一个导通绕组之间的
对应关系。表
2
给出了电机反转时的情况。
1
图
3
基于
T
MS320F2812
无刷直流电动机控制系统原理图
表
1
无刷直流电机正转相序表
当前位置
H1
1
1
1
0
0
0
H2
0
0
1
1
1
0
H3
1
0
0
0
1
1
下一个导通相
BNC
BNA
CNA
CNB
ANB
ANC
各开关管工作状态
V1
0
1
1
0
0
0
V2
0
0
0
0
1
1
V3
0
0
0
1
1
0
V4
1
1
0
0
0
0
V5
1
0
0
0
0
1
V6
0
0
1
1
0
0
表
2
无刷直流电机反转相序表
当前位置
H1
1
1
1
0
0
0
H2
0
0
1
1
1
0
H3
1
0
0
0
1
1
下一个导通相
ANB
CNB
CNA
BNA
BNC
ANC
各开关管工作状态
V1
0
0
1
1
0
0
2
V2
1
0
0
0
0
1
V3
1
1
0
0
0
0
V4
0
0
0
1
1
0
V5
0
0
0
0
1
1
V6
0
1
1
0
0
0
2.
三相无刷直流电机的
DSP
控制
图
3
给出了本设计中采用的基于
TMS320F2812A
< br>和三相全桥开关电路构成的无
刷直流电机控制器的原理图。
在无刷直流电机内部空间间隔
120
°分布的三个霍尔传
p>
感器
H1
、
H2<
/p>
和
H3
的输出信号经整形隔离电路后分别
与
TMS320F2812
时间管理器
EV
A
的三个捕获引脚
CAP1/IO
PA3
,
CAP2/IOPA4
和
p>
CAP3/IOPA5
相连,
当
[H1 H2 H3]
状态组合发生变化的时候,
将触发捕获单元的中断,
在中断服务程序内,
DSP
读取当
前
[H1 H2 H3]
< br>的状态,根据表
1
和表
2
内列出的导通相顺序对全桥电路进行控制,从
而实现换相。例如,当<
/p>
[H1 H2 H3]
被读取的当前状态为
101
时,在正转的情况下,应
该选择下一个导通相为
BNC
。这就意味着在图
3
< br>中,要控制开关
V4
、
V5
p>
导通,这
样直流母线电压就施加到
B-C<
/p>
绕组之间
(直流电流从
B
绕组流向
C
绕组)
;
如果控制
反转,则应该选择下一个导通相为
AN
B
,这需要控制
V2
和
V3
导通。
图
3
中三相全桥主电路采用
3
片
IR
公司的
MOSFET
器件
TRF7317
来构成,
TRF7317
内部有两个
MOSFET
< br>的开关,一个
NMOS
和一个
P
MOS
,其中
NMOS
用
于构成桥臂的下管,
而
PMOS
则用于构成桥臂的上管,
由于是
12V
的电机控制系统,
这种配置使得驱动电路比较简单。
三相全
桥电路每个桥路的上下两个开关是不能同时
导通的,否则会引起直通短路。
MOSFET
的开关控制通过
DSP
的
EV
A
单元的输出
PWM1-PWM6
来实现,图
3
中给出了
PWM1
和
PWM
2
同时发出高电平脉冲导致经
过几级逻辑转换变成互相反相的控
制脉冲
V1
和
V2
,由于
V1
控制
NMOS
,而
V2
控
制
PMOS
,故两管都会导通引起直通短路。总之,
PWM1-PWM6
独立控制三相全桥
的
6
个
MOSFET
,并且高电平控
制导通,而低电平控制截止,为了防止直流短路,
不允许出现同一个桥臂上下两管的控制
脉冲同时为高电平的情况。
信号实现电机调速的原理
无刷直流电机的转速控制是通过控制施加到三相绕组上的直流电压的大小来实
现的,
为了实现转速的变化,
就需要通过三相全桥开关电路产
生可变的直流电压,
这
将通过脉宽调制原理(
< br>PWM
)来实现。
PWM
信号是
一系列周期固定、脉宽可变的脉
冲电压,
这些脉冲信号的平均值
的大小取决于其占空比,
这个固定周期称为
PWM
的
载波周期。
将
PWM
p>
脉冲信号施加到三相全桥电路,
其输出电压作用于一个惯性设备
p>
(如一个
LC
滤波器或者电机等)
,则控制作用只取决于平均电压的大小(惯性设备
类似于一个低通滤波器
)
,
而此平均电压正是由
PWM
信号的占空比来控制的。
于是,
3
不断修改
PWM
信号的脉冲宽度即可控制平均电压的大小,
进而不断控
制直流电机的
转速。
在直流无刷电动
机控制中,
两个功率器件
(上级和下级)
被串联放在一个功率转
换支路中,
为了避免击穿失效,
两个器件的打开周期必须不能重叠,
这样就经常需要
< br>一对非重叠的
PWM
输出来正确地开关这两个器件。
p>
在一个三极管的关断和另一个三
极管导通之间插入一段死区,
这段时间延迟允许一个三极管在别的三极管导通之前完
全关断。
这个所需的延迟时间由功率三极管的开关特性和特定应用中的负载特性来决
定的。
4.
软件设计
软件采用模块化设计,
主要有以下
5
个模块组成:
换相及转向控制模块、
转速控
制模块、
转速测量模块、
键盘控制模块和液晶显示模块。<
/p>
实现了无刷直流电机的闭环
PID
控制,
主程序流程图如图
4
所示。
图
4
闭环
P
ID
控制主程序流程图
4.1
换相及转向控制
相控制是通过不断检测无刷直流电机的转子位置,
然后按照预先安排的相序表
动
态控制三相全桥开关的导通及关断,
从而使电机能够连续运行
。
转向控制则通过更换
相序表来实现。程序设计步骤如下:
p>
(
1
)
p>
配置系统时钟和外设时钟,初始化中断向量表和中断控制寄存器。
4
(
2
)
p>
配置
GPIOA
的多路转换器寄存器
GPAMUX
,
使
P
WM1~PWM6
作为
PWM
控制引脚
,
CAP1~CAP3
作为捕获单元输入引脚。
(
3
)
p>
初始化
EV
A
的通
用定时器
T1
,设置
PWM
载波周期(通过
T1PR
)和初
< br>始占空比
(通过比较寄存器
CMP1
、
CMP2
、
CMP3
设置初始占空比为
50%
)
,
设置比较控制寄存器
COMCONA
使能全比较操作,
但暂不启动定时器
T1
。
(
4
)
p>
配置
CAP1~CAP3
的捕获中断为上下
沿跳变触发方式。
(
5
)
p>
检测
CAP1~CAP3
引脚的当前状态,
判断当前电机转子的空间位置,
根据
转
向要求选择合适的初始控制相序并据此配置
ACTRA
寄存器,
然后启动
定时器
T1
< br>并开放中断。
(
6
)
主程序进入等待状态。
(
7
)
p>
创建捕获中断的中断服务程序,
在中断服务程序中实时检测当前电机
转子
的空间位置,
然后根据转向要求和预先安排的相序表选择合
适的开关控制
时序,并动态控制
ACTRA
寄存器,使得电机能够连续运行。
流程图如图
5
所示:
图
5
换相及转向控制流程图
4.2
转速测量
5
-
-
-
-
-
-
-
-
-
上一篇:霍兰德职业代码职业兴趣代码及职业对照表
下一篇:巧用单片机的奇偶校验位