ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:481.84KB ,
资源ID:4959370      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4959370.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FPGA直流电机控制系统设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FPGA直流电机控制系统设计.docx

1、FPGA直流电机控制系统设计中文摘要直流电机具有良好的启动和调速性能,被广泛地应用于对启动和调速有较高要求的拖动系统。本设计介绍了基于FPGA用PWM实现直流电机调整的基本方法,直流电机调速的相关知识,及PWM调整的基本原理和实现方法。重点介绍了基于FPGA用软件产生PWM信号的途径,输出的PWM波形具有频率高、占空比调节步进细的优点。对直流电机调速的实现提供了一种有效的途径。关键词:直流电机 PWM 频率计 AbstractThis paper introduces a kind of method of DC motor speed modification based on PWM th

2、eory bythe FPGAShowing some relative knowledge upon the DCmotor timing,the basic theory and the way to implementAnd it emphasizes on the way for carrying out PWM signals based on FPGAThis PWM signals advatages base its high frequency and duty cycle stepping fine adjustment.It offers a sort ofeficien

3、t method for the DC motor speedcontrolling systemKeyword: DC motor PWM Cymometer引 言 1第一章:设计方案及系统分析 21.1 系统的实现及参数的要求 21.2 直流电机调速原理 213 PWM基本原理设计方案 31.3.1 PWM基本原理 31.3.2 PWM波形的设计方案 41.4 系统的外围硬件及其与FPGA的接口电路 51.5 系统的工作流程 6第二章、硬件设计 82.1、电源模块的设计 82.2、电机驱动模块 92.3、电机转速测量模块 102.4、按键输入模块 112.5、LED显示模块 12第三章、系

4、统软件设计及分析 143.1、频率计的设计 143.2、数据显示的程序设计 163.3、PWM波形发生器的程序设计及分析 183.4 PID控制模块 193.5 键盘输入模块 25第四章核心器件及开发环境的介绍 274.1 FPGA核心板的介绍 274.2四电压比较器LM339简介 284.3开发环境 Quartus II 7.0 介绍 30第五章 系统调试 325.1 硬件电路的调试 325.1.1 电源电路 325.1.2 显示电路的调试 325.2 系统软件调试 335.2.1消抖电路参数的调整 335.2.2 PWM波形参数的设计 335.2.3 比较器的设计 345.2.3 PID控

5、制器的参数设计 345.2.4 系统的最终实现 35结束语 36致 37参考文献 38 引 言电机是电动机和发电机的统称,是一实现机电能转换的电磁装置。拖动生产机械,将电能转换为机械能的电机称为电动机;作为电源,将机械能转换为电能的电机称为发电机。由于电流有交流、直流之分,所以电机也就分为交流电机和直流电机两大类。在各类机电系统中,由于直流电机具有良好的起动、制动和调速性能,直流调速技术已广泛运用于工业、航天领域的各个方面。直流电机具有良好的启动和调速性能,被广泛地应用于对启动和调速有较高要求的拖动系统,例如电力牵引、轧钢机、起重设备等。小容量的直流电动机在制动控制系统中的应用也很广泛。本设计

6、的课题为基于FPGA的直流电机调速系统。最常用的直流调速技术是脉宽调制(PWM)直流调速技术,它具有调速精度高、响应速度快、调速围宽和耗损低等特点。系统采用PWM调节实现对电机的调速,采用红外发射接收对管采集电机转速。FPGA系统部进程工作在并行的状态下,各子进程相互独立,输出的PWM波形具有频率高,占空比调节步精密的特点。高频率的PWM波形对直流电机工作的稳定起着极其重要的作用,尤其在高负载的调速系统中体现的优越性极其明显,频率越高电机运行越平稳。另外,对PWM 波形输出占空比的调节步进细分的特点大大的扩大了调速系统的调速围。本设计中主要研究FPGA产生PWM波形的优越性并对其进行验证,并且

7、针对FPGA系统进行等精度频率测量的高精度性进行验证。第一章:设计方案及系统分析1.1 系统的实现及参数的要求本系统是基于FPGA的直流电机闭环控制系统。要求系统能用按键设定电机的工作转速,并在系统工作时可以通过外部设定改变电机的转速。当电机的负载变化时,系统通过检测电机转速的变化对电机的转速进行PID调节,迅速调整电机的转速稳定工作在设定的工作频率。要求系统工作稳定在设定值偏差1HZ围。1.2 直流电机调速原理根据励磁方式不同,直流电机分为自励和他励两种类型。不同励磁方式的直流电机机械特性曲线有所不同。对于直流电机来说,人为机械特性方程式为1 (1.1)式中:、额定电驱电压、额定磁通量、与电

