版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.EDA技术设计报告直流电机的PWM控制电子信息工程学院通信 2 班 顾问 2012214485一、 EDA技术概述EDA(Electronic Design Automation)技术作为现代电子设计技术的核心,它依赖功能强大的计算机,在EDA 工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试等项功能,直至实现既定性能的电子综合系统功能。 EDA技术使得设计者的工作几乎仅限于利用软件的方式, 即利用硬件描述语言 HDL和 E
2、DA软件来完成对系统硬件功能的实现。二、硬件描述语言与所用软件简介2.1 、Verilog HDL硬件描述语言功能介绍Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。 被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。 数字系统能够按层次描述, 并可在相同描述中显式地进行时序建模。Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外, Verilog HDL语言提供了编程语言接口,通过该接口可以
3、在模拟、 验证期间从设计外部访问设计, 包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。 因此,用这种语言编写的模型能够使用 Verilog 仿真器进行验证。语言从 C 编程语言中继承了多种操作符和结构。 Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是, Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然 , 完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。2.2 、Quartus II软件综述Quartus II是 Altera公司在 21
4、 世纪初推出的FPGA/CPLD开发环境,是.Altera 前一代 FPGA/CPLD开发环境 MAX+PLUSII的更新换代产品, 其优点是功能强大、界面友好、使用便捷。 Quartus II 软件集成了 Altera 的 FPGA/CPLD开发流程中所涉及的所有工具和第三方软件接口。 通过此开发工具,设计者可以创建、组织和管理自己的设计。2.3 、第三方仿真工具ModelSimModelSim 仿真工具是由Model 技术开发公司开发的目前业界最通用的仿真器之一,它支持Verilog和 VHDL混合仿真,仿真精度高,仿真速度快。其仿真版本繁多,与 Altera相关的主要有 ModelSim
5、-Altera(即 AE版本 ) 、ModelSim SE和 ModelSim PE 版本等。三、设计原理3.1 、直流电机 PWM调速原理脉冲宽度调制( PWM)是一种模拟控制方式,其根据相应载荷的变化来调制晶体管栅极或基极的偏置, 来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定, 是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。 PWM控制技术以其控制简单,灵活和动态响应好的优点而成为电力电子技术最广泛应用的控制方式,也是人们研究的热点。 PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用, 方波
6、的占空比被调制用来对一个具体模拟信号的电平进行编码。 PWM信号任然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有( ON),要么完全无(OFF)。电压或电流源是以一种通 (ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。 通的时候即是直流供电被加到负载上的时候,短的时候即是供电被断开的时候。 只要带宽足够, 任何模拟值都可以使用PWM进行编码。3.2 、直流电机的 PWM控制PWM信号可以由 CPU产生,也可以油 FPGA产生。由 CPU产生 PWM信号时,是通过模拟比较器产生的, 比较器的一端接一个给定的参考电压, 另一端接周期线性增加的锯齿波电压。 当锯齿波电压小于参
7、考电压时输出低电平, 当锯齿波电压大于参考电压时就输出高电平。 所以改变参考电压就可以改变 PWM波形的高电平的宽度,也就是改变 PWM波形的占空比。 CPU产生 PWM信号,需要 D/A 转换器产生锯齿波电压和设置参考电压,通过外接模拟比较器输出 PWM,因此外围电路很复杂。而用 FPGA的数字 PWM控制产生 PWM信号,只需要 FPGA部资源就可以实现,运用可编程逻辑器件,采用 VerilogHDL 硬件描述语言编程。数字比较器的一端接设定值计数器输出, 另一端接线性递增计数器输出。 如果线性计数器的技术值小于设定值就输出低电平, 如果线性计数器的技术值大于设定值时输出高电平。 FPGA
8、的数字 PWM控制与模拟 PWM控制相比,省去了外接的 D/A 转换器和模拟比较器, FPGA外部连线很少、电路简单、便于控制。.四、基本功能介绍4.1 、功能简介本次设计制作了一个 PWM信号电机控制系统, 共有两个按键, 其中,一个按键可以控制产生的 PWM的宽度(即数字 1的时间长度),按下该按键, PWM 的宽度增加 4096 个主时钟宽度,从而达到电机加速的目的, 共有 16 个档速,PWM的宽度从 0-4096*15 个主时钟的宽度。 另外一个按键控制 PWM波的输出与否, 按下,如果 PWM在输出,则停止输出,如果不在输出,则开始运行,从而实现对电机的开关控制。 同时,本系统部自
9、行设定了一个 5s 定时器,可以实现每 5S 钟电机转向的反转。4.2 、设计原理框图电机控制系统转速控制电机开关Pwm_en 指示信号按 键Key_in1Motoa 电机 a 端消 抖5s 定 时及 检实 现 反Key_in0Motob 电机 b 端测转4.3 、顶层图.4.4 、引脚说明输入: Clock: 系统总时钟输入Rst_n:系统复位按键Key1:0:系统功能按键。 Key1 控制 PWM波从输出与否Key0控制电机转速,可加速输出:motoa ,motob: 电机的两个输入引脚pwm_en:pwm波指示: 1- 输出(即电机开启)0-停止(即无 PWM输出)五、代码各部分模块介绍
10、5.1 、系统模块 RTL视图5.2 、系统各模块简介:、 pwm_logic 模块简介引脚说明:输入: clk:总时钟信号rst_n:复位信号pwm_en:pwm使能信号duty_cycle:控制 PWM宽度输出:pwm_out: PWM输出.PWM_logic模块顶层视图、pwm_logic 模块原理介绍程序通过一个计数器来实现PWM的输出,通过 duty_cycle来控制输出的 PWM波的占空比, PWM_en来实现 PWM的输出与否。核心程序如下:always (posedge clk)/计数器计数, pwm_en为使能信号beginif(!rst_n)counter = 0;else
11、 if(pwm_en)counter = counter + 1b1;endalways (posedge clk)/PWM_out输出,程序根据判断计数器begin/counter【 15:12】跟 duty_cycle比较来实现if(!rst_n)/PWM的输出,则输出1大于则输 / 0.pwm_out = 1b0;else if (pwm_en & (counter15:12 = duty_cycle)pwm_out = 1b1;elsepwm_out = 1b0;end、moto 模块简介引脚说明:输入: clk: 总时钟信号rst_n:复位信号Key1: 0 :按键输入PWM_in:
12、PWM输入信号输出:duty_cycle:转速控制pwm_en: pwm使能信号Motoa:电机 a 端口。Motob:电机 b 端口。moto 模块顶层视图5.3 、moto 模块原理介绍模块部原理:、按键消抖及检测部分核心程序如下:/ 按键消抖部分always (posedge clock).beginif(!rst_n)begindout1 = 0;dout2 = 0;dout3 = 0;endelse if(div_clk)/div_clk是主时钟分频之后的时钟,Begin/用于使能按键检测dout1 = key;dout2 = dout1;dout3 = dout2;endend/
13、按键边沿检测部分always (posedge clock)beginif(!rst_n)buff = 0;else/按键检测,通过 assign语句对 key_edgebuff = dout1 | dout2 | dout3;/赋值,保证了按键的消抖endassign key_edge = (dout1 | dout2 | dout3) & buff;、时钟分频部分核心程序如下:always (posedge clock)beginif(!rst_n)begincount = 0;div_clk = 0;end/else if (count 17d120000)/else if (count
14、 17d4000)else if (count 17d4)Begin/counter计数器计数,通过判断count = count + 1b1;/counter的大小来决定输出的频率div_clk = 1b0;endelsebegincount = 17d0;.div_clk = 1b1;endend、5s 定时及反转部分通过对计数器进行计数,计到 5s,大约计数器等于 30h2FAF080 时执行下列语句,来实现输出 motoa,motob 的反转。moto_dir = moto_dir;assign motoa = moto_dir ? pwm_in : 1b0;assign motob
15、= moto_dir ? 1b0 : pwm_in;、按键控制部分本程序共有两个按键,按键一通过控制duty_cycle的长度来控制 PWM波的占空比,从而实现电机转速的控制。按键二通过控制 PWM_EN来实现 PWM输出与否,从而实现电机的开关。核心程序如下always (posedge clock)/ 按键 1,控制电动机速度beginif(!rst_n)duty_cycle = 0;else if(key_edge0)duty_cycle = duty_cycle + 1b1;/按键按下,则PWM占空比加一endalways (posedge clock)/按键 2,控制电动机启动、停止
16、beginif(!rst_n)pwm_en = 1b0;else if(key_edge1)/按键二按下,PWM输出使能取反pwm_en 时, S1 导通S4 关断,当 时, S4 导通 S1 关断, b 相和 c 相类似。下图为载波比p=3 时的三相 SPWM逆变电路基本波形输出电压的谐波集中分布在ncks(npk)s 处,其中n=1,3,5, 时, k=3(2m-1)1,m=1,2,3, .n=2,4,6, 时, k=6m+1,m=0,1,2, , 或 k=6m-1,m=1,2,3, 所以,在载波频率的整数倍处的高次谐波不再存在。 SPWM的谐波分布一组一组集中分布于载波频率的整数倍频率两
17、侧, 且在每一组谐波中, 随着 k 的增大,谐波值通常逐渐减小。三、三相 SPWM半桥逆变电路的仿真在仿真在 Simpowersystems 的“ Electrical Sources”库中选择电压源模块,直流电压设置为530V,选择“ Universal Bridge”模块,在对话框中选择桥臂数为 3,构成三相半桥电路, 开关器件选择带反并联二极管的 IGBT,三相串联 RLC负载模块选择 Y 型连接,设定额定电压为 413V,额定功率为 50Hz, 有功为1kW,感性无功为 500Var,SPWM控制信号由 Simpowersystems 中的“Discrete PWM Generator
18、 ”产生,选择三桥臂六脉冲模式。仿真模型如下:设置调制深度 m为 1,输出基波频率设为50Hz,载波频率设为基频的30 倍,即.1500Hz,仿真时间设为 0.06s, 在 powergui 中设置为离散仿真模式,sample time为 5*10s, 运行后结果图如下:三相 SPWM逆变器 m=1时的仿真波形由上至下分别为直流电流波形,交流相电压波形,相电流波形,线电压波形;输出电压谐波分析如下图:.三相 SPWM逆变器 m=1时的谐波分析图所以当 m=1时,输出线电压的幅值为 0.866U,谐波的分析符合之前分析结果,主要在开关频率的整数倍附近。经分析,相电流的 THD仅为 3.56%,若
19、进一步提高开关频率,则电流更加近似于正弦波。四、死区时间( dead time) 对其影响众所周知,桥式电路是很多逆变电路的基本结构, 在理想情况下, 每个桥臂的上下开关管严格轮流导通和断开。 但实际情况并非如此, 每个开关管的通断都需要一定时间, 关断时间比导通时间长, 所以为了防止桥臂短路, 通常会让触发信号推迟一段时间, 称为死区时间。 在此时间桥臂上下开关都没有触发信号, 桥臂的工作状态将取决于两个续流二极管和该相电流的方向。在下图中, u*g 1 和 u*g 4 分别是无死区时a 相桥臂上下开关管的互补驱动信号,.u g 1 和 u g 4 分别是将理想互补信号的各个上升沿均推迟了死
20、区时间t d 的实际 SPWM驱动脉冲。当电流i a 为负值时,电流由桥臂上管的反并联二极管D1 和下管 S4 承载,因此在上下脉冲都不存在的死区时间里D1 工作,输出电压为正; 当电流 i a 为正值时,电流由桥臂下管的反并联二极管D4 和上管 S1 承载,因此在上下脉冲都不存在的死区时间里D1 工作,输出电压为负。综上所述,下图中画出了有死区时的实际输出电压波形uaN 、对照无死区时的理想输出电压u*an 。定义死区对输出电压的影响为死区畸变电压u e =u aN - u*aN如下图所示, u e 为宽度为 t d 、高度为 U d 的窄脉冲,其周期与调制波相同,其符号与电流相反,正电流时
21、ue 为负,负电流时 u e 为正。桥臂逆变的实际输出电压即为无死区时的理想输出电压再叠加上死区畸变电压,因此只需对u e 进行分析,再结合理想电压的分析结果, 便可确定死区时间对逆变器输出电压的影响。.死区时间对逆变桥臂输出的影响死区畸变电压的窄脉冲可以用调制波周期的矩形脉冲等效,对其进行傅里叶分析知其包含 3、5、7 次奇次谐波,因此死区将低次谐波引入逆变器,降低了逆变器的谐波性能。五、通过仿真研究死区时间的影响仿真模型的建立以之前的为基础,使用Simpowersystems/ExtraLibray/Discrete Control Blocks中的“ Discrete On/Off Delay”来模拟死区时间。在 PWM发生器与三相桥的驱动信号输入端之间插入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- JJF 2170-2024激光光束分析仪校准规范
- 2024年度云南省高校教师资格证之高等教育心理学综合检测试卷B卷含答案
- 河南省南阳市2024-2025学年高二上学期10月月考数学试题(含答案)
- 云南省昆明市东川区第二中学2024-2025学年八年级上学期期中检测语文卷(含答案)
- 赣南师范大学《实变函数与泛函分析》2022-2023学年第一学期期末试卷
- 阜阳师范大学《证据法》2023-2024学年第一学期期末试卷
- 阜阳师范大学《幼儿行为观察分析》2022-2023学年第一学期期末试卷
- 阜阳师范大学《图形创意》2021-2022学年第一学期期末试卷
- 福建师范大学《数学分析(Ⅰ)》2023-2024学年第一学期期末试卷
- 福建师范大学《企业年金与员工福利》2023-2024学年第一学期期末试卷
- 升级版-中国人保人寿保险职业分类表
- 宫腹腔镜联合手术在不孕症中的应用ppt课件
- 竖格-硬笔书法纸模板(可打印)
- 妇科中医临床路径
- 八年级上数学课程纲要
- fate stay night完全攻略及结局
- 体适能训练对儿童青少年体质影响发展研究
- 故障模式、影响及危害分析报告(模板)(共14页)
- 三无急诊病人的接诊与处理程序
- 冀教版八年级上册英语课件Lesson 22 I Like My Neighbourhood
- 乙二醇冷却器设计-赵守强
评论
0/150
提交评论