基于cpld的无刷直流电机控制器设计毕业(论文)设计 下载本文

浙江理工大学本科毕业设计(论文)

第3章 控制算法设计

3.1控制算法

下面从控制器的硬件结构和应用场合出发,来分析说明控制器如何来完成所

肩负的任务。

3.1.1 控制器所要完成的任务

本BLDC控制器应用于类似于驱动电动自行车电机的应用场合。

由电机学可知,一台BLDC电机可由如下物理参数定义:各相绕组内阻R(Ω)、各相绕组电感L(H)、逆感应电动势系数ke(V/rad/s)、电磁转矩系数kt(N.m/A)、粘性阻尼系数B(N.m/(rad/s))、转动惯量J(Kg.m2)、和电机磁极数P。而一台电机的运动参数可由以下变量描述:电机的机械状态有转速ω(rad/s)、转角θ(rad)、转矩T(N.m);电机的电气状态有,相电压V_a、V_b、V_c(V)和相电流I_a、I_b、I_c(A)。而这些运动参数并不是完全相互独立的,电机的运动学方程描述了这些变量间的关系。

而控制器人机接口硬件电路,阐明了控制器至少应该能控制电机的转速ω

(rad/s)这个运动参数。并根据硬件的正反转及制动按钮,可进一步把这个被控制的电机参数行为划分为:转速大于0、转速小于0和转速变位0。根据硬件的转速调节旋钮,还可进一步把这个参数行为划分为:转速增加和转速减小。

考虑到这种应用场合和硬件电路结构决定的,控制器实现的是开环BLDC控

制:控制器逆变电路决定了,控制器只能通过控制电机的各相电压V_a、V_b、V_c(V)来实现控制电机的运行。

故实际控制器仅是通过PWM这种电压控制方式,来控制电机的各相电压来

实现控制。进而实际人机接口的各种控制要求映射成了如下形式: 电机正转?与电机转子相适应的绕组正向旋转磁场; 电机反转?与电机转子相适应的绕组反向旋转磁场; 电机制动?各相绕组短接制动;

电机转速控制?用PWM控制驱动各相绕组的电压大小;

系统除了上面的对电机的控制任务外,还包括:系统状态LED显示、逆变

31

浙江理工大学本科毕业设计(论文)

桥MOS管过流保护这两个任务。 3.1.2 控制器任务的实现

下面介绍主控芯片CPLD如何具体实现上面所陈述的控制器所肩负的任务。

任务1:电机转速控制?用PWM控制驱动各相绕组的电压大小:

由555芯片构建的PWM电路,已经实现了目标转速大小这个模拟量到PWM

占空比的转化。那么CPLD芯片只需读取这个占空比的大小即可。 实现方案如下:

(1)构建一个寄存器A;构建一个脉冲计数器B; (2)在外部PWM输入的上升沿清零脉冲计数器B;

(3)在外部PWM输入的高电平器件,计数器B计数芯片系统时钟; (4)在PWM输入的下降沿,把计数器B内的数值传递给寄存器A;

那么,寄存器A内的数值?CPLD时钟周期?输入的PWM高电平宽度(目

标转速大小)。

CPLD还须构造一个用于分频系统时钟的可调分频数的分频器,用于产生驱

动逆变桥MOS管的PWM波。并最终通过把此PWM波加载到逆变桥导通的上端MOS管的门极上,实现对电机相电压大小的控制。即所谓的上端MOS PWM驱动,下端完全导通的电机控制方式。 实现方案如下:

(1)系统时钟分频器可由对系统时钟计数的计数器构造。设定计数器的初始值,使得实际计数值与目标转速信号大小相对应,并判断计数器的最高位是否置1,即可获得所需PWM的高电平时间。用同样的方法构造低电平时间,拼成一个完整的PWM周期。

(2)通过把这个PWM(1、0)信号,和逆变桥上端MOS管控制信号(1、×),进行“与(AND)”操作。实现把PWM信号加载到所需要PWM信号的MOS管上。

任务2:电机正转?与电机转子相适应的绕组正向旋转磁场;电机反转?与电机转子相适应的绕组反向旋转磁场;

CPLD通过控制逆变电路上MOS管的开关,来相应控制电机各相的导通。

32

浙江理工大学本科毕业设计(论文)

而不同的导通顺序,决定了三相绕组所产生的旋转磁场的方向。

电机三相霍尔输出与电机三相绕组的真值表如下表3-1所示:

表3-1 电机三相霍尔输出与电机三相绕组的真值表

电机状态 1 2 3 4 5 6 H3 HA 1 1 0 0 0 1 H1 HB 0 1 1 1 0 0 H2 HC 0 0 0 1 1 1 A × 1 1 × 0 0 正转 B 0 0 × 1 1 × C 1 × 0 0 × 1 A × 0 0 × 1 1 反转 B 1 1 × 0 0 × C 0 × 1 1 × 0 注;其中HA、HB、HC分别对应表示A、B、C三相绕组上的霍尔传感器(还有一种对应表示为:H3、H1、H2);其中‘×’表高阻,‘1’表正电压,‘0’表接地;

进一步,正转指令下:电机状态与逆变桥MOS管的导通状态的真值表如下

表3-2:

表3-2 正转指令下:电机状态与逆变桥MOS管的导通状态的真值表

状态 1 2 3 4 5 6 Q1 × 1 1 × × × Q2 × × × × 1 1 Q3 × × × 1 1 × Q4 1 1 × × × × Q5 1 × × × × 1 Q6 × × 1 1 × × 反转指令下:电机状态与逆变桥MOS管的导通状态的真值表如下表3-3:

表3-3 反转指令下:电机状态与逆变桥MOS管的导通状态的真值表

状态 1 2 3 Q1 × × × Q2 × 1 1 Q3 1 1 × Q4 × × × Q5 × × 1 Q6 1 × × 33

浙江理工大学本科毕业设计(论文)

4 5 6 × 1 1 × × × × × × 1 1 × 1 × × × × 1 注:其中‘×’表高阻,‘1’表导通;

任务3:电机制动控制?各相绕组短接制动;

当控制器CPLD接收到制动指令,CPLD将关闭所有逆变桥低端的MOS管,

开启逆变桥上端的多有MOS管。使得上端MOS管短路BLDC绕组,实现短接制动。

该算法总是可以不管电机当前的运行状态而实现制动,而不需要来自霍尔传感器的信号。这使得制动逻辑获得最大的优先级和可靠性。 任务4:逆变桥MOS管过流保护控制:

当控制器CPLD发现过流保护信号使能,则发送指令给逆变桥,关闭所有MOS管。并且只要一次触发后,在这个系统上电运行周期内,始终有效,直到下次系统上电。

这可有效防止因负载电路故障而烧毁MOS管,或已经烧毁一个而继续烧毁其余MOS管的情况。 任务5:系统状态LED显示

CPLD刷新LED,显示当前系统状态。

3.2 Simulink介绍

Simulink是一个软件包,运行在MATLAB的基础之上。利用Simulink,可以搭建很多领域的动态系统,包括电子、机械和热力学系统[14]。

其与用户的交互接口是模型图形,这使得用户可以把更多的精力投入到系统模型的构建,而非底层算法的编程上。 用Simulink仿真,可以分为两个步骤:

(1)用Simulink的方块图语言描述实际的物理系统,即建模的过程。可以先把目标系统用数学语言描述,接着再转到用Simulink描述:

Simulink语言由方块图(blocks)和线(lines/signals)两部分组成,其源自

自动控制学科。其中方块图,即是用数学方程描述了输入(input)和输出(output)

34