8、机有关的常数、电机外加电阻、电机阻、 理想空载转速、转速降分析(1.1)式可得当分别改变 、和时,可以得到不同的转速n,从而实现对速度的调节。由于当改变励磁电流时,可以改变磁通量的大小,从而达到变磁通调速的目的。但由于励磁线圈发热和电动机磁饱和的限制,电动机的励磁电流If和磁通量 只能在低于其额定值的围调节,故只能弱磁调速。而对于调节电枢外加电阻R时,会使机械特性变软,导致电机带负载能力减弱。 对于他励直流电机来说,当改变电枢电压Un时,分析人为机械特性方程式,得到人为特性曲线如图11所示。理想空载转速随电枢电压升降而发生相应的升降变化。不同电枢电压的机械特性曲线相互平行,说明硬度不随电枢电压

9、的变化而改变,电机带负载能力恒定。当我们平滑调节他励直流电机电枢两端电压时,可实现电机的无级调速。基于以上特性,改变电枢电压,实现对直流电机速度调节的方法被广泛采用。改变电枢电压可通过多种途径实现,如晶闸管供电速度控制系统、大功率晶体管速度控制系统、直流发电机供电速度控制系统及晶体管直流脉宽调速系统等。图 11 直流电机机械特性曲线13 PWM基本原理设计方案1.3.1 PWM基本原理PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来

10、接通和断开电源,并根据需要改变一个周期“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。如图12所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为,设占空比为,则电机的平均速度为2 式中, 电机的平均速度;电机全通电时的最大速度。,占空比。图 12 电驱电压“占空比”与平均电压关系图1.3.2 PWM波形的设计方案如果采用CPU控制产生PWM信号,一般的PWM信号是通过模拟比较器产

11、生的,比较器的一端接给定的参考电压,另一端接周期线形增加的锯齿波电压。当锯齿波电压小于参考电压时输出低电平,当锯齿波电压输出电压大于参考电压时输出高电平。改变参考电压就可以改变PWM波形中高电平的宽度。若用单片机产生PWM波形信号,需要通过D/A转换器产生锯齿波电压和设置参考电压,通过外接模拟器输出PWM波形,因此外围电路比较复杂。 FPGA中的数字PWM控制与一般的模拟PWM控制不同。用FPGA产生PWM波形,只需要FPGA部资源就可以实现。用数字比较器代替模拟比较器,数字比较器的一端接设定值计数器输出,另一端接线性递增计数器输出。当线性计数器的计数值小于设定值时输出低电平,当计数值大于设定

12、值时输出高电平。与模拟控制相比,省去了外接D/A转换器和模拟比较器的,FPGA部连线很少、电路更加简单、便于控制。脉宽调制细分驱动电路的关键是脉宽调制,转速的波动随着PWM脉宽细分数的增大而减小。 针对FPGA的优越性,本设计采用了Altera 公司的EP2C5Q208C8 FPGA芯片作为系统的核心控制器件,设计基于FPGA的直流电机闭环控制系统。31.4 系统的外围硬件及其与FPGA的接口电路硬件系统由FPGA核心学习板模块、显示模块、按键输入模块、电机测速模块、直流电机驱动模块组成,如图13。 图 13 系统硬件框架图1.5 系统的工作流程基于FPGA的直流电机闭环控制系统的系统工作流程

13、框图如图 14。系统通过FPGA部产生PWM波形输出到H型驱动电路控制电机的转动,采集电路反馈电机转动的波形到FPGA进行系统分析,形成闭还控制。显示模块和按键输入独立接到FPGAD的I/O口,显示模块负责显示设定转速和实际测量到的转速。按键输入模块对系统部信号进行设置。工作流程为:检测到电机工作脉冲,将其转换为实际转速M,实际转速M与通过键盘设定好的设定转速N比较并且分析,得出偏差值Q,部的PID调节器对偏差Q和M,N进行分析,输出调节比较器2(PWM波形发生器)的比较值的信号。比较器2输出的PWM波形接到电机开关控制器,电机控制器的输出由输入按键5控制。开关控制器开时输出PWM波形到H型驱

14、动电路驱动电机工作。第二章、硬件设计2.1、电源模块的设计本系统的电源设计采用2个独立电源供电,核心控制部分采用5V,3.3V供电,先输出5V电压满足部分外围硬件工作电压,再将5V电压转为3.3V稳压输出满足FPGA系统工作电压。H型电机驱动电路采用15V电压供电。两电源的接口通讯部分采用光电偶合器PC817实现。电源原理图如图214,图21中两电源不共地,IN1,IN2分别为隔离变压器输入的交流电压,经过整流二级管整流后输出直流电压,经4700u的滤波电容后得到平稳的直流电压,最后经过三端集成稳压器后在OUT1,和OUT2分别输出+5V和+15V的直流电压。0.1u的瓷片电容的作用是滤除电源

