郑鹏飞,侯哲生,白又丹,车文硕
(吉林化工学院 信息与控制工程学院,吉林吉林,132022)
随着工业发展、社会进步,无刷直流电机凭借着效率高、磨损低、安静便捷以及动态响应快等优点,使其应用遍及社会生产的各个环节,比如洗衣机、空调、计算机外围电子设备中被广泛应用,除此之外,工业自动化生产中也涉及许多无刷直流电机,比如造纸,纺织以及全自动生产线[1][2]。
本文以无刷直流电机为控制对象,STM32F407 控制器为控制核心,配合DRV8303CAR 驱动芯片和三相逆变电路驱动控制对象,实现对电机的启停和速度调制,并提供一种有效的电机驱动控制解决方案,对其控制系统的软件与硬件进行设计,并结合Simulink 仿真平台进行验证,实验结果表明本方案的可行性,为实际应用提供了一定的依据和保证。
如图1 所示,对电机三相电流进行采样即ia,ib,ic,通过 Clarke 变换三相电流可以由自然坐标系下永磁同步电机的数学模型得到正交坐标系下的数学模型,从而得到iα和iβ。
图1 永磁同步电机简要驱动控制框图[4]
Clarke 变换方程:
将iα和iβ经过Park 变换将正交坐标系变换为旋转坐标系并得到电流实际值id和iqϕ,为转子实时角度。
Park 变换方程:
计算电流实际值id和iq与电流设定值id∗和iq∗的误差,把误差放入PID 控制器,经过PID 控制器调节得出电压指令值Ud∗和Uq∗,并将电压指令值Ud∗和Uq∗进行反Park 坐标变换获得电压值Uα∗和Uβ∗并合成电压矢量,空间矢量脉宽调制模块对电压矢量进行扇区判断,然后计算相邻矢量作用时间,最后通过三相桥功率器件通断的方式产生 PWM 信号控制逆变器驱动电机[3]。
如图2 所示,电机控制系统主要包括由电源管理电路、控制核心STM32F407 单片机、检测转子位置的霍尔传感器、三相逆变电路和电机驱动芯片组成的电机驱动电路及其驱动对象直流无刷电机[5]。
图2 控制器的系统硬件架构
采用TI 公司的一款专门用于三相电机的栅极驱动器DRV8303CAR 作为驱动芯片,以及使用6 个BUK436-100B型号N-MOS 管来搭建三相全桥电路。DRV8303 集成有三组用于驱动场效应管的半桥驱动器,两组用于测量三相电流的分流放大器。此芯片最高支持1.7A 栅极驱动电流和2.3A峰值电流。DRV8303 的电压范围为6V~60V。电路原理图如图3 所示。
图3 DRV8303 驱动器电路原理图
DRV8303 的INH_A、INL_A等三组引脚接收STM32F407 发送的PWM 信号,对PWM 信号进行电压和功率的放大。三相逆变电路如图4 所示,DRV8303 将电压和功率的放大后的PWM 信号通过GH_A、GL_A、GH_B、GL_B、GH_C、GL_C 控制6 个型号为BUK436-100B 的N-MOS 管从而控制上下桥臂的通断,将直流电源转换为可以变频变压的U、V、W 三相交流电源,从而驱动电机并起到电气隔离的作用。另外nOCTW和nFAULT分别为过流、过温指示和错误报告指示,接上拉电阻;DTC 为死区调节时间引脚,死区时间由外接电阻阻值决定;DRV8303 SPI在从模式下运行,引脚包括nSCS,SDI,SDO,SCLK;DC_CAL 的功能是给内部分流放大器作偏移校正;GVDD 为内部栅极驱动器自主升压供电;REF 提供分流放大器输出的基准电压;EN_GATE 的功能是驱动芯片使能,准备开始工作;两组SN、SP 引脚为内部集成的两个分流放大器的输入引脚,两组SO 引脚为输出引脚,两组分流放大器可以测得三相电流中的U、V 两组交流电,W 组交流电可以凭借U、V 两组通过基尔霍夫定律计算获得,形成电流环[6],设计电路时在下半桥臂串联采样电阻R18 与R19,电容C12 与C13 作用是进行电流滤波。
图4 三相逆变电路原理图
图5 为位置检测电路,通过一只三维的霍尔传感器检测转子位置并以此计算电机转速,霍尔传感器通过VCC 提供+5V供电,并且为上拉电路,R20 与 C16,R21 与 C17,R22 与 C18 组成了 R C 滤波器,目的是滤除干扰信号。三维霍尔传感器的三个信号分别为 HELLA,HELLB,HELLC,转子旋转一周为一个信号周期,每个信号周期平均分为六个扇区,一个扇区为60°,传感器信号的电平均用0 和1 表示,每个扇区都有一个传感器信号发生电平跳变,每个周期内3 只霍尔传感器的电平信号组合分别为 001,101,100,110,010 和011,可以看出每个扇区信号组合都是不尽相同的[7]。所以我们可以根据电平信号得知转子的位置,我们可以根据转子转过一个扇区的时间来计算转子转动的实时速度[8]。然后STM32F407 单片机将位置信号捕获,根据反馈的位置信号发送对应触发信号给DRV8303,从而控制N-MOS 管的通断。
图5 位置检测电路原理图
如图6 所示,主程序首先对系统、延时、ADC、串口等各项功能进行初始化,然后按照顺序启动电机,开启中断与定时器,当遇见中断请求时停止主程序运行优先运行中断程序,跳出中断程序后主程序继续运行,以此循环。
图6 主程序流程图
中断处理程序功能主要包括电流A/D 采样以及霍尔信号的采样,转速环与速度环的控制,PWM 输出等。电流A/D 采样是为了保证能够精准的接收电流反馈,从而稳定控制输出电流即电机扭矩,霍尔信号捕获是为了保证精准的确定转子位置和速度从而保证实现速度环闭环控制。
当暂停主程序循环进入中断后,保护现场同时进行电流A/D 采样以及读取霍尔传感器的转子位置、转速信息;完成相关信息采集之后就是对采集电流信息分别进行Clarke 变换和Park 变换;将霍尔传感器读取的转速信息与设定转速对比获得误差,通过PI 控制器进行速度调节得到电流设定值和;通过Park 变换得到电压指令值和,最后通过SVPWM 模块计算,更新PWM 占空比产生新的调制波形,中断子程序流程如图7 所示。
图7 中断子程序流程图
如图8 所示,本节在 MATLAB/Simulink 中对这几个电流分配策略进行建模仿真对比分析。整个电机控制系统的模型如图,主要包括永磁同步电机、逆变器、三个坐标系变换模块以及空间矢量脉宽调制模块,永磁同步电机和逆变器使用 Simulink 库中的自带模块,输入实验相关参数。下面主要对 SVPWM 模型和电流控制策略模型的搭建进行介绍。[9]
图8 无刷直流电机控制系统仿真模型
首先,模型给定转速初始给定为1000r/min,从仿真结果转速波形图9(a)、电磁转矩波形图9(b)、定子电流波形图9(c)可以看到,电机启动时的定子电流和电磁转矩的数值都比较大,所以响应速度很快,电机能够在0.03s 左右快速达到给定转速并保持稳定;0.2s 时加入20N.m的负载转矩,电机转速会出现小幅度降落,并在10ms 内恢复;0.3s时减速至800r/min 电机能在0.01s 左右快速达到给定转速并保持稳定[10]。
图9 仿真结果图
通过STM32F407 芯片与 DRV8303 芯片并结合 FOC 控制原理设计了一款电机驱动器,硬件控制芯片应用广泛,软件结构简单方便进一步应用与开发;根据FOC 控制原理设计驱动电路、检测电路、主程序以及中断子程序等;搭建仿真模型进行实验验证,仿真实验中电机运行及调速性能良好,符合实验结果预期,进一步证明该直流无刷电机驱动方案具有可行性。