欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    直流电机PWM控制的FPGA实现Word格式文档下载.docx

    • 资源ID:16993003       资源大小:206.40KB        全文页数:18页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    直流电机PWM控制的FPGA实现Word格式文档下载.docx

    1、2、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字:教学系审核意见: 主任签字: 年 月 日 摘 要文章详细地介绍了直流电机的类型、结构、工作原理、PWM调速原理以及FPGA集成芯片。并对直流电机PWM调速系统方案的组成、硬件电路设计、程序设计及系统仿真分别进行了详细的叙述。拟开发的直流电机PWM调速装置具有调速范围宽、低功耗、可实现在线调试等特点。本系统是以FPGA为其控制核心,输入电路以键盘作为输入方式向FPGA控制系统发出控制命令,以有源晶振构成的时钟电路发出信号。控制系统接收命令后直接向H型桥式驱动电路发出PWM控制信号。输出电路

    2、主要实现正反转、起停控制、速度在线可调功能。本设计已通过了实验仿真。关键词:直流电机;PWM;FPGA;有源晶振直流电机调速控制器设计设计要求 设计一个直流电机PWM调速控制器,并能进行正反转控制;1、方案论证与对比1.1方案一基于单片机的直流电机PWM调速方案图 1 基于单片机控制的PWM调速系统如图1所示为基于单片机的直流电机PWM调速方案的系统方框图。D/A转换器接在单片机AT89C51的P0引脚上,由软件编程的产生的信号从P0脚输出经D/A转换器后输出周期性线性增加的锯齿波电压,同时在模拟比较器另一端接给定的参考电压。当锯齿波电压小于参考电压时输出低电平,当锯齿波电压大于参考电压时输出

    3、高电平。改变滑动电阻的值便可以改变参考电压的大小,从而改变PWM波形中高电平的宽度,改变直流电机的占空比,改变直流电机的速度。关于电机运动方向控制,本设计在单片机的P2口引出两个端口P2.1、P2.2控制直流的方向。其控制的原理是在PWM波形输出端加上两个与门,其分别与电机的方向控制端P2.1、P2.2相与,其具体的连接如图2.5。当P2.1、P2.2输出02H控制模型(P2.1=1,P2.2=0)时,三极管V1和V4导通,V2和V3截止,电机全速正转。当P2.1、P2.2输出01H模型(P2.1=0,P2.2=1)时,V1和V4截止,V2和V3导通,电机全速反转。在这里需要注意的问题的是,当

    4、输出全为1时,电机刹车,全为0时,电机滑行。工作状态表如下:表1 电机工作状态真值表P2.1P2.2状态V1V2V3V41正转反转刹车滑行从以上的分析可知基于单片机的直流电机PWM调速方案要用到D/A转换器、模拟比较器,外围电路比较复杂。1.2方案二基于FPGA的直流电机调速方案图 2 基于FPGA的直流电机调速系统如图2.所示为基于FPGA的直流电机调速方案的方框图,FPGA中的数字PWM控制基于单片机PWM控制不同,用FPGA产生PWM波形,只需要FPGA内部资源就可以实现,如数字比较器、锯齿波发生器等均为FPGA内部资源,我们只要直接调用就可以。外部端口U_D、EN1、Z/F、START

    5、接在键盘电路上,CLK2和CLK0接在外部时钟电路上,所用到的时钟频率为100MHz和50MHz,其具体的连接方式如图3。其工作原理是:设定值计数器的设置PWM的占空比。当U/D=1时,输入CLK2,使设定值计数器的输出值增加, PWM的占空比增加,电机转速加快;当U/D =0时,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出高电平;当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。旋转方向控制电路控制直流电动机转向和启/停,该电路由两个2选1的多

    6、路选择器组成,Z/F键控制选择PWM波形是从正端Z进入H桥,还是从负端F进入H桥,以控制电机的旋转方向。当Z/F=1时,PWM输出波形从正端Z进入H桥,电机正转。当 Z/F =0时,PWM输出波形从负端F进入H桥,电机反转。Start键通过“与”门控制PWM输出,实现对电机的工作停止/控制。当START=1时,与门打开,允许电机工作。当START=0时,与门关闭,电机停止转动。H桥电路由大功率晶体管组成,PWM输出波形通过方向控制电路送到 H 桥, 经功率放大以后对直流电机实现四象限运行。并由EN1信号控制是否允许变速4。 与基于单片机的直流电机PWM调速方案相比,基于FPGA的直流电机PWM

    7、控制省去了外接的D/A转换器和模拟比较器,FPGA外部连线很少,电路更加简单,便于控制。兼于FPGA的直流电机PWM控制具有精度高,反应快,外部连线少,电路简单,便于控制等优点,因此本设计采用基于FPGA的直流电机PWM控制方案2。2、设计原理及其实现过程2.1设计总原理如图3所示,基于FPGA的直流电机PWM控制电路主要由四部分组成:控制命令输入模块、控制命令处理模块、控制命令输出模块、电源模块。键盘电路、时钟电路是系统的控制命令输入模块,向FPGA芯片发送命令,FPGA芯片是系统控制命令的处理模块,负责接收、处理输入命令并向控制命令输出模块发出PWM信号,是系统的控制核心。控制命令输出模块

    8、由H型桥式直流电机驱动电路组成,它负责接收由FPGA芯片发出的PWM信号,从而控制直流电机的正反转、加速以及在线调速。电源模块负责给整个电路供电,保证电路能够正常的运行。图3 FPGA直流电机PWM 控制电路在图3中所示的FPGA是根据设计要求设计好的一个芯片,其内部逻辑电路如图4。START是电机的开启端,U_D控制电机加速与减速,EN1用于设定电机转速的初值,Z_F是电机的方向端口,选择电机运行的方向。CLK2和CLK0是外部时钟端,其主要作用是向FPGA控制系统提供时钟脉冲,控制电机进行运转。通过键盘设置PWM信号的占空比。当U_D=1时, 表明键U_D按下,输入CLK2使电机转速加快;

    9、当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信号控制是否允许变速5。2.2设计总原理图 图5 总电路设计图2.3模块设计和相应模块程序2.3.1 PWM脉冲调制信号电路模块PWM脉宽调制信号产生电路由可控的加减

    10、计数器CNTA、5位二进制计数器CNTB、数字比较器LPM_COMPARE三部分组成。可控的加减计数器做细分计数器,确定脉冲宽度。当U/D=1时,输入CLK2,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;当U/D =0,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。5位二进制计数器在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出高电平;当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。其内部逻辑图如图6所示。图 6 FPGA中的PWM脉宽调制信号产生电路可控的加减计数器CNTA

    11、中的端口U_D控制计数器的方向,EN1是计数器的使能端,控制计数器初值的变化。U_D=1时,加减计数器CNTA在脉冲CLK2的作用下,每来一个脉冲,计数器CNTA加1,U_D=0时,每来一个脉冲,计数器CNTA减1。使能端EN1设定计数器值的初值,当EN1由1变为0的时候,无论U_D如何表化,计数器的值都不会发生变化,这样就完成了计数器的设定值,其仿真波形如图7所示。图 7 细分计数器的仿真波形2.3.2 二进制计数器电路模块CNTB是一个简单的5位二进制计数器,它的工作原理和CNTA的原理很相似,我们只是在CNTA的时钟端加了一个使能端EN1控制其加减的方向。而CNTB的时钟端没有加使能端,

    12、所以每来一个脉冲计数器加1,因为CNTB是一个5位的二进值计数器,所以当计数器的值当大于32时,计数器又重新从0开始记数,从而产生周期性的线性增加的锯齿波。其仿真波形如图8。图8 5位二进制计数器仿真波形2.3.3 数字比较器模块数字比较器是产生PWM波形的核心组成部件,可控的加减计数器CNTA和5位二进制计数器CNTB同时加数字比较器LPM-COMPARE两端作为两路输入信号,当计数器CNTB输出值小于细分计数器CNTA输出的规定值时, 比较器输出高电平; 当CNTB输出值大于细分计数器CNTA输出的规定值时, 比较器输出低电平。改变细分计数器的设定值, 就可以改变PWM输出信号的占空比。为

    13、了便于观察防真波形,我在CNTB的输出加上B4.0,仿真波形如图9。图9 数字比较器的仿真波形2.3.4 细分计数器电路模块细分计数器CNTA是一个双向计数器, 可以进行加减计数,由U_D控制其加/减计数方向, CLK是计数时钟输入端。为了便于连续变速控制, 在计数器的CLK端通过“与”门, 加入了CLK2外部变速控制附加时钟, 并由EN1信号控制是否允许变速。在本次设计中直流电机转速进行了32级细分。其仿真波形如图4.6,细分计数器的初值我设为08H,也就是十进值的8,当计数器CNTB的值小于8时,AGB输出高电平,当计数器CNTB的值大于8时,AGB的输出值为低电平,从而产生PWM波形。图

    14、10 A4.0=08H时电机加速PWM波形通过改变细分计数器的值就可以改变PWM的占空比,从而改变直流电机的速度。在图11中占空比D=8/32=0.25,在图4.7中占空比D=4/32=0.125。通过以上两组数据比较以及分析仿真波形我们可以看出,只要改变使能端电平的高低,便可以改变细分计数器的值,也就是改变细分计数器CNTA的初值,从而可以改变直流电机的占空比,改变直流电机的速度。图11 A4.0=04H时电机减速PWM波形调节PWM波的占空比是电机调速的重要手段,若脉宽计数器CNTA的值逐渐增大,输出脉冲的开启时间变大,PWM占空比逐渐变大,功率器件输出给电机电枢的能量增加,电机加速。若脉

    15、宽计数器定时器CNTA的值减小,输出脉冲的开启时间变小,PWM占空比逐渐变小,功率器件输出给电机电枢的能量减少,电机减速。当电机得到加速信号,占空比增大至它可调范围的最大值后保持,电机得到减速信号,占空比减小至它的可调范围的最小值后保持。2.3.5 逻辑控制模块如图12所示FPGA中的工作/停止控制和正/反转方向控制电路,其两个二选一多路选择器加上两个与门根据逻辑原理组合而成。START键通过“与”门控制PWM输出,实现对电机的工作/停止控制。当START端接高电平时,表示电源接通,电机开始运转;当START端接低电平时,电机停止运转。Z/F键控制选择PWM波形是从正端Z进入H桥,还是从负端F

    16、进入H桥,以控制电机的旋转方向。当Z/F=1时PWM输出波形从正端Z进入H桥,电机正转。当 Z/F =0时PWM输出波形从负端F进入H桥,电机反转。仿真如图13所示。图12 FPGA中的工作/停止控制和正/反转方向控制电路图13 正/反转工作控制电路波形仿真如图14所示。图14工作/停止电路波形2.4 电路的总仿真图2.4.1正/反转控制仿真键盘Z_F是电机的方向控制键。当要求电机正转时,只需要按下键Z_F,表示Z_F输出高电平,即Z_F=1,电机正转,如图17所示。当键Z_F松开时,Z_F0时,电机反转,如图15、图16所示。图17 电机正转图15 电机反转图16 电机正反转2.4.2 启/

    17、停控制仿真START键是电机的启动键,当按下START键时,START=1,电机进入运行状态,如图18所示。反之,START=0时,电机停止,如图19、图20所示。图18 启动仿真波形图19 停止仿真波形图20 启/停仿真波形2.4.3 加/减速仿真键盘EN1控制电机是否允许变速。所以通过改变EN1便可以改变设定值H4.0的值,也就是设定值的初值,从而改变了直流电机的占空比,改变直流电机的速度,达到调速的目的。因为CNTB是5位的计数器,所在本设计中直流电机转速细分为32级。如图21的占空比为2/32=0.0625,同理通过按键EN1该变H4.0的值便得到如图22、23的PWM仿真波形,其占空

    18、比依次为0.125、0.25,也就是占空比增大,电机的速度增加。根据以上的数据比较与仿真波形的分析可以看出,电机的速度在逐渐的增加。所以通过改变EN1的值可以改变直流电机的PWM占空比,从而改变直流电机的速度。图21 H4.0=02H仿真波形图22 H4.0=04H仿真波形图23 H4.0=08H仿真波形2.4.4 仿真结果分析通过2.5.1到2.5.3的仿真波形分析可知,本设计中的各项功能够很好的实现。在时钟脉冲的作用下,计数器CNTA和CNTB都能按照事先设定好的规则进行计数。CNTA是可控的加减计数器,U_D控制其计数的方向,EN1用于设定其初值,当NE1由高电平变为低电平时,就完成了设

    19、定值。CNTB是5位二进制计数器,其在时钟脉冲CLK0的作用下一直加数,当它加到32时就自动返回到0再重新加数。两路计数器同时加到数字比较器LMP_COMPARE上,当CNTB的值小于设定值时,数字比较器输出高电平,当CNTB的值大于设定值时,数字比较器输出低电平。因此改变设定值的大小就可以改变PWM波形的大小,也就是完成了电机的调速。Z_F是电机的方向按键,选择PWM波形的进入方向,当其为1时,电机正转,反之,反转。至于电机的控制,是在它的输入端加上两个与门来控制电机的启动与停止。其具体的操作如下:当按下键Z_F键时,电机正转,松开键时,电机反转。当按下键START时,电机开始工作,松开时,

    20、电机停止工作。通过按键EN1的闭合与断开可以改变H4.0的值从而改变直流电机的PWM占空比,达到改变直流电机速度的目的。本设计采用VHDL设计FPGA 脉宽调制控制方案, 计算机仿真和对直流电机控制的结果表明,该电路能有效地产生PWM 控制信号控制电机的转速, 控制精度由FPGA 中的数字比较器决定。在本设计中,采用的数字比较器为5位, 若增加数字比较器的位数, 就可以提高电机转速的控制精度。电路中省去了D/A 转换器使电路变得更加简洁, 同时也降低控制器的成本。FPGA 内部采用状态机结构, 遇到干扰时, 能很快从异常状态转入正常工作状态, 保证了控制系统具有高的可靠性。从以上的仿真中可以看

    21、出,基于FPGA的直流电机的控制能够达到很好的预期效果。3、课程设计结论及心得体会本次EDA课程设计题目为直流电机调速器设计,实现用PWM对于电机的控制。此次课设需要用硬件描述语言(VHDL)编写程序,并在Quartus II软件平台上进行程序的编译和仿真,锁定引脚并下载到可编程逻辑器件(试验箱)中,进行硬件的测试。此次EDA课程设计历时两周时间,两人一组合作进行系统的设计。程序的编写我们采用元件例化的形式,经过思考和相互间的分析讨论,将整个系统划分3个功能模块,彼此配合进行3个功能模块设计和程序的编写。其间,我们亦遇到许多问题,诸如整个系统核心模块计数过程的实现,时钟频率的设定等等。经历两周

    22、时间的不懈努力和队友之间愈加默契的配合,我们终于完成预定的目的。虽然其中遇到很多困难,很多问题,但在我们两人相互支持和鼓励想下,都能够得以顺利的找到解决办法或者改进的方法,并在合作中相互提高,彼此进步,在困难在中体会到合作的乐趣。EDA技术对于我们电子信息工程专业的学生来说是一本很重要的专业技术课程,EDA技术极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度,是一门实际应用很广泛的技术。现在对EDA的概念或范畴用得很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机

    23、制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。所以,EDA课程的学习对于我们自身素质和能力的提高有十分重要的积极作用,应该很认真的学习。4、仪器仪表清单 器件型号/参数数量SOPC/EDA开发系统GW481套微型计算机联想1台Quartus软件6.0表一 仪器仪表清单5、参考文献1 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.2 康华光主编.电子技术基础 模拟部分. 北京:高教出版社,2006.3 阎石主编.数字电子技术基础. 北京:高教出版社,2003.6、致谢这次课程设计感谢指导老师田汉平的悉心教导,也感谢其他老师对我们的帮助,同时感谢

    24、课程设计带队的老师们。特别提出的是在本课题方案的选择上,岳老师给予了我们很多建议,且在解决课程设计遇到的困难上,岳老师田老师给了我们很大的帮助。同样感谢同学们的通力合作,成功不是属于一个人的,而是属于大家的。附录 电路完整程序程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNTA ISPORT(CLK: IN STD_LOGIC; U,T:IN STD_LOGIC; EN: M: OUT STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(4 DOWNTO 0

    25、);END CNTA;ARCHITECTURE BEHAV OF CNTA ISSIGNAL CQL:STD_LOGIC_VECTOR( 4 DOWNTO 0);SIGNAL U_TEM :STD_LOGIC;SIGNAL T_TEM :BEGINPROCESS(CLK) IF CLKEVENT AND CLK=1 THEN U_TEM=U; T_TEM=T; IF EN= THEN IF U_TEM=0 AND U= IF CQL=11111 CQL=; ELSE =CQL+1; END IF;ELSIF T_TEM= AND T=IF CQL=00000 CQL ELSE=CQL-1;END IF;ELSIF EN=M=END PROCESS;CQ=CQL;END BEHAV;ENTITY CNTB ISPORT(CLK0,M: Q:END CNTB;ARCHITECTURE BEHAV1 OF CNTB ISSIGNAL QL:PROCESS(CLK0)IF CLK0EVENT AND CLK0= IF M= IF QL=33 THEN QL ELSE QL=QL+1;Qdatab THEN agbagbELSE agbEND BEHAV2;


    注意事项

    本文(直流电机PWM控制的FPGA实现Word格式文档下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开