完整word版设计直流电机综合测控系统设计Word文件下载.docx
《完整word版设计直流电机综合测控系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《完整word版设计直流电机综合测控系统设计Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。
运动控制使被控机械运动实现精确的位置控制、速度控制、加速度控制、转矩或力的控制,以及这些被控机械量的综合控制。
3.电机速度控制系统的设计及模拟仿真
如图1所示,基于FPGA的直流电机PWM控制电路主要由四部分组成:
控制命令输入模块、控制命令处理模块、控制命令输出模块、电源模块。
键盘电路、时钟电路是系统的控制命令输入模块,向FPGA芯片发送命令,FPGA芯片是系统控制命令的处理模块,负责接收、处理输入命令并向控制命令输出模块发出pwM言号,是系统的
控制核心。
控制命令输出模块由H型桥式直流电机驱动电路组成,它负责接收由FPGA芯片发出的PWMI号,从而控制直流电机的正反转、加速以及在线调速。
电源模块负责给整个电路供电,保证电路
能够正常的运行
+5V
图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=(时,电机停止转动。
H桥电路由大功率晶体管组成,PWM输出波形通过由两个二选一电路组成的方向控制电路送到H桥,经功率放大以后对直流电机实现四象限运行。
并由EN1信号控制是否允许变速。
以上是在网上查询的关于直流电机的简易结构描述,我们电脑
QuartusH做的是FPGA内部逻辑组成。
控制逻辑VHDL描述
新建文件夹,以文件名PWM保存。
3.2PWN脉宽调制信号产生电路描述
图2PWM脉宽调制信号产生电路
PWM脉宽调制信号产生电路由可控的加减计数器CNTA5位二
进制计数器CNTB数字比较器LPM_COMPARE部分组成。
可控的加减计数器做细分计数器,确定脉冲宽度。
当U/D=1时,输入CLK2,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;
当U/D=0,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。
5位二进制计数器在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。
当计数值小于设定值时,数字比较器输出高电平;
当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。
3.2.1可控的加减计数器CNTA
新建VHDLFile文本,输入如下程序:
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;
CNTA.vhd存盘,新建工程CNTA编译
ENDbehav;
保存该文件并以文件名
CNTA.vhd
如下图新建波形编辑图
Mernwyhie
S-Verificafcion2DebuggingFiles
In-SystennSourcesandPjobesFie-LogicInterfaceFile
-SigriaTapIILogicAnalyserFile
VectorWaveformFile
0-OlheiFiles
■■AHDLIncludeFife
-Block,SymtwlFile匚hainDescriptioriFieS^nopsysDesignConstraintsFile
图3新建vwf
向波形编辑器拖入信号节点,并设置好仿真激励波形,以CNTA.vwf
存盘。
仿真得如仿真波形输出报告
Name:
Value.
9Jns
500.0ns1.0U51.5us2.0us2.5us3.0js3.5us4.Ous45us5£
u
k111H111111
■B-J_D【
to^CLK2
务¥
0|
]li
1
HDO
图4仿真波形输出报告
可控的加减计数器CNTA中的端口U_D控制计数器的方向,EN1是计
数器的使能端,控制计数器初值的变化。
U_D=1时,加减计数器
CNTA在脉冲CLK2的作用下,每来一个脉冲,计数器CNTA加1,U_D=O时,每来一个脉冲,计数器CNTA减1。
使能端EN1设定计数器值的初值,当EN1由1变为0的时候,无论U_D如何表化,计数器的值都不会发生变化,这样就完成了计数器的设定值。
选择File—Create/Update—CreateSymbolFilesforCurrent
File,生成Symbol供顶层文件调用。
_■■1I
rCNTA
i—
GLK
U_D
CQ[1.0J
r
inst
3225位二进制计数器CNTB
如下图新建VHDLFile格式文本
[StateMachineFile
S^tenWerilogHDLFileh-TelScriptFile-VerilogHDLFite
VHDLFilel
日File©
1Mes-sadecmd(Intd-ForrmaLjFile=-■MemoryInitializahonFile曰…Verificatiori/DebuggingFil廊
图7选择编译文件类型
输入如下程序
ENTITYCNTBIS
INBIT;
Q:
BUFFERINTEGERRANGE31DOWNTO0);
END;
ARCHITECTUREBHVOFCNTBIS
Q<
=Q+1;
ENDBHV;
保存该文件并以文件名CNTB.vhd存盘,新建工程CNTB编译
CNTB.vhd
新建波形编辑器,向波形编辑器拖入信号节点,并设置好仿真激励
波形,以CNTB.vwf存盘。
图85位二进制计数器仿真波形
CNTB是一个简单的5位二进制计数器,它的工作原理和CNTA
的原理很相似,我们只是在CNTA勺时钟端加了一个使能端U_D控制其加减的方向。
而CNTB勺时钟端没有加使能端,所以每来一个脉冲计数器加1,因为CNTE是一个5位的二进值计数器,所以当计数器的值当大于32时,计数器又重新从0开始记数,从而产生周期性的线性增加的锯齿波。
选择File—Create/Update—CreateSymbolFilesforCurrentFile,生成Symbol供顶层文件调用。
L
-
c,
■
CLKQ[4.0]
口
图9CNTBSymbol
图10CNTBRTL
323数字比较器LPM-COMPARE
选择Tools—MegaPlug-InManager命令,按如下图示定制新
的宏功能模块。
匕
ALTFP_COMPAREALTFP_CONVERTALTFP_DIVALTFP_E>
<
P
ALTFPJNV
ALTAPJNV_SQRT
altffZlog
ALTFP^ATRI^MULT
ALTFF.MULT
ALTFP_SQRTALTMEMMULT
ALTMULT_ACCUM(MAC)ALTMULT_ADDALTMULT_COMPLEXALTSQRT
LPM_A9S
LPMADDSUB
LPMCOMPARE
LPMCOUNTER
WhichtypecFoutputfiledoyouwanttocreate?
LAHDL
柠VHDL
-VerilogHDL
Whatnamedoyouwanlfoitheoutputfile?
[daEDA.nu^FWMkangzhiU.PKlCOMPARE
Browse...|
Returntcthi$pageforanothercieateoperation
Note:
Tocompdeapioiectsuccessfullyin(fieQuarbusIIsoftware,yourdesignhiesmustbeinlheprojectritheglobaluser
librariesspecifiedintheOptionsdialogImw(Toolsmenu),orauserlibraryspecifiedintheUierLiburiespageaftheSellingsdiak^gbox(Assignmentsmenu).
Yaurcurientuseribrarydirectoriesate:
图11LPM宏功能模块设定
匚urrently$创ected墜vimfamily:
CvdoneIII
°
Matchproject/default
Howmanv'
dataa'
inputbitedoyouwantioctrnp^elothe'
datab1inputbits?
Vltiittioutputcto/ouwant?
(Selectatleastohe]
ab(equal)a<
>
b(notequ^l)
*目nb(grea-zerthan'
图12设5位数据比较器
324PWM脉宽调制信号产生电路
如下图新建原理图编辑窗
New
H-SOPC8uilder即血ma
DesignFifes
AHDlFie
Block.Diagram/SchematicFile
:
■■■■EDIFFile
■■StateMachineFie
SystenVeritogHDLFile
TclScriptFile
图13选择编辑类型
调用上述生成的Symbol和软件自带的常用端口,在编辑窗里连
出图2所示的PWM^宽调制信号产生电路。
并新建成工程PWMmktz.
新建波形编辑窗口,拖入信号节点。
设置好仿真激励波形,以
PWMmktz.vw存盘。
堆lu啰討f
1JI—1
血¥
6,2弱E牺6.EusE驱7,Cu?
7AsZJus76us/脈3.0j;
&
2us&
也
1111111IIIIH|
kiD
]
)J:
11*0
■UTLRrLRTLrrmmrLrurf
罰红]
HO0-
08'
^0[4..C]
HOB10:
{
可卩仍帀丁可飞丁可阿:
d■'
;
M'
:
i■H:
:
■M
图14数字比较器的仿真波形
数字比较器是产生PWM波形的核心组成部件,可控的加减计数
器CNTA和5位二进制计数器CNTB同时加数字比较器LPM-COMPARE
两端作为两路输入信号,当计数器CNTB输出值小于细分计数器
CNTA输出的规定值时,比较器输出高电平;
当CNTB输出值大于细分计数器CNTA输出的规定值时,比较器输出低电平。
改变细分计数器的设定值,就可以改变PWM输出信号的占空比。
为了便于观察防真波形,在CNTB勺输出加上B[4..O],在最后的设计中须删除不必要的的输出端口B[4..O]。
细分计数器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的初值,从而可以改变直流电机的占空
比,改变直流电机的速度。
CNTA的值逐渐增大,输出脉冲的开启时间变大,PWM占空比逐渐变
大,功率器件输出给电机电枢的能量增加,电机加速。
若脉宽计数器定时器CNTA的值减小,输出脉冲的开启时间变小,PWM占空比逐
渐变小,功率器件输出给电机电枢的能量减少,电机减速。
当电机得到加速信号,占空比增大至它可调范围的最大值后保持,电机得
到减速信号,占空比减小至它的可调范围的最小值后保持。
4.运行控制逻辑电路描述
4.12选1多路选择器MUX21A
新建VHDLFile文本,输入如下程序:
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
MernwyIrii^lizationHie
EbVerificatiori/DebuggingFiles
-In-SystemSourcesandPtobesFie■-LogicAnaly^efInteifaceFile
-SignaFapIILogicAralyzerFile
VeattxWaveFcrnnFile
EbOlhffifFilet
■AHDLIncludeFife
■-BlockSymtwlFile
■Ch^inDescrifrfionFile
S^nopsysDesignConstrainhFile
图17新建vwf
向波形编辑器拖入信号节点,并设置好仿真激励波形,以
MUX21A.VW存盘。
图19仿真波形输出报告
波形分析(有一定的延时)
当S=1,输出Y=B;
当S=0,输出Y=A;
pM■|IBiHIBI|iBd|KBI■■■||iHU■■lipIIdg|i■■■|fII^HIII||fag
!
MUX21A=-
a*kia
■■!
•—B「
99
■■■・
•—s「
.sI.
■n
.iinstI
■•
a-_____»
■■■Bf■■iqi■■i■|■■■■■11Vi|ia■4,aii|ri14.i■■|.-i!
i■_
图20MUX21ASymbol
图21MUX21ARTL
4.2工作/停止控制和正/反转方向控制电路
如图22所示FPGA中的工作/停止控制和正/反转方向控制电路,
其两个二选一多路选择器加上两个与门根据逻辑原理组合而成。
START键通过“与”门控制PWM输出,实现对电机的工作/停止控制。
当START端接高电平时,表示电源接通,电机开始运转;
当START端接低电平时,电机停止运转。
Z/F键控制选择PWM波形是从正端Z
当Z/F=1时PWM输出波形从正端Z进入H桥,电机正转。
当Z/F=0时PWM输出波形从负端F进入H桥,电机反转。
仿真如图23所示。
SJ.OiisiCliis1.5us
START1
沪钿L
*1
oF
rLTLr-r^^Tn
LTLTLrLrLrLrLruw
C
0.0ns
帧矍SOD.QrnI.Ous1.5ua2Du圧厦10us3事j
tf-IJT
K-SW
D
图23正/反转工作控制电路波形
当START=1时,与门打开,允许电机工作。
当START=0时,与
门关闭,电机停止转动。
仿真如图24所示。
图24工作/停止电路波形
5.直流电机PWM调速系统仿真
5.1建立工程项目PWM
原理图的设计流程如下:
图25项目输入设计框图
图26选择编辑类型
出下图所示的直流电机PWM空制电路,并建立新工程PWM
图27直流电机PWM控制电路
在本次设计中,需要满足的技术要求是设计具有正/反转,起/
停控制功能、速度在线可调的直流电机控制装置
5.2正/反转控制仿真
键盘Z_F是电机的方向控制键。
当要求电机正转时,只需要按
下键Z_F,表示Z_F输出高电平,即Z_F=1,电机正转,如图28所示。
当键Z_F松开时,Z_F=0时,电机反转,如图29、图30所示
5.3启/停控制仿真
START键是电机的启动键,当按下START键时,START=1电机
进入运行状态,如图31所示。
反之,START=0寸,电机停止,如图
32、图33所示
D(
*SIAPI
)
a
图31启动仿真波形
键盘EN1控制电机是否允许变速。
所以通过改变EN1便可以改
变设定值H[4..O]的值,也就是设定值的初值,从而改变了直流电机的