设计直流电机综合测控系统设计.docx

上传人:b****4 文档编号:4458540 上传时间:2022-12-01 格式:DOCX 页数:17 大小:1.01MB
下载 相关 举报
设计直流电机综合测控系统设计.docx_第1页
第1页 / 共17页
设计直流电机综合测控系统设计.docx_第2页
第2页 / 共17页
设计直流电机综合测控系统设计.docx_第3页
第3页 / 共17页
设计直流电机综合测控系统设计.docx_第4页
第4页 / 共17页
设计直流电机综合测控系统设计.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

设计直流电机综合测控系统设计.docx

《设计直流电机综合测控系统设计.docx》由会员分享,可在线阅读,更多相关《设计直流电机综合测控系统设计.docx(17页珍藏版)》请在冰豆网上搜索。

设计直流电机综合测控系统设计.docx

设计直流电机综合测控系统设计

 

课程:

EDA技术

班级:

10电信本2班

姓名:

622

学号:

100917024

教师:

肖老师

 

简易直流电机PWM调速控制系统设计

直流电机PWM调速控制电路设计

如图1所示,基于FPGA的直流电机PWM控制电路主要由四部分组成:

控制命令输入模块、控制命令处理模块、控制命令输出模块、电源模块。

键盘电路、时钟电路是系统的控制命令输入模块,向FPGA芯片发送命令,FPGA芯片是系统控制命令的处理模块,负责接收、处理输入命令并向控制命令输出模块发出PWM信号,是系统的控制核心。

控制命令输出模块由H型桥式直流电机驱动电路组成,它负责接收由FPGA芯片发出的PWM信号,从而控制直流电机的正反转、加速以及在线调速。

电源模块负责给整个电路供电,保证电路能够正常的运行。

图1FPGA直流电机PWM控制电路

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内部逻辑组成。

2.控制逻辑VHDL描述

新建文件夹,以文件名PWM保存。

2.1PWM脉宽调制信号产生电路描述

图2PWM脉宽调制信号产生电路

PWM脉宽调制信号产生电路由可控的加减计数器CNTA、5位二进制计数器CNTB、数字比较器LPM_COMPARE三部分组成。

可控的加减计数器做细分计数器,确定脉冲宽度。

当U/D=1时,输入CLK2,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;当U/D=0,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。

5位二进制计数器在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。

当计数值小于设定值时,数字比较器输出高电平;当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。

2.1.1可控的加减计数器CNTA

新建VHDLFile文本,输入如下程序:

LIBRARYIEEE;

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNTAIS

PORT(CLK:

INSTD_LOGIC;

U_D:

INSTD_LOGIC;

CQ:

OUTSTD_LOGIC_VECTOR(4DOWNTO0));

ENDCNTA;

ARCHITECTUREbehavOFCNTAIS

SIGNALCQI:

STD_LOGIC_VECTOR(4DOWNTO0);

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IFU_D='1'THEN

IFCQI<=31THENCQI<="11111";

ELSECQI<=CQI+1;ENDIF;

ELSIFCQI=0THENCQI<="00000";

ELSECQI<=CQI-1;ENDIF;

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

2.1.25位二进制计数器CNTB

如下图新建VHDLFile格式文本

图7选择编译文件类型

输入如下程序

LIBRARYIEEE;

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNTBIS

PORT(CLK:

INBIT;

Q:

BUFFERINTEGERRANGE31DOWNTO0);

END;

ARCHITECTUREBHVOFCNTBIS

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

Q<=Q+1;

ENDIF;

ENDPROCESS;

ENDBHV;

保存该文件并以文件名CNTB.vhd存盘,新建工程CNTB,编译CNTB.vhd。

新建波形编辑器,向波形编辑器拖入信号节点,并设置好仿真激励波形,以CNTB.vwf存盘。

仿真得如仿真波形输出报告。

图85位二进制计数器仿真波形

CNTB是一个简单的5位二进制计数器,它的工作原理和CNTA的原理很相似,我们只是在CNTA的时钟端加了一个使能端U_D控制其加减的方向。

而CNTB的时钟端没有加使能端,所以每来一个脉冲计数器加1,因为CNTB是一个5位的二进值计数器,所以当计数器的值当大于32时,计数器又重新从0开始记数,从而产生周期性的线性增加的锯齿波。

选择File—Create/Update—CreateSymbolFilesforCurrentFile,生成Symbol供顶层文件调用。

图9CNTBSymbol

图10CNTBRTL

2.1.3数字比较器LPM-COMPARE

选择Tools—MegaPlug-InManager命令,按如下图示定制新的宏功能模块。

图11LPM宏功能模块设定

图12设5位数据比较器

2.1.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占空比逐渐变小,功率器件输出给电机电枢的能量减少,电机减速。

当电机得到加速信号,占空比增大至它可调范围的最大值后保持,电机得到减速信号,占空比减小至它的可调范围的最小值后保持。

2.2运行控制逻辑电路描述

2.2.12选1多路选择器MUX21A

新建VHDLFile文本,输入如下程序:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYMUX21AIS

PORT(A,B,S:

INSTD_LOGIC;

Y:

OUTSTD_LOGIC);

ENDENTITYMUX21A;

ARCHITECTUREoneOFMUX21AIS

SIGNALE:

STD_LOGIC;

SIGNALD:

STD_LOGIC;

BEGIN

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;

选择File—Create/Update—CreateSymbolFilesforCurrentFile,生成Symbol供顶层文件调用。

图20MUX21ASymbol

图21MUX21ARTL

2.2.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 工作/停止电路波形

3.直流电机PWM调速系统仿真

3.1建立工程项目PWM

原理图的设计流程如下:

图25项目输入设计框图

如下图新建原理图编辑窗

图26选择编辑类型

调用上述生成的Symbol和软件自带的常用端口,在编辑窗里连出下图所示的直流电机PWM控制电路,并建立新工程PWM。

图27直流电机PWM控制电路

在本次设计中,需要满足的技术要求是设计具有正/反转,起/停控制功能、速度在线可调的直流电机控制装置。

3.2正/反转控制仿真

键盘Z_F是电机的方向控制键。

当要求电机正转时,只需要按下键Z_F,表示Z_F输出高电平,即Z_F=1,电机正转,如图28所示。

当键Z_F松开时,Z_F=0时,电机反转,如图29、图30所示。

图28电机正转

图29电机反转

图30电机正反转

3.3启/停控制仿真

START键是电机的启动键,当按下START键时,START=1,电机进入运行状态,如图31所示。

反之,START=0时,电机停止,如图32、图33所示。

图31启动仿真波形

图32停止仿真波形

图33启/停仿真波形

3.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仿真波形

3.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的直流电机的控制能够达到很好的预期效果。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1