15、高频成分,滤除直流电源对电子系统的影响。图 21 电源设计原理图2.2、电机驱动模块电机驱动采用型乔氏驱动电路5,该电路可通过控制电机转速和控制电机方向。 电路图如图22:电路与接口部分采用光偶隔离,通过控制光电偶合器,的红外发光二级管的亮与灭来控制控制,的导通与截止。如下图:当、的电平分别为和时,截止,导通,电流方向为: 地,电机正转;若、的输出电平分别为和时,导通,截止,电流方向为: 地,电机反转。图 22 H型直流电机驱动电路2.3、电机转速测量模块由于在本系统设计中用由无刷直流电机组成的风扇来模拟,所以检测电机转速是通过在风扇的扇叶的两端分别装上一个红外线发射二级管和一个红外线接收管6

16、。硬件电路如图23。工作流程为:当扇叶挡住红外发射对管时,接收管Q截止,由LM339构成的比较器的5脚正端输入得到的是接近5V的高电平。假设比较器的负端输入电压为3.8V,则比较器输出端IO输出高电平。反之,当红外收发对管没有被煽叶挡住的时候,接受管接受到DS发出的光而导通,在导通的情况下,比较器5脚的正端输入电压被拉低到0.3左右,比4脚的3.8V电压低,从而使LM339的输出端2脚输出低电平。由此可知,当电机转动的时候,通过红外收发对管结合LM339够成的比较器电路,在比较器输出端IO得到周期随电机转速的变化而变化的方波,通过FPGA部的频率计检测该波形可以转换准确的求出电机的转速。这样就

17、完成了速度的采集部分。另外在设计电路的时候,LM339的电源两端并联个100u的电解电容和一个0.1u 的瓷片电容做为退偶电容,可以消除电源纹波的干扰使电路处于最佳工作状态。还有一点要说明的是,由于EP2C5的高电平为3.3V所以为了得到高电平为3.3V的方波,必需在LM339比较器的输出端接3.3V的上拉电阻,调试电路的时候必须用示波器观察比较器输出的波形混有杂波,通过加大滤波电容等办法将杂波滤除,从而消除了干扰得到准备的测量值。 图 23 LM339比较器模块(测速模块)2.4、按键输入模块采用轻触键实现与FPGA的接口7。如图24,key1,key2,key3,key4,key5分别与F

18、PGA核心板引出的IO口连接,由于接上了上拉电阻,所以当按键未按下时在FPGA上呈现的是高电平,当按键按下时,按键的两端导通接到地,在FPGA端口上呈现低电平。FPGA通过检测输入端口的跳变或输入端口的电平状态来对部信号进行调整。图 24 按键接口电路 2.5、LED显示模块显示采用2片4位一体共阴极8段数码管显示8,一片用来显示设定的转速,;另一片用于显示实际采集到的电机的转速。电路如图25,显示采用动态扫描方式实现,数码管的段码并联经过一线流电阻直接接到FPGA的IO口,位选端经过小功率NPN三级管8050实现扫描开关控制。R1R8为150欧姆的限流电阻,R9R16为4.7K,用与保持三级

19、管基极电压。当P2输出的位选信号为低电平时,三极管截止,数码管熄灭。当P2输出信号为高电平时,三极管导通,位选接地,数码管点亮。数码管扫描显示就是依次单个选通8个位选端,快速的循环显示。动态扫描不仅节约IO口,而且减少了电源的负载。P1,P2分别接FPGA核心板引出的IO口。图 25 LED显示模块电路第三章、系统软件设计及分析3.1、频率计的设计对电机转速的测量是通过对LM339输出的脉冲个数在一定闸门时间进行记数。通过对记数值的转换来得到电机的转速。由于风扇有的转轴有7片煽叶,所以电机转过一圈产生7个脉冲个数。在本设计中,闸门时间为0.25秒。假设在0.25秒的闸门时间共检测到 N个脉冲,

20、则可以通过计算得出 电机的转速 F=N*4/7 转/秒。在频率检测电路中,对脉冲输入检测的消抖电路极其重要消抖进程的时钟参数的设计直接影响到最后频率计得出的频率值。下面结合消抖进程的仿真波形和VHDL代码简单介绍消抖电路的工作原理和参数的设计9。RTL视图: 图 31 消抖电路RTL视图仿真波形:图 32 仿真波形图 消抖进程 VHDL 代码:library ieee;use ieee.std_logic_1164.all;entity doudong isport(din,clk:in std_logic; dout:out std_logic);end doudong;architectu

21、re beha of doudong issignal x,y:std_logic;beginprocess(clk)begin if clkevent and clk=1 then x=din; y=x; end if;dout=x and (not y);end process;end beha;从RTL视图中可知,该电路是由2个D触发器构成的RS触发器。进程中CLK为消抖时钟,din 为IO口电平输入,dout为输出信号。CLK的时间周期的设计直接影响频率计计数的准确行。从仿真波形可以设计出CLK的周期应为: TTclkTmin, Tclk为CLK的时钟周期,T为干扰信号的周期,Tmin

22、 为电机达到最大速度时检测到波形信号的周期。如果TclkTmin ,则是消抖过大,把有用的信号滤除掉。在设计Tclk 时,结合设计电路,不断的测试并对得到的值进行对比将Tclk的周期设为100us左右,测量得到准确的频率值。3.2、数据显示的程序设计对设定值和实际转速的显示都是经过换算分别求得要显示的数的十位、个位、十分位、百分位的值。然后经过转换成为BCD码,最终显示在2片4位一体的共阴极数码管上面。在换算过程中,是通过编写一个除法器来对要显示的数值进行求余取摸运算。除法器如图32。由于该除法器只能对2个整数进行进行除法运算,所以对要处理的数乘以100,假设乘以100后得到的数为M(即为图3

23、3中的a),则对M先除以1000(即为下图中的b),得到的商y和余数rest。Y为十位的数值,rest为M求余100得到的值。接着对rest除以100即可即可得到个位的位数和余数,即为循环上述的过程,整个显示模块总共调用了3个除法器10。图 33除法器电路除法器VHDL代码如下: library ieee;use ieee.std_logic_1164.all;entity divider is generic (n:integer :=14); port(a,b:in integer range 0 to 32767; y: out std_logic_vector(14 downto 0)

24、; rest: out integer range 0 to 32767 );end divider;architecture rt1 of divider is begin process(a,b)variable temp1:integer range 0 to 32767;variable temp2:integer range 0 to 32767; begin temp1:=a; temp2:=b;for i in n downto 0 loop if (temp1=temp2*2*i) then y(i)=1;temp1:=temp1-temp2*2*i;else y(i)=0;e

25、nd if ;end loop;rest= temp1;end process;end rt1;3.3、PWM波形发生器的程序设计及分析PWM波形发生器,如图34:PWM的产生是从比较器的输出得到的,通过改变比较器的输入来达到输出周期一定占空比可调的方波。设计思路为dataa从0到1024步进加1一直循环,循环的周期即为最终输出的方波的周期。Dataa 的值从0一直加1加到1024后跳变回到0,从模拟的角度考虑问题,可以把dataa 看成是周期一定的锯齿波。通过PID控制器计算,根据反馈的值调整datab对比较器的输入,从而达到改变输出PWM占空比的目的。datab在系统部定义为标准逻辑类型

26、signal:datab std_logic_vector(9 downto 0); 转换成10进制其最大值为1024,但是由于PID控制器的原因,datab的取值在转换成10进制后只能在30-994的围。若超出围,则在调整datab时 执行 datab=dadab+30或datab设定值时 OUT=1;当实际值设定值时 比较器输出OUT=0;即 当OUT=1 时,Q=MN,当OUT=0时 Q=NM 。设定值M 比较器输出 OUT实际值N比较值 DATA 图35 PID控制框图 比较器VHDL代码如下:library ieee;use ieee.std_logic_1164.all;entit

27、y bijiaoqi is port(M,N : integer range 0 to 9999; outp:out std_logic); end bijiaoqi ;architecture one of bijiao qi is begin process(M,N) beginif MN then outp=1;else outp=570时,DATA为调整值,DATAT的调节步进为30,即偏差较大时需要对PWM波形输出的占空比做较大的调整才能达到迅速调节的目的。当114Q570时,DATA调节步进为6,当实际值接近设定值时,应该适当减小调整步进,以免调整过大造成系统工作波动太大。当时,实

28、际值逼近设定值,这时应对DATA进行小幅度调节,调节步近为3。当时,实际值临近设定工作频率,控制器以微小的步进对DATA进行调节,步进值为最小值1。若Q=0 则不对DATA进行调整。逐次逼近最终使系统工作稳定在设定值。由于系统工作负载是动态变化的,所以调节也是随着负载的变化动态调节PWM波形输出。偏差值Q之所以那么大是因为Q是设定值跟实际值的差求得,但是因为显示部分要对设定值和实际值进行除法运算,由于除法器支持的是整数的运算,所以先把设定值和实际值放大100倍,然后进行处理才能分出十分位、百分位。由于频率计的记数闸门时间设定为0.25秒,闸门时间中记数值为NUM,系统采用风扇来模拟,电子转过一圈产生脉冲个数X=7。由此可以换算得出频率F=4*NUM /X,即F=0.57NUM。所以本系统的调节频率为步进0.57HZ。若想更细分调节电机的工作频率围,可以通过提高X的值来实现。本系统中X取值为7。图 36 PID控制流程PID控制器进程的VHDL代码:-*-*PROCESS(clk_1hz,power) - 输出调整variable BB:std_lo

copyright@ 2008-2022 冰豆网网站版权所有

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