根据VHDL的直流电机调速系统Word文档下载推荐.docx
《根据VHDL的直流电机调速系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《根据VHDL的直流电机调速系统Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
五.模块设计
1、8进制计器…………………………………………………………5
2、18进制计数器…………………………………………………………6
3、字显示控制模块…………………………………………………………7
4、直流电机驱动原理………………………………………………………
六.仿真………………………………………………………………15
七.参考文献………………………………………………………………………19
八.教师评语………………………………………………………………………20
一、实习题目:
直流电机数字调速系统设计
要求:
(1)实现直流电机的数字调速系统整体设计。
(2)流电机的选型及驱动电路设计、光电编码器接口设计。
(3)编写软件实现直流电机的数字调速PID控制功能。
二、实习目的:
1)硬件实训目的:
1.熟悉EDA实验箱的基本工作原理。
2.熟悉并掌握EDA实验箱各个模式的功能。
3.提高学生的动手能力。
2)软件实训目的:
1.熟悉并掌握quartus‖软件的使用。
2.熟练的使用原理图输入设计方法,VHDL语言编写程序,进一步了解和掌握各个程序语言,提高编程的熟练程度。
3.掌握基本器件设计的方法思想,如计数器;
掌握点阵LED显示字的基本原理。
4.拓宽学生知识面,增强工程意识,培养学生的分析和解决实际问题的能力。
5.提高学生的动手能历。
三、实习技术与要求:
1、VHDL简介
介于目前,电子系统正向集成化、大规模和高速度的方向发展,传统的门级描述方法显得过于琐碎,难以掌控。
VHDL(Very
High
Speed
Integrated
Circuit
Hardware
Description
Language)是美国国防部与1983年发起创建,并在1987年作为“IEEE标准1067”发布,它是一种全方位的硬件描述语言通常适用于系统行为级和寄存器传输级(RTL)的描述,整个自顶向下或自底向上的电路计。
过程都可以用VHDL来完成。
它允许设计者用它来进行数字逻辑系统的仿真验证、时序分析、逻辑综合,它是目前应用最为广泛的一种硬件描述语言。
使用VHDL进行自顶向下的设计,即为使用VHDL模型在所有的综合级别上对硬件设计进行说明、建模以及仿真测试。
此外,VHDL还有如下优点:
由于其宽泛的描述能力,VHDL成为高层设计的核心,设计人员只需花较少的精力在物理实现上而把工作重心转移到系统功能的实现和调试上;
VHDL是一种标准语言,其可移植性好,而且其设计不依赖特定的器件,工艺转换方便;
VHDL代码简洁明确,使用起来灵活方便且易于结果的交流、保留和重用。
由于能够进行编程、除错、再编程和重复操作,可以充分地进行设计开发和验证,以便适用于不同情形的需要,延长了其产品再市场地的寿命。
2、QuartusII简介
本次设计是基于Altera公司的QuartusII软件。
QuartusII是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(AlteraHardwareDescriptionLanguage)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusII支持Altera的IP核,包含了LPM/MegaFuction宏功能模块库,使用它,可以简化设计的复杂性,加快设计速度。
QuartusII平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。
此外,QuartusII
通过和DSPBuilder工具与Matlab/SIMULINK相结合,可以方便地实现各种DSP应用系统;
支持Altera的片上可编程系统开发,集系统级设计、嵌入式软件设计、可编程逻辑设计于一体,是一种综性的开发平台。
四、实验原理:
一台直流电机原则上既可以作为电动机运行,也可以作为发电机运行,这种原理在电机理论中称为可逆转原理。
当原动机驱动电枢绕组在主磁极N、S之间旋转时,电枢绕组上感生出电动势,经电刷、换向器装置整流为直流后,引向外部负载(或电网),对外供电,此时电机做直流发电机运行。
如用外部直流电源,经电刷换向器装置将直流电流引向电枢绕组,则此电流与主磁极N、S产生的磁场互相作用,产生转矩,驱动转子与连接于其上的机械负载工作,此时电机做直流电动机运行。
直流电机控制电路主要由三部分组成:
FPGA中PWM脉宽调制信号产生电路;
工作/停止控制和正/反转方向控制电路;
片外功率放大电路和H桥正/反转功率驱动电路。
在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波,当计数值小于设定值时,数字比较器输出低电平,当计数值大于设定值时,数字比较器输出高电平,由此产生周期性的PWM波形。
分频模块和计数模块共同控制输出频率。
旋转方向控制电路控制直流电动机转向及启动/停止,该电路由两个2选1选择器组成Z/F键控制选择PWM波形从正端Z进入H桥,还是从负端F进入H桥,以控制电机的转动方向。
START键通过“与”门控制PWM的输出实现对电机的工作/停止控制。
H桥电路由大功率晶体管组成,PWM波形通过方向控制送到H桥,经功率放大以后驱动电机转动。
五、模块设计
本小组设计的直流电机调速系统,由五个模块构成。
底层模块分别为:
分频器模块,标准计数器模块,加速器模块和比较器模块。
最终经由顶层模块把底层模块连接成一个整体,共同构成直流电机调速系统。
5.1分频器模块
该系统需要输出频率为10KHz,通过该分频模块将实验板上50MHZ的输出频率降低到实验要求。
5.2标准计数器模块
该模块既是计数器模块,计数时最大计数值为1,又与分频模块共同控制输出频率。
该模块的输入频率来自分频模块的100KHz,从而使直流电机的输出频率等于10KHz。
5.3加速器程序
设定值计数器设置PWM信号的占空比。
当U/D=1,输入CLK2使设定值计数器的输出值增加,PWM占空比增加,电机转速加快。
当U/D=0,输入CLK2,使设定值计数器的输出值减小,PWM占空比减小,电机转速变慢。
5.4比较器
当计数值小于设定值时数字比较器输出低电平,当计数值大于设定值时,数字比较器输出高电平,由此产生PWM波形。
5.5顶层模块的设计
顶层模块是贯穿所有底层模块的连接器。
运用顶层可以轻松实现层次化的设计。
运用顶层设计首先要把元件例化。
元件例化语句由两部分构成,前一部分是对一个现成的设计实体定义为一个元件,第二部分则是此元件与当前设计实体中的相关端口的说明,语句格式如下:
首先在结构体中声明元件:
COMPONENT<
元件名>
GENERIC(类属参数说明);
PORT(端口参数列表);
ENDCOMPONENT;
[<
标号>
:
]<
[GENERICMAP(参数映射);
]
PORTMAP(端口映射);
以上两个部分语句在元件例化中都是必须存在的。
第一部分语句是元件定义语句,相当于对一个现成的设计实体进行封装,使其只露出对外的接口界面。
就像一个集成芯片之流出几个引脚在外一样,“类属表”可列出端口的数据类型和参数,“端口表”可列出对外通信的各端口名。
元件例化的第二部分语句即为元件例化语句。
其中,“例化名”是必须存在的,它类似为标在当前系统中的一个插座名。
“元件名”则是准备在此插座上插入的、已定义好的元件名。
PORTMAP是端口映射的意思,其中的端口名是在元件定义语句中的端口名表中已定义好的元件端口的名字,连接端口名则是当前系统与准备接入的元件对应端口相连的通信端口,相当于插座上各插针的引脚名。
元件例化时的端口列表可按位置关联方法,如u1,这种方法要求的实参(该设计中连接到端口的实际信号,如ci,等)所映射的形参(元件的对外接口信号)的位置同元件声明中的一样;
元件例化时的端口列表也可按名称关联方法映射实参与形参,如u2。
格式为(形参1=>
实参1,形参2=>
实参2,·
·
)。
这种方法与位置无关。
参数化元件可增加元件例化的灵活性。
所谓参数化元件是指元件的规模(或特性)可以通过引用参数的形式指定的一类元件。
关联法要求信号的位置十分重要,不能放错;
而且,一旦位置关联例化语句确定后,连接元件的源文件中的端口表内的信号排列位置就不能再变动,因此,一般不推荐使用此类关联标书来编程。
顶层设计程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitytopis
port(keyin,min,clkin:
instd_logic;
pwm:
outstd_logic);
endentitytop;
architecturefd1oftopis
componemtjishuqi//调用常数发生器
port(key,m:
instd_logic;
qw:
outstd_logic_vector(4downto0));
endcomponemt;
componemtcntb//调用锯齿波发生器
port(clkw:
q:
componemtfenpin//调用分频器
port(clk:
clock:
componemtbijiaoqi//调用比较器
port(dataa,datab:
instd_logic_vector(4downto0);
agb:
signalnet1:
std_logic;
signalnet2,net3:
std_logic_vector(4downto0);
begin
u1:
jishuqiportmap(key=>
keyin,m=>
min,qw=>
net2);
u2:
fenpinportmap(clk=>
clkin,clock=>
net1);
u3:
cntbportmap(clkw=>
net1,q=>
net3);
u4:
bijiaoqiportmap(dataa=>
net2,datab=>
net3,agb=>
pwm);
endarchitecturefd1;
5.6直流电机驱动原理:
主要采用L298N,通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,输入引脚与输出引脚的逻辑关系图为
驱动原理图
实物图
模块接口说明
+5V:
芯片电压5V。
VCC:
电机电压,最大可接50V。
GND:
共地接法。
A-~D-:
输出端,接电机。
A~D+:
为步进电机公共端,模块上接了VCC。
EN1、EN2:
高电平有效,EN1、EN2分别为IN1和IN2、IN3和IN4的使能端。
IN1~IN4:
输入端,输入端电平和输出端电平是对应
6、
基于标准计数器的仿真
基于加速器的仿真
基于比较器的仿真
1:
2:
基于分频模块的仿真
顶层文件的仿真
顶层设计留有四个端口,分别为clkin:
时钟信号输入端,keyin:
按键信号输入端,min:
方向信号输入端,PWM:
信号输出端。
可以看出,在时钟信号下,当min为高,keyin设定为按键按下的次数,可以看出,pwm输出端产生了一个标准的pwm波形。
七、
实习心得
EDA实习就这样结束了,通过EDA的几次实习,为我大体上了解了QuartusⅡ的用法以及实验箱的用法,还学会了简单的编程。
相比于传统的数字电路设计(基于原理图,采用试凑设计法对数字系统进行设计),现代系统设计则基于PLD硬件和EDA工具的支持,通过对芯片的设计完成功能。
它采用Top-down设计方法,采用逐级仿真技术,以便早发现问题,修改方案,适合多人多任务的并行工作。
EDA实习,让我对于这一方面产生了浓厚的兴趣,通过自己编程,就可以设计自己的芯片,这使得我在学习之余,体会到学习的乐趣,有成就感。
实习过程中,使我发现发现了自己的不足,及时的与老师同学沟通,弥补了知识上的缺陷,了解了更多。
同时,我明白了很多的知识点在不同的学科里都会重复出现,或者具有通性,在学习知识的时候,应该注意融会贯通,将知识融合起来,了解得更加深入。
实习最大的体会就是做任何事情都需要特别细心,任何行动都应该有理有据,不能够凭空瞎想,而应该积极思考,多动脑,这样才能更好的完成任务。
通过两周的实习,让我又掌握了一门重要技能,在实习过成中,遇到困难,慢慢自己去解决困难,这种经历是我难以忘记的,这种不放弃的精神为以后的工作打下了坚实的基础。
八、参考文献:
潘松,黄继业.EDA技术与VHDL.第四版.北京:
清华大学出版社,2013.4
潘松,王国栋.VHDL实用教程(修订版).成都:
成都电子科技大学出版社2001
九、教师评语
成绩:
教师签字: