基于DSP的双直流电机控制系统设计
2017-11-04时培成徐增伟
王 锁,时培成,徐增伟
(安徽工程大学汽车新技术安徽省工程技术研究中心,安徽芜湖 241000)
1008-1542(2017)05-0424-08
10.7535/hbkd.2017yx05003
基于DSP的双直流电机控制系统设计
王 锁,时培成,徐增伟
(安徽工程大学汽车新技术安徽省工程技术研究中心,安徽芜湖 241000)
针对多电机同步控制系统中调速、换向等问题,基于自动控制技术,设计以PC机为上位机、DSP为下位机能够同时调节双直流电机转速和转向的,以及选择工作电机的控制系统。给出了控制系统相关硬件和软件设计,通过PC机与DSP之间的串口通信,采用上位机串口软件发送数字化控制指令给下位机,控制双直流电机完成一系列预设功能;采用PWM脉宽调制原理对电机的转速进行调节,利用光电编码器通过T法对电机转速进行测量,并通过实测波形显示电机转速。实验结果表明,该系统不仅能够实现双直流电机转速和转向的同步调节,而且可以对工作电机进行选择,达到了双直流电机同步控制的效果,具有一定的可靠性及有效性。
自动控制技术;双直流电机;编码器;PWM;T法
直流电机是一种起步较早的电机,因其具有良好的启动和调速性能、调速范围广、可以平滑无极调速、过载能力强、受电磁干扰小、效率高、可靠性强等优点在许多领域得到了广泛的应用[1-2]。多电机控制系统在实际工业生产中得到广泛应用,如机器人、数控系统、空调系统等[3]。随着人们对工业生产水平的不断提高,对多电机控制系统性能的要求也越来越高,多台电机的协同控制问题是保证系统可靠运行的关键问题之一[4]。
DSP是目前主流的微处理器,具有强大的数据处理能力和高运行速度,可用于自动控制、图像处理等多个领域,目前广泛采用DSP作为直流电机运动控制系统的微处理器[5-6]。文献[7]采用PC机和DSP的主从式结构,以PC机作为上位机完成DSP对单台直流电机的控制,并通过串口通信实现人机对话,将大量的数据运算处理交给DSP来完成,最后通过电机驱动器来控制电机运动。但是从对直流电机控制技术来看,多电机同步控制技术的落后成为许多自动化生产的难题。
本文设计了双直流电机同步调速、换向以及选择等功能的控制系统,通过上位机串口软件设定电机的速度、方向以及选择电机,利用RS232串口将设定的值传递给DSP主控制器,使DSP产生相应控制信号,控制信号经过电机驱动器驱动电机完成相应的动作,并利用光电编码器采用T法对2台电机的速度进行测量。通过实际系统测试,验证了该控制系统的可靠性及有效性。
1 控制系统硬件设计
控制系统的整体设计方案如图1所示,主要包括以下几个部分:PC机、仿真器、DSP、电机驱动器、光电编码器、直流电机。PC机主要用于实现与DSP之间的通信以及通过仿真器在线调试系统程序。DSP用于接收通过上位机串口软件设定的速度和方向并产生相应的控制信号,并经过2台独立的电机驱动器实现2台直流电机同步调速、换向和选择电机。光电编码器型号为欧姆龙E6B2-CWZ3E,分辨率为600 P/R,主要用于电机速度的测量。系统选取电机型号为杰圣电机5D90GN-24,参数:90 W,DC 24 V,7 A,1 800 r/min,减速齿轮速比为180∶1。
图1 控制系统整体设计方案Fig.1 Control systems solutions
1.1 DSP主控制器
该控制系统采用TMS320F2812 DSP为主控制器。TMS320F2812是TI公司推出的32位定点DSP芯片,也是目前性价比较高的DSP芯片之一。它不但具有强大的数字信号处理能力,而且具有较为完善的事件处理能力和嵌入式控制功能[8]。该DSP芯片采用了先进的哈佛总线结构,将程序和数据分别放在不同的存储空间内,从而大大提高了DSP的数据处理速率[9-10]。CPU主频高达150 MHz,时钟周期为6.67 ns;片内含有18 KB的RAM和128 KB的Flash。片内还含有丰富的外设资源,大大降低了硬件电路的设计难度,尤其是2个事件管理器模块EVA,EVB可以产生4路独立的PWM波形和6对12路互补的PWM波形[11],非常适用于控制各类电机。同时编程可兼容C/C++语言以及汇编语言。
1.2 电机驱动器
图2 电机驱动器Fig.2 Motor drive
电机驱动器是驱使电动机完成加速、减速、制动、正反转以及选择电机的重要组件。本系统采用2块单通道的直流电机驱动器,该驱动器具有每通道持续输出16 A电流的能力,可驱动最高400 W电功率的直流电机,内置过压、欠压、过热保护电路,支持满占空比输入。为了降低和减小驱动电路对整个控制系统的影响和增强主控芯片电路的安全性,采用光耦隔离芯片HCPL0630对从DSP输入的全部控制信号进行光电隔离,充分兼容3~5 V电压输入,此光电器件可以显著提高系统电磁兼容性能;H桥电路由4个N沟道增强型AON6504场效应管组成,AON6504场效应管的漏源极电压可以达到30 V,栅源电压达到±20 V,最大电流可达到85 A。电机驱动器原理图如图2所示。
系统采用1块DSP芯片对2台直流电机的速度、方向以及选择所使用的电机进行控制,同时对2台电机的运行速度进行测量并通过数值显示。电机M1的控制通过GPIOA0,GPIOA1,GPIOA2,GPIOA6共4个引脚实现,这4个引脚分别与电机驱动器1上的INA,INB,Vcc,PWM对应。在主程序的GPIO初始化函数中将这5个引脚设置为外设功能引脚,通过对定时器1进行相应的设置可在GPIOA6引脚上产生1路对称的PWM波来控制电机的速度;在SCI数据接收中断子程序中,通过修改比较控制寄存器ACTRA中的相应位使得GPIOA0,GPIOA1,GPIOA2引脚输出“强制高”或“强制低”电平来实现电机的换向和选择。电机M2的控制通过对GPIOA0,GPIOA1,GPIOA3,GPIOA6这4个引脚实现,这4个引脚分别与电机驱动器2上的INA,INB,Vcc,PWM对应。电机M2速度和方向的调节与电机M1的完全相同,不同的是选择电机引脚M2采用GPIOA3通过输出“强制高”或“强制低”电平实现的。电机运行逻辑如表1所示,表中H表示高电平,L表示低电平,X表示与电平无关。
表1 电机运行逻辑Tab.1 Motorlogic驱动器控制输入信号INAINBPWM功率输出时的电机状态LLX制动LHPWM正转HLPWM反转
1.3 通信电路设计
为了实现双直流电机调速、转向以及选择控制系统指令的数字化,本文建立了上位机与下位机的通信模块。串行通信口是一种采用2根信号线的异步串行通信接口[12-13]。串行通信采用符合RS-232 标准的MAX3232芯片进行驱动[14-15],具有2个接收和发送通道。串行通信接口电路如图3所示,JP3对应SCIA串行通信接口,用于直流电机的调速、换向以及选择。
图3 串行通信接口电路Fig.3 Serial communication interface circuit
2 控制系统软件设计
对控制系统软件的总体设计包括主程序、定时器2周期中断、CAP3捕获中断、定时器3周期中断、CAP6捕获中断以及SCI通信中断子程序的设计。主程序的主要工作是初始化系统、外设模块以及系统中涉及的全局变量,控制系统主程序流程图如图4所示。定时器2周期中断和CAP3捕获中断主要用于电机M1实现T法测速时对高频时钟脉冲的计数以及速度计算;定时器3周期中断和CAP6捕获中断主要用于电机M2实现T法测速时对高频时钟脉冲的计数以及速度计算;SCI通信中断主要用于实现DSP主控制器与PC机的数据交换。系统所有程序都是运用在CCS6.0软件进行编写的,DSP中每个模块在CCS6.0中都有其固定的编程模板,每个外设都有其相应的子函数模块。编写程序时只需在所对应的模板中修改或添加相应的代码即可。
图4 控制系统主程序Fig.4 Master program of the control system
2.1 PWM脉宽调速
系统采用PWM脉宽调速对2台直流电机的转速进行调节。该方法可以实现电机无级调速而且属于恒转矩调速[16-17]。该方法是在不改变输出PWM波频率的情况下,通过改变电机电枢电压导通时间t1与周期时间T的比值(即占空比D)来控制电机的转速[18]。直流电机电枢两端电压平均值为U=V×D,其中V是电源电压,D=t1/T是PWM波形的占空比。如图5所示为PWM波形及其参数。系统中2台直流电机调速所需的PWM脉宽调速波形均由定时器T1工作于连续增/减模式并通过GPIOA6引脚输出频率为20 kHz 对称的PWM波实现。T1PWM波形的占空比是通过改变T1的CMPR的值来调节的,而T1 CMPR的值则是由SCI通信中断接收到的数据来决定。图6为DSP输出的占空比为50%PWM波形。
图5 PWM波形图Fig.5 PWM waveform
图6 DSP输出的PWM波形Fig.6 PWM waveform of the DSP output
2.2 电机转速测量
图7 T法测速原理示意图Fig.7 Schematic diagram of the T method for speed measurement
目前采用光电编码器的电机数字测速方法有以下3种:M法、T法、M/T法[19]。M法是在1个采样周期内计取光电编码器发出的脉冲个数M1来计算电机的转速,又称作测频法测速。此法计取的脉冲个数M1与电机转速成正比,转速越低,M1越小,测量误差就越大,测速精度就越低,所以M法只适用于高速测量。T法是在光电编码器1个脉冲周期内计数器记录了M2个高频时钟脉冲来计算电机的转速,又称做测周法测速。T法测速适用于低速测量。M/T法测速是同时计数检测时间内时钟脉冲的个数M2和检测时间内光电编码器发出的脉冲个数M1来计算电机的转速,M/T法无论在高速还是在低速时都有较高的检测精度,但是无法满足一些系统的快速响应要求[20]。由于系统所使用的电机为大力矩直流减速电机,电机在最大1 800 r/min转速下,经过减速比为180∶1的减速齿轮后,驱动轴输出的最大转速为10 r/min。基于以上分析,本系统采用T法对2台电机的转速进行测量。
T法测速所计的是DSP发出的高频时钟脉冲个数,以编码器输出的1个周期脉冲边沿作为计数器的起始点和终止点,如图7所示。假设在编码器输出的1个脉冲周期内计数器记录了M2个时钟脉冲,而时钟脉冲的频率为f,则编码器输出脉冲的周期为M2/f,由此可得电机旋转1周的时间为zM2/f。故电机的转速计算公式为
式中:z为光电编码器轴转动1周输出的脉冲个数。
由于光电编码器发出的脉冲边沿和高频时钟脉冲的边沿是不可能完全一致的,因此它们之间存在测速差值。用T法测速时,计数值M2存在着1个脉冲的偏差。故T法测速最大值差值率计算公式为
在电机低速运转时,编码器1个脉冲的周期时间比较长,在这个时间内测得的高频时钟脉冲数M2多,所以误差率e就小,测速精度就会增高。
系统采用CAP3(上升沿有效)捕获编码器1的A相输出对电机M1的转速进行测量,并利用定时器2的周期中断来辅助M1测速,M1测速流程图如图8所示;采用CAP6(上升沿有效)捕获编码器2的A相输出对电机M1的转速进行测量,并利用定时器3的周期中断来辅助M2测速,M2测速流程图如图9所示。
图8 M1测速流程图Fig.8 M1 Velocity flow chart
图9 M2测速流程图Fig.9 M2 Velocity flow chart
2.3 SCI串行通信
DSP2812中有SCIA和SCIB 2个串行通信模块,DSP与上位机通信时选用SCIA模块。SCIA串行通信主要用于实现DSP主控制器与PC机的数据交换,并将交换到的数据赋值给相应的寄存器实现双直流电机调速、换向以及选择。SCIA串行通信接口采用中断的方式来接收PC机发送的数据,SCIA串行通信数据接收中断程序流程图如图10所示。
SCIA串行数据接收中断函数接收上位机串口软件通过com2串口每次发送7位十进制的数据,串口软件数据发送界面如图11所示。SCIA接收中断函数将接收到的数据存放在数组Scia_VarRx[i]中,该数组中的元素Scia_VarRx[0],Scia_VarRx[1],Scia_VarRx[2],Scia_VarRx[3]所具有的数值通过组合来改变定时器T1的比较寄存器的值实现电机调速;而剩下的3位数据通过组合将数值传递给EVA的比较控制寄存器ACTR实现电机换向和选择,表2所示为这3位数据组成的电机控制字与电机运行状态的对应关系。数组Scia_VarRx[i]中每个元素通过设置传递给DSP中相应的全局变量,利用CCS6.0可以看到全局变量数值的变化如图12所示。
图10 SCIA串行通信数据接收中断流程图Fig.10 SCIA serial communication data reception interrupt flow chart
图11 串口软件数据发送界面Fig.11 Serial port software sends data interface
控制字(十进制)电机运行状态243M1,M2正转252M1,M2反转195M2正转204M2反转51M1正转60M1反转
图12 全局变量数值变化Fig.12 Global variable numerical changes
图13 实物连接图Fig.13 Physical connection diagram
3 实验验证
基于以上的分析和研究,搭建了图13所示的控制系统实物连接图。采用上位机串口软件发送数控指令“1125243”,使DSP输出占空比为40%的PWM波形且M1,M2均处于正转。通过计算可知PWM波形占空比为40%时电机转速的理论值为4 r/min。利用增量式光电编码器对2台电机的转速进行测量,并在CCS6.0中Graph显示M1,M2的转速波形图如图14、图15所示。
图14 M1转速波形图Fig.14 M1 speed waveform
图15 M2转速波形图Fig.15 M2 speed waveform
从M1和M2转速波形图可以看出:2台电机的转速都是从0开始上升,上升到比设定值低或高以后,波形在设定值的上下波动。故通过上位机串口软件可以调节双直流电机的转速、方向以及选择,该控制系统达到了预定的功能。
4 结 语
基于TMS320F2812为主控制器设计双直流电机同步调速、换向以及选择控制系统,系统硬件由DSP控制板、电机驱动器、直流电机、光电编码器、上位机软件等构成;软件设计方案采用上位机发送数控指令来改变双直流电机的转速、旋转方向以及工作电机的选择,通过T法对双直流电机的转速值进行测量,并将转速测量值在CCS6.0中通过波形直观的显示出来。经过实验验证,系统实现了上位机实时控制双直流电机的转速、转向和选择,并达到了预期效果。该控制系统为2台及以上电机的同步控制提供了参考,但该系统并未对2台电机同步控制的精度进行研究,未来可增加控制算法,比如模糊PID、滑模控制算法等,提高多电机同步控制的精度。
/
[1] 顾万里, 张森, 胡云峰, 等. 有刷直流电机非线性控制系统设计[J]. 吉林大学学报(工学版), 2017, 47(3): 900-907.
GU Wanli, ZHANG Sen, HU Yunfeng,et al. Nonliner controller design of brushed DC motir[J]. Journal of Jilin University (Engineering and Technology Edition), 2017,47(3):900-907.
[2] 明立娟. 直流电机控制系统[D].成都:电子科技大学,2008.
MING Lijuan. The DC Motor Control System[D]. Chengdu:University Of Electronic Science and Technology of China, 2008.
[3] 李健,卢刚, 李声晋,等. 基于双DSP的多电机协调控制系统设计[J]. 微特电机, 2013, 41 (7): 50-53.
LI Jian, LU Gang, LI Shengjin, et al. Design of multi-motor cooperative control system base on dual-DSP[J]. Small and Special Electrical Machines, 2013, 41 (7): 50-53.
[4] 白琨, 张春鹏, 冯敏亮. 基于DSP的多台步进电机控制系统设计[J]. 合肥学院学报(自然科学版), 2012, 22 (03): 35-39.
BAI Kun, ZHANG Chunpeng, FENG Minliang. Design on control system of motors based on DSP[J]. Journal of Hefei University (Natural Sciences), 2012, 22(3): 35-39.
[5] 张宝发, 赵辉, 岳有军. 基于DSP的步进电机控制系统设计[J]. 仪表技术与传感器, 2010(8):63-65.
ZHANG Baofa, ZHAO Hui, YUE Youjun. Designing of stepper motor control system based on DSP[J]. Instrument Technique and Sensor, 2010 (8): 63-65.
[6] 凌晔华. DSP直流电机调速系统研究[J]. 现代制造技术与装备, 2016 (12): 57-60.
LING Yehua. Research on DSP DC motor speed regulation system[J]. Modern Manufacturing Technology and Equipment,2016(12):57-60.
[7] 熊远生, 钱苏翔, 高金凤. 基于DSP的步进电机控制系统与上位机的串行通信设计[J]. 机电工程, 2004,21(9):17-21.
XIONG Yuansheng, QIAN Suxiang, GAO Jinfeng. Design of the control systems of stepper motor basedon DSP and serial communication with host computer[J]. Mechanical & Electrical Engineering Magazine, 2004, 21 (9): 17-21.
[8] 赵高超, 杨鸿武, 裴东,等. 基于TMS320F2812的电机增量式PID控制系统[J]. 仪表技术与传感器, 2014(6): 106-108.
ZHAO Gaochao, YANG Hongwu, PEI Dong,et al. Design of motor incremental PID control system based on TMS320F2812[J]. Instrument Technique and Sensor, 2014 (6): 106-108.
[9] 孟凡菲, 王文君, 俞竹青. 基于DSP2812无刷直流伺服电机控制系统的设计[J]. 煤矿机械, 2009, 30(12): 138-140.
MENG Fanfei,WANG Wenjun,YU Zhuqing. Design of brushless direct current servo motor system based on DSP2812[J]. Coal Mine Machinery, 2009, 30(12): 138-140.
[10] 余晓填, 杨曦, 陈安, 等. 基于移动机器人直流电机驱动电路的设计与应用[J]. 微电机, 2011, 44(11): 37-40.
YU Xiaotian, YANG Xi, CHEN An,et al. Design and implementation of DC motor driver based on mobile robot[J]. Micro Motors, 2011, 44(11): 37-40.
[11] 褚仁林. 基于DSP的电机控制系统的研究[D].西安: 西北工业大学, 2007.
CHU Renlin. Research on Motor Control System Based on DSP[D]. Xi′an: Northwestern Polytechnical University, 2007.
[12] 罗秋凤, 叶慧, 李勇,等. DSP28335嵌入式系统的SCI在线编程方法实现[J]. 河北科技大学学报, 2013, 34(4): 318-324.
LUO Qiufeng, YE Hui, LI Yong,et al. SCI online programming for DSP28335 embedded system[J]. Journal of Hebei University of Science and Technology, 2013, 34(4): 318-324.
[13] 相里燕妮. 基于DSP的移动机器人运动控制系统设计[D]. 西安:中国科学院大学(西安光学精密机械研究所), 2015.
XIANGLI Yanni.Design of Robot Motion Control System Based on DSP[D].Xi′an:University of Chinese Academy of Sciences(Xi′an Institute of Optics and Precision Mechanics),2015.
[14] 翟希述, 王宝兴, 范淼. 基于Visual C#的串口通信程序设计[J]. 电子科技, 2011 (2): 24-26.
ZHAI Xishu, WANG Baoxing, FAN Miao. Programming of serial communication based on Visual C#[J]. Electronic Science and Technology, 2011 (2): 24-26.
[15] 焦玉朋. 基于51单片机的PWM直流电机调速系统[D]. 呼和浩特: 内蒙古大学, 2013.
JIAO Yupeng. The System of PWM Speed Controling for DC Motor Based on 51 Single Chip[D]. Huhehaote: Inner Mongolia University, 2013.
[16] 吴攀,周凤星. 基于STM32控制的大功率直流电机调速系统[J]. 组合机床与自动化加工技术, 2017 (4): 111-113.
WU Pan, ZHOU Fengxing. Research on high-power velocity regulation of direct current motor using STM32 control processor[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2017 (4): 111-113.
[17] 李美艳. 基于单片机的直流电机调速系统的设计[J]. 电子设计工程, 2016 (22): 158-160.
LI Meiyan. Design of DC motor speed control system based on single-chip microcomputer[J]. Electronic Design Engineering, 2016 (22): 158-160.
[18] 侯俊梁, 单鸿涛, 汪振宇, 等. 基于DSP的直流电机调速技术研究[J]. 装备维修技术, 2016, 159(2): 30-34.
HOU Junliang, SHAN Hongtao, WANG Zhengyu, et al. The DC motor speed comtrol based on DSP[J]. Equipment Technology, 2016, 159(2): 30-34.
[19] 李昕奇, 金勇. 基于DSP2812的电动机测速方法的研究[J]. 电气自动化, 2011, 33(4): 81-82.
LI Xinqing, JIN Yong. The research of speed measuring of motor based on DSP2812[J]. Electrical Automation, 2011, 33(4): 81-82.
[20] 高敏, 张烁, 朱明. 基于DSP的M/T测速法[J]. 宿州学院学报, 2013, 28(3): 84-86.
GAO Min, ZHANG Shuo, ZHU Ming. M/T speed measurement method based on DSP[J]. Journal of Suzhou University, 2013, 28(3): 84-86.
Design of double DC motor control system based on DSP
WANG Suo, SHI Peicheng, XU Zengwei
(Anhui Engineering Technology Research Center of Automotive New technique, Anhui Polytechnic University, Wuhu, Anhui 241000, China)
Aiming at the problems of speed control, commutation and so on in the multi-motor synchronous control system, based on automatic control technology, a control system with PC as principal computer and DSP as slave computer is designed, which can change dual DC motor speed and steering, as well as select work drive motors. Related hardware and software design of the control system are given. Through serial communication between DSP and PC using PC serial port software, digital control command is sent to the slave computer for controlling dual DC motor to do a series of preset functions. PWM pulse width modulation is used for motor speed regulation, photoelectric encoder is used to measure motor speed by T method, and the motor speed is displayed by the actual waveform. Experimental results show that the system can not only realize the synchronization of dual DC motor speed and steering adjustment, but also select the motor and achieve the dual DC motors synchronization control effect. The control system has certain reliability and effectiveness.
automatic control technology; double DC motor; encoder; PWM; T method
TM331
A
2017-05-01;
2017-08-24;责任编辑:李 穆
国家自然科学基金(51575001);安徽省科技攻关项目(1604a0902158);安徽高校科研平台创新团队建设项目(2016-2018年度)
王 锁(1994—),男,安徽淮北人,硕士研究生,主要从事电机控制方面的研究。
时培成教授。E-mail:shipeicheng@ahpu.edu.com
王 锁,时培成,徐增伟.基于DSP的双直流电机控制系统设计 [J].河北科技大学学报,2017,38(5):424-431.
WANG Suo, SHI Peicheng, XU Zengwei.Design of double DC motor control system based on DSP[J].Journal of Hebei University of Science and Technology,2017,38(5):424-431.