直流电机PWM调速分解.doc
安徽工业大学设计报告 课 程: 硬件描述语言与系统仿真 选 题: 直流电机PWM控制 姓 名: 学 院: 电气信息学院 专 业: 电气工程(专硕) 学 号: 指 导 教 师: 武卫华 摘要:直流电机由于具有响应迅速、精度和效率高、调速范围宽、负载能力大、控制性能优良等特点。随着EDA技术的发展,用基于PFGA的数字电子系统对电动机进行控制,为实现电动机数字控制提供了一种新的有效方法。该设计介绍了直流电机的PWM调速原理,讨论了各个电路模块实现的功能。论文中利用QUARTUES软件对系统进行建模、仿真。本系统是以FPGA为其控制核心,输入电路向FPGA控制系统发出控制命令。控制系统接收命令后直接向H型桥式驱动电路发出PWM控制信号。输出电路主要实现正反转、启停控制、速度在线可调功能。关键词:直流电机,FPGA,VHDL,PWM1 直流电机工作原理和调速方案设计1.1直流电机简介1.1.1直流电机基本结构直流电机由定子(静止部分)和转子(转动部分)两大部分组成。1.1 直流电机的结构1.1.2直流电机工作原理直流电机的工作原理建立在电磁力和电磁感应的基础上,从图2.1可以看出主磁极N、S间装着一个可以转动的铁磁圆柱体,圆柱体的表面上固定着一个线圈abcd。abcd是装在可以转动的铁磁圆柱上的一个线圈,把线圈的两端分别接到两个圆弧形的铜片上(简称换向片),两者相互绝缘,铁芯和线圈合称电枢。当线圈中通入直流电流时,线圈边上受到电磁力F=Bli,根据左手定则确定力的方向,这一对电磁力形成了作用于电枢的一个电磁转矩,转矩的方向是逆时针方向。若电枢转动,线圈两边的位置互换,而线圈中通过的还是直流电流,则所产生的电磁转矩的方向则变为顺时针方向,因此电枢受到一种方向交变的电磁转矩。这种交变的电磁转矩只能使电枢来回摇摆,而不能使电枢连续转动。显然,要使电枢受到一个方向不变的电磁转矩,关键在于,当线圈边在不同极性的磁极下,如何将流过线圈中的电流方向及时地加以变换,即进行所谓“换向”。为此必须增添一个叫做换向器的装置,换向器由互相绝缘的铜质换向片构成,装在轴上,也和电枢绝缘,且和电枢一起旋转。换向器又与两个固定不动的由石墨制成的电刷A、B相接触。装了这种换向器以后,若将直流电压加于电刷端,直流电流经电刷流过电枢上的线圈,则产生电磁转矩,电枢在电磁转矩的作用下就旋转起来。电枢一经转动,由于换向器配合电刷对电流的换向作用,直流电流交替地由线圈边ab和cd流入,使线圈边只要处于N极下,其中通过电流的方向总是由电刷A流入的方向,而在S极下时,总是从电刷B流出的方向。这就保证了每个极下线圈边中的电流始终是一个方向。这样的结构,就可使电动机能连续地旋转。这就是直流电机的基本工作原理。1.2直流电机调速原理1.2.1直流电机电压调速原理图1.2 直流电机惯例图1.2为按电机惯例标定的直流电机稳定运行量各物理量的正方向。由图可见电机的电枢电动势Ea的正方向与电枢电流Ia的方向相反,为反电动势;电磁转矩T的正方向与转速n的方向相同,是拖动转矩;轴上的机械负载转矩T2及空载转矩T0均与n相反,是制动转矩。根据基尔霍夫第二定律,电枢回路列回路电压方程可得直流电动的电动势平衡方程式:U=Ea-Ia(Ra+Rc) 式中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷接触电阻的总和;Rc是外接在电枢回路中的调节电阻。 由此可得到直流电机的转速公式为: n =Ua-IR/Ce 式中,Ce为电动势常数,是磁通量。 n =Ea/Ce 从由式子中可以看出,对于一个已经制造好的电机,当励磁电压和负载转矩恒定时,它的转速由电枢电压Ea决定,电枢电压越高,电机转速就越快,电枢电压降低到0V时,电机就停止转动;改变电枢电压的极性,电机就反转。总之电机的调速可以通过控制电枢电压实现。图1.3 PWM调速原理1.2.2直流电机PWM调速原理所谓脉冲宽度调制是指用改变电机电枢电压接通与断开的时间的的占空比来控制电机转速的方法,称为脉冲宽度调制(PWM)。对于直流电机调速系统,使用FPGA进行调速是极为方便的。其方法是通过改变电机电枢电压导通时间与通电时间的比值(即占空比)来控制电机速度1。PWM调速原理如图1.3所示。在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电时间,即可让电机转速得到控制。设电机永远接通电源时,其转速最大为Vmax,设占空比为D=t1/T,则电机的平均速度为 Vd=Vmax·D 式中,Vd电机的平均速度 Vmax电机全通时的速度(最大) D=t1/T占空比 平均速度Vd与占空比D的函数曲线,如图1.4所示。图1.4 平均速度和占空比的关系由图1.4所示可以看出,Vd与占空比D并不是完全线性关系(图中实线),当系统允许时,可以将其近似地看成线性关系(图中虚线)。因此也就可以看成电机电枢电压Ua与占空比D成正比,改变占空比的大小即可控制电机的速度。 由以上叙述可知:电机的转速与电机电枢电压成比例,而电机电枢电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快,当占空比1时,电机转速最大。1.3 H型桥式驱动电路设计直流电机驱动电路使用最广泛的就是H型全桥式驱动电路,这种驱动电路可以很方便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。它的基本原理图如图1.5所示2-3。图1.5 H型全桥式驱动电路H型全桥式驱动电路的4只三极管都工作在斩波状态,V1、V4为一组,V2、V3为另一组,两组的状态互补,一组导通则另一组必须关断。当V1、V4导通时,V2、V3关断,电机两端加正向电压,可以实 现电机的正转或反转制动;当V2、V3导通时,V1、V4关断,电机两端为反向电压,电机反转或正转制动。在直流电机运转的过程中,我们要不断地使电机在四个象限之间切换,即在正转和反转之间切换,也就是在V1、V4导通且V2、V3关断,到V1、V4关断且V2、V3导通,这两种状态之间转换。2 控制逻辑VHDL描述2.1 FPGA内部逻辑组成电机控制逻辑模块由PWM脉宽调制信号产生电路、方向控制电路组成。其中PWM脉宽调制信号产生电路由可控的加减计数器CNTA、4位二进制计数器CNTB、数字比较器三部分组成,方向控制电路由两个二选一电路21MUX组成4-7。2.2 各个模块设计PWM脉宽调制信号产生电路由可控的加减计数器CNTA、4位二进制计数器CNTB、数字比较器三部分组成。当U/D=1时,输入K,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;当U/D =0,输入K,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。4位二进制计数器在时钟的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出高电平;当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。2.2.1 常数发生器可控的加减计数器CNTA中的端口U_D控制计数器的方向,K键是计数器的占空比输入端,控制计数器初值的变化。U_D=1时,加减计数器CNTA在K键的作用下,每按一次,计数器CNTA加1,U_D=0时,每按一次,计数器CNTA减1。VHDL语言如下:ENTITY CNTA IS PORT(K:IN STD_LOGIC; U_D:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END CNTA;ARCHITECTURE behav OF CNTA IS SIGNAL CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(K)BEGIN IF K'EVENT AND K='1'THEN IF U_D='1' THEN IF CQI=10 THEN CQI<="1010" ELSE CQI<=CQI+1; END IF; ELSEIF CQI=0 THEN CQI<="0000" ELSE CQI<=CQI-1; END IF; END IF; END IF; END PROCESS; CQ<=CQI; END behav;仿真波形如下:波形分析:当U_D处于高电平时,当K键按一下,CQ增加一,当U_D处于低电平时,当K键按一下,CQ减少一。当CQ=5时,占空比为5/10=0.5.2.2.2 锯齿波发生器CNTB是一个简单的0到10计数器,它的工作原理和CNTA的原理很相似。而CNTB的时钟端没有加使能端,所以每来一个脉冲计数器加1。因为是0到10循环计数,从而产生周期性的线性增加的锯齿波。VHDL语言如下:ENTITY CNTB IS PORT(CLK: IN BIT; Q:BUFFER INTEGER RANGE 15 DOWNTO 0); END;ARCHITECTURE BHV OF CNTB IS BEGIN PROCESS(CLK) BEGIN IF CLK'EVENT AND CLK='1' THEN IF Q=10 THEN Q<=0; ELSE Q<=Q+1; END IF; END IF; END PROCESS; END BHV;仿真波形如下:波形分析:在时钟信号驱动下,Q从0到10循环计数,产生数字锯齿波。2.2.3 比较器数字比较器是产生PWM波形的核心组成部件,可控的加减计数器CNTA和CNTB同时加数字比较器两端作为两路输入信号,当计数器CNTB输出值小于CNTA输出的规定值时, 比较器输出高电平; 当CNTB输出值大于CNTA输出的规定值时, 比较器输出低电平。改变常数的设定值, 就可以改变PWM输出信号的占空比。VHDL语言如下:ENTITY comp4_1 IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); B:IN STD_LOGIC_VECTOR(3 DOWNTO 0); Y: OUT STD_LOGIC);END comp4_1;ARCHITECTURE behave OF comp4_1 IS BEGIN PROCESS (A,B) BEGIN IF (A >= B) THEN Y <='1' ELSE Y <='0' END IF; END PROCESS; END behave;仿真波形如下:波形分析:从图中看出,当A大于等于B时,Y输出高电平,否则,输出低电平。2.2.4 分频器开发板的时钟是20M,而输出的PWM波是10K,一个周期的锯齿波有10个计数值组成,所以说分频系数为20M/(10K*10)=200,.VHDL语言如下:entity FP_200 is port(clkin:in std_logic; clkout:out std_logic);end FP_200;architecture behav of FP_200 issignal q: std_logic_vector(6 downto 0);signal clk1: std_logic;beginprocess(clkin)Beginif clkin'event and clkin='1' thenif q="1100011" then q<="0000000"clk1<=not clk1; else q<=q +'1'end if;end if;clkout<= clk1;end process;end behav;仿真波形如下:2.2.5 正反转控制电路正/反转方向控制电路由两个二选一多路选择器根据逻辑原理组合而成。Z/F键控制选择PWM波形是从正端Z进入H桥,还是从负端F进入H桥,以控制电机的旋转方向。当Z/F=1时PWM输出波形从正端Z进入H桥,电机正转。当 Z/F =0时,PWM输出波形从负端F进入H桥,电机反转。3 总体仿真结果:总仿真结果分析:1, 占空比从0.1到0.9可调,当U_D=1时,按一下K键,占空比增加0.1,否则,占空比减少0.1。2, 当Z_F=1时,Z端输出PWM波,控制1.3桥,F端输出0电平,控制2.4桥,电机正转,当Z_F=0时,F端输出PWM波,控制2.4桥,Z端输出0电平,控制1.3桥,电机正反转。3, 20M开发板时钟经过200次分频后,送至锯齿波发生器,锯齿波发生器为0到10计数器,所以PWM波的频率为10K HZ。总结通过仿真,本设计达到设计要求,随着社会的进步,工业的发展,直流电机现在正广泛用于各个领域,如何更好地利用直流电机,运用现代软件技术,提高其工作效率,发挥直流电机最大的作用,其首要任务是是要搞清楚直流电机的工作原理和控制原理,本文主要介绍基于FPGA的直流电机的PWM控制的研究。通过EDA相关课程的学习,了解FPGA的数字PWM控制原理,利用设置电路参数来改变PWM的占空比,改变其占空比就可以改变电机的转速。运用QuartusII软件进行电路设计,代码编写,进行仿真设计。通过对直流电机的PWM控制研究,了解到现代电子技术由复杂到简单,落后到先进,低效到高效的方向发展,了解到可编程控制器在现代电子科技中的应用。参考文献1潘松,黄继业.EDA技术实用教程M .北京:科学出版社,20062黄楚芳,陈鸿. 基于FPGA直流电机调速器的实现J. 电子测试, 2009,(02):66-673陈俊硕,刘景林,张金萍. 基于FPGA的直流电机PWM控制器设计J. 微电机,2009(10)4齐洪喜,陆颖.VHDL电路设计M.北京:清华大学出版社,20045江国强,李哲英.EDA技术与应用M.北京:电子工业出版社,20046雷伏容.VHDL电路设计M.北京:清华大学出版社,20067陈俊硕,刘景林,张金萍.基于FPGA的直流电机PWM控制器设计J.微电机2009(10)