《武汉工程大学学报》  2011年06期 82-84,106   出版日期:2011-07-30   ISSN:1674-2869   CN:42-1779/TQ
基于PC机的无刷直流力矩电机控制系统



0引言无刷直流力矩电机(BLDC, Blushless DC motor)具有低转速、大扭矩、过载能力强、调速范围宽、响应快、特性线性度好、力矩波动小等特点, 在无超调响应的高精度位置伺服系统中得到了广泛应用[12].目前,在直流力矩电机的控制中,多采用PWM调速,需要输入多路PWM信号,而带死区的多路PWM产生在一般的可编程控制器中耗用过多的资源,使得系统其它性能大大降低.自C2000系列DSP问世以来,因其内部具有的事件管理器(EV)可以非常方便的产生多路带死区的PWM波形,大大简化了开发人员的技术需求,在电机调速领域应用越来越广泛.  在一些跟踪应用系统中,往往需要PC机辅助调试,而设备的运行状态控制及参数回显需要人机可视化界面.而Visual C++基于C,C++语言,是与系统联系非常紧密的编程工具,兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,在用户人机界面制作上具有独特的优势.基于以上分析,依据工程实际需求,基于DSP2407处理器设计了无刷直流电机控制系统,利用Visual C++制作了用户人机界面,通过人机界面可控制无刷直流电机控制系统.1直流无刷力矩电机的驱动原理直流力矩电机的驱动通常由三相全桥控制电路完成[34],如图1(a)所示,该电路由6个开关管组成,上下两个开关管组成一个桥壁.其中任何一个开关管在输入的PWM波形处于高电平时导通,处于低电平时关断.同一个桥壁上的上下两个开关管(如Z1和Z2)不能同时导通,否则,将会造成电源VDC短路.因此,Z1和Z2、Z3和Z4、Z5和Z6的导通时间必须是互补的,以Z1和Z2两个开
图1直流力矩电机的驱动原理图
Fig.1Drive principle of the DC torque motor关管为例,其所需的实际控制的PWM波形如图1(b)所示,为避免因开关管的截止延迟导致Z1和Z2的瞬时导通的情况出现,Z1_PWM需要延迟一个死区时间导通,且提前一个死区时间截止.在6路PWM脉冲的控制下,开关管按照一定的顺序导通,即可驱动直流电机.
2基于DSP2407光电编码器测速方法
2.1DSP2407简介TMS320LF2407A是TI设计的一款专用于电机控制的数字信号处理芯片,除了采用改进的哈佛结构及多级流水线技术之外,其指令执行速度为40MIPS,绝大多数指令都能在25 ns的单周期内执行完毕.内部资源有[35]:片内32K×16位的Flash程序存储器,以及224K字×16位的最大可寻址存储器空间,544字×16位的双端口数据/程序DARAM, 2K字×16位的单端口SARAM.外设10位、500 ns转换速度、16/8可选通道的模数转换器(ADC)模块为插入高速动态光电探测器(QD)的外反馈信号输入提供了可能.串行通信接口(SCI)为系统初始给定值的输入、超前扫描步长的动态控制、CPU的初始化与跟踪模块的通信,从而完成扫描控制系统的外反馈输入提供了外部控制的通信方法.特别是2个通用定时器、8路脉宽调制(PWM)通道、4个正交编码器脉冲接口的事件管理器A和B外设,可以实现对扫描控制系统中垂直和水平两方向的步进电动机的速度和位置控制.同时具有看门狗定时器、CAN接口和SPI同步串行端口等外设,为扩展系统功能及保证系统稳定运行提供了保障.
第6期周传璘,等:基于PC机的无刷直流力矩电机控制系统
武汉工程大学学报第33卷
2.2光电编码器的测速方法光电编码器又称为光电角位置传感器,是一种集光、机、电为一体的数字测角装置.它将输入给轴的角度量,利用光电转换原理转换成相应的电脉冲或数字量,具有体积小、精度高、工作可靠、接口数字化等优点[67].目前基于光电编码器的脉冲测速主要采用M/T法,其测速原理如图2所示.在M/T法中,光电脉冲计数值M1本身就是整个光电脉冲,它的变化并不导致误差,而仅仅引起实际采样时间的变化.时钟脉冲计数M2有多1图2M/T法的测速原理
Fig.2Principle for speed measurement method of M/T少1个脉冲的误差,但由于时钟脉冲的频率远高于光电脉冲的频率,所以由其引起的误差很小,从而使测量精度大为提高.转角计算公式如式(1)所示.
Δθ=2π δPN Δt(1)
式(1)中,δ=f(t2)-f(t1)+N·0xFFFFh
Δt=t2-t1
PN为每转脉冲数,f(t2)、f(t1)分别为定时器计数值.习惯上常以每分钟转数来表示,则电机的转速可表示为:n=60M1PN(Tc+ΔT)=60M1f0PNM2(r/min)(2)实现方法是:当程序进入到TC的周期测速中断时,将捕获单元打开,一旦捕捉到码盘脉冲的上升沿,立即开启高频脉冲计数器和光电编码器输出脉冲计数器,然后关闭捕获使能.与此同时,系统启动比较中断,当TC结束后,打开捕获单元.当再次捕获到码盘脉冲的上升沿时,读取两个计数器的数值并关闭计数器.这样可由一个捕获单元实现两个计数器的同时开启与关闭,提高了测速精度.3无刷直流力矩电机控制系统设计3.1系统总体设计框图系统控制组成框图如图3所示,DSP2407作为为整个系统的控制核心,其芯片外围外扩展了FALSH,SRAM等存储芯片,同时配置了仿真下载的JTAG接口.PC机作为上位机,通过RS232串口将控制命令发送给DSP2407,同时接收由2407反馈回的相关信息,并在用户界面中显示.下位机DSP2407通过内部外设事件管理器(EV)产生所需的PWM脉冲,送给力矩电机的驱动电路,进而驱动电机;同时测速传感器(光电编码器)采集电机的速度信息,经DSP2407内部外设EV的QEP电路捕捉光电编码器的输入脉冲,根据一定的测速算法,计算出电机转速,并通过RS232串口将处理后的位置及速度信息发送给PC机用于显示.图3系统控制组成框图
Fig.3Block diagram for system control3.2下位机DSP2407软件设计DSP2407的主要作用有以下两点:接收上位机PC的命令信息,并根据该信息产生对电机的控制动作;捕获光电编码器的输入脉冲并进行计算,将得到的速度转角信息通过SCI传递给PC机显示.其程序流程如图4所示,上电进行相关初始化后,DSP进入等待状态.如果有EV中断产生,则进入光电编码器转角计算服务子程序;如果是SCI中断,接收到了PC机命令信息,根据实际命令进行相关动作,否则,将速度信息反馈给PC显示.图4下位机软件执行流程
Fig.4flow chart of software for lower computer3.3上位机用户界面设计上位机用户界面采用Visual C++编制,如图5所示,界面主要由速度实时显示、命令信息监测、命令信息发送区域、串口参数设置、固定参数更新等区域组成.
图5上位机用户界面设计(部分)
Fig.5user interface for upper computer4结语经VC界面通过串口与下位机DSP2407进行联调实验证实:在PC机的命令控制下,DSP2407能实时的控制无刷直流力矩电机,并将由光电编码器采集到速度转角信息通过串口发送给上位机PC进行显示,程序设计时还提供了定向的参数更新窗口,方便了项目的实际调试过程.