设计直流电机综合测控系统设计资料Word格式.docx
《设计直流电机综合测控系统设计资料Word格式.docx》由会员分享,可在线阅读,更多相关《设计直流电机综合测控系统设计资料Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
由于CPLD/FPGA性能优越,具有较佳的性能价格比,所以在工业过程及设备控制中得到日益广泛的应用。
PWM调速系统与可控整流式调速系统相比有下列优点:
由于PWM调速系统的
开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好;
同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;
开关器件只工作在开关状态,主电路损耗小,装置效率高。
本文所介绍的系统是一个基于VHDL的PWM调速系统。
由于PLD具有连续连接结构,易于预测延时,使电路仿真会更加准确,且编程方便,速度快,集成度高,价格低,从而使系统研制周期大大缩短,产品的性能价格比提高。
CPLD/FPGA芯片采用流行的VHDL语言编程,并在QuartusII设计平台上实现了全部编程设计。
2.研究背景
电机作为机电能的转换装置,其应用范围己遍及国民经济的各个领域。
近些年来,随着现代电力电子技术、控制技术和计算机技术的发展,电机的控制技术也得到了进一步的发展,电机应用已由过去简单的起停控制、提供动力为目的应用,上升到对其速度、位置、转矩等进行精确的控制,使被驱动的机械运动符合预想的要求。
采用功率器件进行控制,将预定的控制方案、规划指令转变成期望的机械运动,这种新型控制技术己经不是传统的“电机控制”、“电气传动”而是“运动控制”。
运动控制使被控机械运动实现精确的位置控制、速度控制、加速度控制、转矩或力的控制,以及这些被控机械量的综合控制。
3.电机速度控制系统的设计及模拟仿真
如图1所示,基于FPGA的直流电机PWM控制电路主要由四部分组成:
控制命令输入模块、控制命令处理模块、控制命令输出模块、电源模块。
键盘电路、时钟电路是系统的控制命令输入模块,向FPGA芯片发送命令,FPGA芯片是系统控制命令的处理模块,负责接收、处理输入命令并向控制命令输出模块发出PWM信号,是系统的控制核心。
控制命令输出模块由H型桥式直流电机驱动电路组成,它负责接收由FPGA芯片发出的PWM信号,从而控制直流电机的正反转、加速以及在线调速。
电源模块负责给整个电路供电,保证电路能够正常的运行。
图1FPGA直流电机PWM控制电路
3.1系统工作原理
在图1中所示的FPGA是根据设计要求设计好的一个芯片。
START是电机的开启端,U_D控制电机加速与减速,EN1用于设定电机转速的初值,Z_F是电机的方向端口,选择电机运行的方向。
CLK2和CLK0是外部时钟端,其主要作用是向FPGA控制系统提供时钟脉冲,控制电机进行运转。
通过键盘设置PWM信号的占空比。
当U_D=1时,表明键U_D按下,输入CLK2使电机转速加快;
当U/D=0,表明键U_D松开,输入CLK2使电机转速变慢,这样就可以实现电机的加速与减速。
Z_F键是电机运转的方向按键,当把Z_F键按下时,Z_F=1,电机正转;
反之Z/F=0时,电机反转。
START是电机的开启键,当START=1,允许电机工作;
当START=0时,电机停止转动。
H桥电路由大功率晶体管组成,PWM输出波形通过由两个二选一电路组成的方向控制电路送到H桥,经功率放大以后对直流电机实现四象限运行。
并由EN1信号控制是否允许变速。
以上是在网上查询的关于直流电机的简易结构描述,我们电脑QuartusⅡ做的是FPGA内部逻辑组成。
控制逻辑VHDL描述
新建文件夹,以文件名PWM保存。
3.2PWM脉宽调制信号产生电路描述
图2PWM脉宽调制信号产生电路
PWM脉宽调制信号产生电路由可控的加减计数器CNTA、5位二进制计数器CNTB、数字比较器LPM_COMPARE三部分组成。
可控的加减计数器做细分计数器,确定脉冲宽度。
当U/D=1时,输入CLK2,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;
当U/D=0,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。
5位二进制计数器在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。
当计数值小于设定值时,数字比较器输出高电平;
当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。
3.2.1可控的加减计数器CNTA
新建VHDLFile文本,输入如下程序:
LIBRARYIEEE;
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNTAIS
PORT(CLK:
INSTD_LOGIC;
U_D:
CQ:
OUTSTD_LOGIC_VECTOR(4DOWNTO0));
ENDCNTA;
ARCHITECTUREbehavOFCNTAIS
SIGNALCQI:
STD_LOGIC_VECTOR(4DOWNTO0);
BEGIN
PROCESS(CLK)
IFCLK'
EVENTANDCLK='
1'
THEN
IFU_D='
THEN
IFCQI<
=31THENCQI<
="
11111"
;
ELSECQI<
=CQI+1;
ENDIF;
ELSIFCQI=0THENCQI<
00000"
=CQI-1;
ENDIF;
ENDPROCESS;
CQ<
=CQI;
ENDbehav;
保存该文件并以文件名CNTA.vhd存盘,新建工程CNTA,编译CNTA.vhd。
如下图新建波形编辑图
图3新建vwf
向波形编辑器拖入信号节点,并设置好仿真激励波形,以CNTA.vwf存盘。
仿真得如仿真波形输出报告。
图4仿真波形输出报告
可控的加减计数器CNTA中的端口U_D控制计数器的方向,EN1是计数器的使能端,控制计数器初值的变化。
U_D=1时,加减计数器CNTA在脉冲CLK2的作用下,每来一个脉冲,计数器CNTA加1,U_D=0时,每来一个脉冲,计数器CNTA减1。
使能端EN1设定计数器值的初值,当EN1由1变为0的时候,无论U_D如何表化,计数器的值都不会发生变化,这样就完成了计数器的设定值。
选择File—Create/Update—CreateSymbolFilesforCurrentFile,生成Symbol供顶层文件调用。
图5CNTASymbol
图6CNTARTL
3.2.25位二进制计数器CNTB
如下图新建VHDLFile格式文本
图7选择编译文件类型
输入如下程序
ENTITYCNTBIS
INBIT;
Q:
BUFFERINTEGERRANGE31DOWNTO0);
END;
ARCHITECTUREBHVOFCNTBIS
BEGIN
BEGIN
Q<
=Q+1;
ENDBHV;
保存该文件并以文件名CNTB.vhd存盘,新建工程CNTB,编译CNTB.vhd。
新建波形编辑器,向波形编辑器拖入信号节点,并设置好仿真激励波形,以CNTB.vwf存盘。
图85位二进制计数器仿真波形
CNTB是一个简单的5位二进制计数器,它的工作原理和CNTA的原理很相似,我们只是在CNTA的时钟端加了一个使能端U_D控制其加减的方向。
而CNTB的时钟端没有加使能端,所以每来一个脉冲计数器加1,因为CNTB是一个5位的二进值计数器,所以当计数器的值当大于32时,计数器又重新从0开始记数,从而产生周期性的线性增加的锯齿波。
图9CNTBSymbol
图10CNTBRTL
3.2.3数字比较器LPM-COMPARE
选择Tools—MegaPlug-InManager命令,按如下图示定制新的宏功能模块。
图11LPM宏功能模块设定
图12设5位数据比较器
3.2.4PWM脉宽调制信号产生电路
如下图新建原理图编辑窗
图13选择编辑类型
调用上述生成的Symbol和软件自带的常用端口,在编辑窗里连出图2所示的PWM脉宽调制信号产生电路。
并新建成工程PWMmktz.新建波形编辑窗口,拖入信号节点。
设置好仿真激励波形,以PWMmktz.vwf存盘。
图14数字比较器的仿真波形
数字比较器是产生PWM波形的核心组成部件,可控的加减计数器CNTA和5位二进制计数器CNTB同时加数字比较器LPM-COMPARE两端作为两路输入信号,当计数器CNTB输出值小于细分计数器CNTA输出的规定值时,比较器输出高电平;
当CNTB输出值大于细分计数器CNTA输出的规定值时,比较器输出低电平。
改变细分计数器的设定值,就可以改变PWM输出信号的占空比。
为了便于观察防真波形,在CNTB的输出加上B[4..0],在最后的设计中须删除不必要的的输出端口B[4..0]。
细分计数器CNTA是一个双向计数器,可以进行加减计数,由U_D控制其加/减计数方向,CLK是计数时钟输入端。
为了便于连续变速控制,在计数器的CLK端通过“与”门,加入了CLK2外部变速控制附加时钟,并由EN1信号控制是否允许变速。
在本次设计中直流电机转速进行了32级细分。
其仿真波形如图15,细分计数器的初值我设为08H,也就是十进值的8,当计数器CNTB的值小于8时,AGB输出高电平,当计数器CNTB的值大于8时,AGB的输出值为低电平,从而产生PWM波形。
图15A[4..0]=08H时电机加速PWM波形
通过改变细分计数器的值就可以改变PWM的占空比,从而改变直流电机的速度。
在图11中占空比D=8/32=0.25,在图16中占空比D=4/32=0.125。
通过以上两组数据比较以及分析仿真波形我们可以看出,只要改变使能端电平的高低,便可以改变细分计数器的值,也就是改变细分计数器CNTA的初值,从而可以改变直流电机的占空比,改变直流电机的速度。
图16A[4..0]=04H时电机减速PWM波形
调节PWM波的占空比是电机调速的重要手段,若脉宽计数器CNTA的值逐渐增大,输出脉冲的开启时间变大,PWM占空比逐渐变大,功率器件输出给电机电枢的能量增加,电机加速。
若脉宽计数器定时器CNTA的值减小,输出脉冲的开启时间变小,PWM占空比逐渐变小,功率器件输出给电机电枢的能量减少,电机减速。
当电机得到加速信号,占空比增大至它可调范围的最大值后保持,电机得到减速信号,占空比减小至它的可调范围的最小值后保持。
4.运行控制逻辑电路描述
4.12选1多路选择器MUX21A
ENTITYMUX21AIS
PORT(A,B,S:
Y:
OUTSTD_LOGIC);
ENDENTITYMUX21A;
ARCHITECTUREoneOFMUX21AIS
SIGNALE:
STD_LOGIC;
SIGNALD:
D<
=AAND(NOTS);
E<
=BANDS;
Y<
=DORE;
ENDARCHITECTUREone;
保存该文件并以文件名MUX21A.vhd存盘,新建工程MUX21A,编译MUX21A.vhd。
图17新建vwf
向波形编辑器拖入信号节点,并设置好仿真激励波形,以MUX21A.vwf存盘。
图18设置好仿真激励波形图
图19仿真波形输出报告
波形分析(有一定的延时)
当S=1,输出Y=B;
当S=0,输出Y=A;
图20MUX21ASymbol
图21MUX21ARTL
4.2工作/停止控制和正/反转方向控制电路
如图22所示FPGA中的工作/停止控制和正/反转方向控制电路,其两个二选一多路选择器加上两个与门根据逻辑原理组合而成。
START键通过“与”门控制PWM输出,实现对电机的工作/停止控制。
当START端接高电平时,表示电源接通,电机开始运转;
当START端接低电平时,电机停止运转。
Z/F键控制选择PWM波形是从正端Z进入H桥,还是从负端F进入H桥,以控制电机的旋转方向。
图22工作/停止控制和正/反转方向控制电路
当Z/F=1时PWM输出波形从正端Z进入H桥,电机正转。
当Z/F=0时PWM输出波形从负端F进入H桥,电机反转。
仿真如图23所示。
图23正/反转工作控制电路波形
当START=1时,与门打开,允许电机工作。
当START=0时,与门关闭,电机停止转动。
仿真如图24所示。
图24 工作/停止电路波形
5.直流电机PWM调速系统仿真
5.1建立工程项目PWM
原理图的设计流程如下:
图25项目输入设计框图
图26选择编辑类型
调用上述生成的Symbol和软件自带的常用端口,在编辑窗里连出下图所示的直流电机PWM控制电路,并建立新工程PWM。
图27直流电机PWM控制电路
在本次设计中,需要满足的技术要求是设计具有正/反转,起/停控制功能、速度在线可调的直流电机控制装置。
5.2正/反转控制仿真
键盘Z_F是电机的方向控制键。
当要求电机正转时,只需要按下键Z_F,表示Z_F输出高电平,即Z_F=1,电机正转,如图28所示。
当键Z_F松开时,Z_F=0时,电机反转,如图29、图30所示。
图28电机正转
图29电机反转
图30电机正反转
5.3启/停控制仿真
START键是电机的启动键,当按下START键时,START=1,电机进入运行状态,如图31所示。
反之,START=0时,电机停止,如图32、图33所示。
图31启动仿真波形
图32停止仿真波形
图33启/停仿真波形
5.4加/减速仿真
键盘EN1控制电机是否允许变速。
所以通过改变EN1便可以改变设定值H[4..0]的值,也就是设定值的初值,从而改变了直流电机的占空比,改变直流电机的速度,达到调速的目的。
因为CNTB是5位的计数器,所在本设计中直流电机转速细分为32级。
如图34的占空比为2/32=0.0625,同理通过按键EN1该变H[4..0]的值便得到如图35、36的PWM仿真波形,其占空比依次为0.125、0.25,也就是占空比增大,电机的速度增加。
根据以上的数据比较与仿真波形的分析可以看出,电机的速度在逐渐的增加。
所以通过改变EN1的值可以改变直流电机的PWM占空比,从而改变直流电机的速度。
图34H[4..0]=02H仿真波形
图35H[4..0]=04H仿真波形
图36H[4..0]=08H仿真波形
5.5仿真结果分析
通过上述的仿真波形分析可知,本设计中的各项功能够很好的实现。
在时钟脉冲的作用下,计数器CNTA和CNTB都能按照事先设定好的规则进行计数。
CNTA是可控的加减计数器,U_D控制其计数的方向,EN1用于设定其初值,当NE1由高电平变为低电平时,就完成了设定值。
CNTB是5位二进制计数器,其在时钟脉冲CLK0的作用下一直加数,当它加到32时就自动返回到0再重新加数。
两路计数器同时加到数字比较器LMP_COMPARE上,当CNTB的值小于设定值时,数字比较器输出高电平,当CNTB的值大于设定值时,数字比较器输出低电平。
因此改变设定值的大小就可以改变PWM波形的大小,也就是完成了电机的调速。
Z_F是电机的方向按键,选择PWM波形的进入方向,当其为1时,电机正转,反之,反转。
至于电机的控制,是在它的输入端加上两个与门来控制电机的启动与停止。
其具体的操作如下:
当按下键Z_F键时,电机正转(如图28),松开键时,电机反转(如图29)。
当按下键START时,电机开始工作(如图31),松开时,电机停止工作(如图32)。
通过按键EN1的闭合与断开可以改变H[4.0]的值(如图34、35、36)从而改变直流电机的PWM占空比,达到改变直流电机速度的目的。
本设计采用VHDL设计FPGA脉宽调制控制方案,计算机仿真和对直流电机控制的结果表明,该电路能有效地产生PWM控制信号控制电机的转速,控制精度由FPGA中的数字比较器决定。
在本设计中,采用的数字比较器为5位,若增加数字比较器的位数,就可以提高电机转速的控制精度。
FPGA内部采用状态机结构,遇到干扰时,能很快从异常状态转入正常工作状态,保证了控制系统具有高的可靠性。
从以上的仿真中可以看出,基于FPGA的直流电机的控制能够达到很好的预期效果。
6.设计总结
本文在QuartusII软件平台上实现了基于VHDL直流电机速度控制系统的研究设计。
设计期间主要完成了以下工作:
1.QuartusII软件平台的应用。
掌握了基于VHDL语言设计的基本流程和设计输入,设计编译,功能确认,延时确认,设计仿真等模块的应用。
通过应用使我对VHDL语言深入的了解,可以熟练地使用QuartusII平台进行编程和其他应用。
2.基于VHDL的直流电机速度控制系统的理论及其软件仿真,本直流电机速度控制系统实现了以下功能:
(1)用户可自行设定电机的目标速度、速度临界差值。
(2)系统通过用户设定可以自动进行调速,达到用户指定速度要求。
本文提出的基于VHDL的PWM实现电路具有结构简单、容易实现等优点。
但是在此设计研究过程中,有以下几点不足:
基于VHDL的数字系统设计方法、增加PWM的精度、将理论与实际系统结合。