Cortex-M3的直流无刷电机控制系统的设计
扫描二维码
随时随地手机看文章
引言
传统的直流电机以其优良的转矩特性和调速性能在运动系统中有着广泛的应用,但机械电刷却是它致命的弱点。电刷的存在带来了一系列的问题,如机械摩擦、噪声、电火花无线干扰,再加上寿命短、制造成本高及维修困难等缺点,从而大大限制了它的应用范围。直流无刷电动机是利用电子换向装置代替传统的机械换向(电刷和换向器)的一种电动机,既保持了有刷电机的优良特性,又避免了电刷和换向器带来的缺陷。本文以32位ARM Cortex-M3内核的高性能微处理器LPC1766为核心,设计了直流无刷电机控制系统。该系统电路简单,软硬件开发方便,具有较高的性价比。
1 LPC1766简介
微控制器采用LPC1700系列ARM芯片LPC1766。LPC1766微控制器是整个控制系统的核心,它是基于ARM Cortex-M3内核的微控制器,是为嵌入式系统应用而设计的高性能、低功耗的32位微处理器。其操作频率高达120 MHz,采用3级流水线和哈佛结构,带独立的本地指令和数据总线以及用于外设的低性能的第3条总线,使得代码执行速度高达1.25 MIPS/MHz,并包含1个支持随机跳转的内部预取指单元。
2 控制系统硬件设计
无刷直流电机驱动控制系统中,由于转速和转矩均和电机电流有关,控制电机电流可以保证系统响应快速性,故本系统设计为无刷电机的双闭环控制系统。双闭环控制系统框图如图1所示。
根据系统的控制框图和实际需要,设计的直流无刷电机控制系统主要由整流电路、智能功率模块(Intelligent Power Module,IPM)、电压和电流检测与保护电路、驱动电路、直流无刷电机位置信号检测环节以及控制电路和其外围电路组成,如图2所示。
当系统处在运行状态时,通过外部键盘向控制器发送运行指令,并且载入运行参数。根据外部检测到的电机的位置信号以及电机所处的运行状态来改变控制器输出的控制信号,从而调整电机的运行状态。整流电路将220 V交流电变换为智能功率模块所需的直流电。智能IPM模块将整流电路整流输出的直流电逆变为三相交流电供给电机。电压检测环节主要是实现电机运行时的保护。电流检测环节主要是实现转速、电流双闭环控制和过流保护,从外部检测到的电流信号经过采样后,送到控制单元,控制单元根据检测电流的大小来调整电流调节器的输出,当出现过流故障时,电流检测电路会向CPU发送一个过流信号。下面具体介绍系统硬件的一些主要模块的设计。
2.1 智能功率模块及其驱动电路
本设计中智能功率模块受CPU输出的6路PWM信号控制,它将整流电路整流输出的直流电逆变为三相交流电供给电机。本系统采用的是东芝公司设汁制造的智能功率模块MIG20J501L,如图3所示。智能功率模块MIG20J501L集功率开关电路和驱动电路于一身,内有6个并联了续流二极管的IGBT,直接构成三相全桥逆变器。在控制信号与智能功率模块的门级信号之间需要加光电隔离器件进行光电隔离。LPC1766输出的6路PWM信号经过快速光耦光电隔离后送给智能功率模块MIG20J501L的IN(U)、IN(V)、IN(W)、IN(X)、IN(Y)、IN(Z)端口,控制导通IPM内部相应的IGBT管。IPM内部设计了故障保护机制,当有过压、过流或者过热等故障出现时,相应的故障输出端VFO会输出故障信号。为提高智能功率模块工作的可靠性,采用开关电源为其单独供电。
IPM内部已经包含功率器件的驱动和保护电路,使用时只需要提供驱动电源和PWM波形的开关控制信号。驱动电源需要4路隔离的电源,其中3路隔离电源分别供给逆变桥上桥臂的3个开关器件,而下桥臂的3个开关器件共用1路电源。考虑到IPM的高频开关工作能力,PWM波形的开关控制信号的传输隔离电路应具有尽可能短的传输延时时间,以提高驱动电路参数的一致性。
2.2 电压检测与保护电路
直流侧电压上升或下降过快会导致系统工作异常,甚至损坏逆变器,因此直流侧电压检测保护电路必不可少。图4为电压检测与保护电路。将直流侧正负母线电压引入检测板,经过电阻分压后为比较器LM339提供电压信号。A1为过压比较器,V1为预先设定的较高电压值。当母线分压信号Vi大于V1时,认为产生过压现象,这时CPU控制单元必须立即发出停机命令,停止逆变器的输出。当母线分压信号Vi小于V3与电源电压所确定的某个阈值时,认为产生欠压现象,这时CPU控制单元立即发出停机命令,停止逆变器的输出。
2.3 电流检测与保护电路
电流检测与保护电路如图5所示。霍尔电流传感器采集到的电流信号经过电阻R1转化为电压信号,送往CPU进行A/D转换。以进行电流环的控制;送往比较器LM393进行过流故障判断。当采集到的电压信号V1大于过流阈值电压V2时,即出现过流现象,比较器LM393输出引脚变低,光电耦合器O1开通,三极管饱和导通,继电器JZ1线圈通电,而它的常闭触点3B和3C串联在为主回路供电的主接触器的线圈回路中。这时常闭触点断开,接触器断电,断开主回路。同时,CPU检测到过流信号,软件做出相应的故障处理,及时地保护系统。
2.4 串行通信接口电路
采用RS-485接口,利用MAX485作为LPC1766的接口驱动芯片,MAX485通信接口电路如图6所示。由于RS-485为双半工通信结构,因此用一个I/O口来控制器件处于接收或发送状态。
3 软件设计
根据直流无刷电机控制系统框图可知,无刷直流电机控制系统的软件主要实现无刷直流电机位置的检测、转速的计算、电流与转速的调节、PWM信号的生成以及故障信号的处理等功能。直流无刷电机控制系统的软件主要包括中断服务程序、位置检测、转速调节、电流调节、换向调节、PWM波生成等几部分。
主程序负责建立整个程序的一个运行框架,完成CPU初始化、运行环境的定义等工作。系统主程序流程如图7所示。
采用模块化的程序设计使得各模块的编写和调用变得更方便灵活,程序模块紧密地衔接在一起。这样编写出来的程序思路清晰,并且具有良好的可读性和可移植性,方便调试和调用。
部分程序代码如下:
结语
现代工业的快速发展对直流无刷电机控制系统的性能要求不断提高,对直流无刷电机的研究有着十分重要的现实意义。本文采用了ARM Cortex-M3内核芯片LPC1766设计了直流无刷电机控制系统,开发了包括功率驱动和控制电路存内的整个硬件系统,设计过程中力求设计出能够满足各种高性能控制策略的硬件系统,因此选用ARM、IPM等高性能器件。在扩展了必要的外围接口电路后,该硬件系统可作为通用的电机控制硬件系统。