FPGA直流电机控制系统设计要点_第1页
FPGA直流电机控制系统设计要点_第2页
FPGA直流电机控制系统设计要点_第3页
FPGA直流电机控制系统设计要点_第4页
FPGA直流电机控制系统设计要点_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、e FPGA . Showing some relative knowledge upon the DC motor timing , the basic theory and the way to implement. And it emphasizes on the way for carryingout PWM signalsbased on FPGA This PWMignals advatages base it ' high frequency and duty cycle stepping fine adjustment.lt offers a sort ofeficie

3、ntmethodfor the DC motor speed con trolli ng system .Keyword: DC motor PWM Cymometer目录引 言 1第一章:设计方案及系统分析 21.1系统的实现及参数的要求 21.2直流电机调速原理21. 3 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.1FPGA核心板的介绍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控制器的参数设计345.2.4

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

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

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

8、°n (1.1)Kd心心n式中:Un、n。额定电驱电压、额定磁通量Ke、K t与电机有关的常数Rad、Ra 电机外加电阻、电机内阻n。、理想空载转速、转速降分析(1.1)式可得.当分别改变Un> n和Ra时,可以得到不同的转速n,从而实现对速度的调节。由于G二f(I f八当改变励磁电流I f时,可以改变磁通量的大小,从而达到变磁通调速的目的。但由于励磁线圈发热和电动机 磁饱和的限制,电动机的励磁电流Iflf和磁通量只能在低于其额定值的 范围内调节,故只能弱磁调速。而对于调节电枢外加电阻R时,会使机械特性变软,导致电机带负载能力减弱。对于他励直流电机来说,当改变电枢电压 Ur时,

9、分析人为机械特性方程 式,得到人为特性曲线如图ii所示。理想空载转速ro随电枢电压升降而 发生相应的升降变化。不同电枢电压的机械特性曲线相互平行,说明硬度不 随电枢电压的变化而改变,电机带负载能力恒定。当我们平滑调节他励直流 电机电枢两端电压时,可实现电机的无级调速。基于以上特性,改变电枢电压,实现对直流电机速度调节的方法被广泛 采用。改变电枢电压可通过多种途径实现,如晶闸管供电速度控制系统、大 功率晶体管速度控制系统、直流发电机供电速度控制系统及晶体管直流脉宽1. 3 PWP基本原理设计方案1.3.1 PWM基本原理PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的 电压,进而达

10、到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在 PWM驱动控制的调整系统中,按 一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平 均电压的大小,从而控制电动机的转速。因此,PW又被称为“开关驱动装置” 如图1 2所示,在脉冲作用下,当电机通电时,速度增加;电机断电时,速 度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到 控制。设电机始终接通电源时,电机转速最大为V max ,设占空比为D =¥, 则电机的平均速度为Vd 二Vmax.D式中

11、,V d电机的平均速度;V max电机全通电时的最大速度D =-,占空比。T防冲口号.图1 2电驱电压“占空比”与平均电压关系图1.3.2 PWM波形的设计方案如果采用CPU控制产生pw信号,一般的pw信号是通过模拟比较器产生 的,比较器的一端接给定的参考电压,另一端接周期线形增加的锯齿波电压。 当锯齿波电压小于参考电压时输出低电平, 当锯齿波电压输出电压大于参考 电压时输出高电平。改变参考电压就可以改变 PW波形中高电平的宽度。若 用单片机产生PW波形信号,需要通过D/A转换器产生锯齿波电压和设置参考 电压,通过外接模拟器输出PW波形,因此外围电路比较复杂。FPGA中的数字PW控制与一般的模

12、拟PW控制不同。用FPG产生PW波形, 只需要FPG内部资源就可以实现。用数字比较器代替模拟比较器,数字比较 器的一端接设定值计数器输出,另一端接线性递增计数器输出。当线性计数 器的计数值小于设定值时输出低电平,当计数值大于设定值时输出高电平。 与模拟控制相比,省去了外接D/A转换器和模拟比较器的,FPG内部连线很 少、电路更加简单、便于控制。脉宽调制细分驱动电路的关键是脉宽调制, 转速的波动随着PW脉宽细分数的增大而减小。针对FPG的优越性,本设计采用了 Altera 公司的EP2C5Q208C8 FPGA片作为系统的核心控制器件,设计基于 FPG的直流电机闭环控制系统。1.4系统的外围硬件

13、及其与 FPGA勺接口电路硬件系统由FPGA核心学习板模块、显示模块、按键输入模块、电机测 速模块、直流电机驱动模块组成,如图 1 3。图1 3 系统硬件框架图1.5系统的工作流程基于FPGA的直流电机闭环控制系统的系统工作流程框图如图1 4设定频率值显示模块比较器1偏差值设定电机转速设定的转速值实际转速比较 值 A转换为转速值实际转速显示模 块频率计比较值B产生器(PWM周期调节器)H型直流 电机驱动光电传感器米集直流电 机开关控制<PWM器消抖电路比较器 2(PWM发生 器)按键5(PID 控制)系统通过FPGA内部产生PWM波形输出到H型驱动电路控制电机的转动, 采集电路反馈电机转

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

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

16、UT1图2 1电源设计原理图2.2、电机驱动模块电机驱动采用H型乔氏驱动电路 ,该电路可通过PWM控制电机转速和控 制电机方向。电路图如图22 : 电路与FPGAI/O接口部分采用光偶隔离,通过控制光电偶合器Ul, U2的红外发光二级管的亮与灭来控制控制Ul, U2的导通与截止。如下图:当A、E的电平分别为l和0时,U l,Ql,Q3截止,U2,Q2,Q4 导通,电流方向为:l5V Q2MlM2Q4地,电机正转;若A、E的输出电平分别为0和l时,U l,Ql,Q3导通,U2,Q2,Q4截止,电流方向 为:l5V QlM2M * Q3地,电机反转。rtT尹夕ELT 11)屯口k1*图22 H型直

17、流电机驱动电路2.3、电机转速测量模块由于在本系统设计中用由无刷直流电机组成的风扇来模拟,所以检测电机转速是通过在风扇的扇叶的两端分别装上一个红外线发射二级管和一个6红外线接收管。硬件电路如图23。工作流程为:当扇叶挡住红外发射对管时,接收管Q截止,由LM339勾成的比较器的5脚正端输入得到的是 接近5V的高电平。假设比较器的负 端输入电压为3.8V,贝吐匕较器输出端10输出高电平。反之,当红外收发对 管没有被煽叶挡住的时候,接受管接受到DS发出的光而导通,在导通的情况下,比较器5脚的正端输入电压被拉低到 0.3左右,比4脚的3.8V电压 低,从而使LM339的输出端2脚输出低电平。由此可知,

18、当电机转动的时候, 通过红外收发对管结合LM339够成的比较器电路,在比较器输出端 IO得到 周期随电机转速的变化而变化的方波,通过FPGA内部的频率计检测该波形可以转换准确的求出电机的转速。这样就完成了速度的采集部分。另外在设 计电路的时候,LM339的电源两端并联1个100u的电解电容和一个0.1u的 瓷片电容做为退偶电容,可以消除电源纹波的干扰使电路处于最佳工作状 态。还有一点要说明的是,由于 EP2C5的高电平为3.3V所以为了得到高电 平为3.3V的方波,必需在LM339比较器的输出端接3.3V的上拉电阻,调试 电路的时候必须用示波器观察比较器输出的波形混有杂波,通过加大滤波电容等办

19、法将杂波滤除,从而消除了干扰得到准备的测量值。工4 i *L r)/q:-*1图2 3 LM339比较器模块(测速模块)2.4、按键输入模块采用轻触键实现与 FPGA的接口。如图2 4 , key1,key2,key3,key4,key5 分别与FPGA核心板引出的10 口连接,由于接上 了上拉电阻,所以当按键未按下时在FPGA上呈现的是高电平,当按键按下时,按键的两端导通接到地,在 FPGA端口上呈现低电平。FPGA1过检测输 入端口的跳变或输入端口的电平状态来对内部信号进行调整。工图24按键接口电路2.5、LED显示模块显示采用2片4位一体共阴极8段数码管显示,一片用来显示设定的转速,;另

20、一片用于显示实际采集到的电机的转速。电路如图25,显示采用动态扫描方式实现,数码管的段码并联经过一线流电阻直接接到FPGA的10 口,位选端经过小功率NPN三级管8050实现扫描开关控制。R1R8为150 欧姆的限流电阻,R9R16为4.7K,用与保持三级管基极电压。当 P2输出的位选信号为低电平时,三极管截止,数码管熄灭。当P2输出信号为高电平时,三极管导通,位选接地,数码管点亮。数码管扫描显示就是依次单个选 通8个位选端,快速的循环显示。动态扫描不仅节约10 口,而且减少了电源的负载。P1,P2分别接FPGA核心板引出的10 口。图2 5 LED显示模块电路第三章、系统软件设计及分析3.1

21、、频率计的设计对电机转速的测量是通过对LM339俞出的脉冲个数在一定闸门时间进行 记数。通过对记数值的转换来得到电机的转速。由于风扇有的转轴有7片煽叶,所以电机转过一圈产生 7个脉冲个数。在本设计中,闸门时间为0.25秒。假设在0.25秒的闸门时间内共检测到 N个脉冲,则可以通过计算得出 电机的转速F=N*4/7转/秒。在频率检测电路中,对脉冲输入检测的消抖 电路极其重要消抖进程的时钟参数的设计直接影响到最后频率计得出的频 率值。下面结合消抖进程的仿真波形和 VHDL代码简单介绍消抖电路的工作原 理和参数的设计。RTL视图:xy图3 1消抖电路RTL视图 仿真波形:elkE 011 . 1聆1

22、dinE 0LdoutE 0.11图32仿真波形图消抖进程VHDL代码:library ieee;use ieee.std_logic_1164.all;en tity doud ong isport(di n,clk:in std_logic;dout:out std_logic);end doud ong;architecture beha of doud ong is sig nal x,y:std_logic;begi nprocess(clk)begi nif clk'eve nt and clk='1' the n x<=di n;y<=x;en

23、d if;dout<=x and (not y);end process;end beha;从RTL视图中可知,该电路是由2个D触发器构成的RS触发器。进程 中CLK为消抖时钟,din为10 口电平输入,dout为输出信号。CLK的时间 周期的设计直接影响频率计计数的准确行。 从仿真波形可以设计出CLK的周 期应为:TvTclkvTmin, Tclk为CLK的时钟周期,T为干扰信号的周期,Tmin 为电机达到最大速度时检测到波形信号的周期。如果 Tclk<T则带入了干扰信号,没有达到消抖的作用。如果 T>Tmin,则是消抖过大,把有用的信号滤 除掉。在设计Tclk时,结合设计

24、电路,不断的测试并对得到的值进行对比 将Tclk的周期设为100us左右,测量得到准确的频率值。3.2、数据显示的程序设计对设定值和实际转速的显示都是经过换算分别求得要显示的数的十位、个位、十分位、百分位的值。然后经过转换成为BCD码,最终显示在2片4位一体的共阴极数码管上面。在换算过程中,是通过编写一个除法器来对要显示的数值进行求余取摸运算。除法器如图32。由于该除法器只能对 2个整数进行进行除法运算,所以对要处理的数乘以100,假设乘以100后得到的数为M (即为图33中的a),则对M先除以1000(即为下图中的b), 得到的商y和余数rest。Y为十位的数值,rest为M求余100得到的

25、值。接 着对rest除以100即可即可得到个位的位数和余数, 即为循环上述的过程,10整个显示模块总共调用了 3个除法器。div ider>' a14.0y14.0>' b14.0rest14.0inst图33除法器电路除法器VHDL弋码如下:library ieee;use ieee.stdo gic_1164.all;en tity divider isgen eric (n:i nteger :=14);port(a,b:i n in teger range 0 to 32767;y: out stdo gic_vector(14 dow nto 0); re

26、st: out in teger range 0 to 32767 );end divider;architecture rt1 of divider isbegi nprocess(a,b)variable temp1:i nteger range 0 to 32767;variable temp2:i nteger range 0 to 32767;begi ntemp1:=a;temp2:=b;for i in n dow nto 0 loopif (temp1>=temp2*2*i) the ny(i)<='1';temp1:=temp1-temp2*2*i

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

28、达到改变输出PWM占空比的目的。datab在系统内部定义为标准逻辑类型 signal:datab std_logic_vector(9 down to 0);转换成10进制其最大值为1024,但是由于PID控制器的原因,datab的取值在转换成10进制后只能在30-994的范围内。若超出范围,贝U 在调整 datab 时 执行 datab<=dadab+30 或 datab<=data-30 语句时,datab 的值益出跳出最大值或最小值,导致输出占空比突然跳变,影响系统的稳定COMPAREun sig ned comparedataa9.0>datab9.0inst图3 4

29、比较器电路(PWM波形发生器)3.4 PID控制模块根据测量到的实际转速(假设为 M结合设定的转速(假设为 N),对数 据进行分析,采用PID控制算法对决定转速大小的占空比输出进行调整。控 制框图如图35:控制模块包括一个比较器和一个比较值发生器(即为占 空比调整器)。比较值发生器结合偏差来调整输出比较值DATA偏差Q=|M N|,比较器输出为OUT当实际值设定值时OUT=1;当实际值乞设 定值时比较器输出OUT=0即当OUT=1 时,Q=l N,当 OUT=0寸 Q=N-M。图3 5 PID控制框图比较器VHDL弋码如下:library ieee;use ieee.stdo gic_1164

30、.all;en tity bijiaoqi isport(M , N : integer range 0 to 9999; outp:out stdo gic);end bijiaoqi ;architecture one of bijiao qi is beg inprocess(M, N)begi nif M>N then outp<='1'else outp<='0'end if;end process;end one ;PID调节器11程序设计流程图如图36,当实际值大于设定值时,PID 控制器应该做出反应,相应减小占空比输出。当实际值

31、小于设定值时,应增 加占空比出。PID控制器根据实际采样跟设定的偏差值 Q的不同做出不同的 调节,控制器根据Q所落在数据的范围对输出的比较值进行粗调或微调,调 节步进可变,步进的取值是经过多次的实际测试得出适当的值。在本系统中 取值为:当Q值>=570时,DATA为调整值,DATAT勺调节步进为30,即偏差 较大时需要对PWM波形输出的占空比做较大的调整才能达到迅速调节的目 的。当114<Q<570时,DATA调节步进为6,当实际值接近设定值时,应该适 当减小调整步进,以免调整过大造成系统工作波动太大。当57:Q乞114时,实际值逼近设定值,这时应对DATA进行小幅度调节,调

32、节步近为3。当0 : Q < 57时,实际值临近设定工作频率,控制器以微小的步进对DATA1行调节,步进值为最小值1。若Q=0则不对DATAa行调整。逐次逼近最终使系统工作稳定在设定值。由于系统工作负载是动态变化的,所以调节也是随着负载的变化动态调 节PWM波形输出。偏差值Q之所以那么大是因为Q是设定值跟实际值的差求 得,但是因为显示部分要对设定值和实际值进行除法运算,由于除法器支持 的是整数的运算,所以先把设定值和实际值放大100倍,然后进行处理才能分出十分位、百分位。由于频率计的记数闸门时间设定为0.25秒,闸门时间中记数值为NUM系统采用风扇来模拟,电子转过一圈产生脉冲个数 X=7

33、。 由此可以换算得出频率 F=4*NUM /X,即F=0.57NUM所以本系统的调节频 率为步进0.57HZ。若想更细分调节电机的工作频率范围,可以通过提高X的值来实现。本系统中X取值为7。图36 PID控制流程PID控制器进程的VHDL弋码:*PR0CESS(clk_1h z,power)-输出调整variable BB:std_logic_vector(9 dow nto 0):="0000111111"-调整值-初值为128BEGINIF POWER='0' THEN BB:="0000111111"-电机关时调整值发返回到初值EL

34、SIF clk_1hz'EVENT AND clk_1hz='1'THEN -当电机开时(即POWER=1-根据偏差做调整偏差为0if chazhi=0 then BB:=BB+0;-不进行调整elsif chazhi <=57 then-偏差值小于等于 57调整步进为1IF OUT仁'1'THEN BB:=BB-1; -OUT 为 1 表示实际值大于等于设定-反之为0IF BB<"0000100000" THEN BB:="0000100000" END IF;-调整值输出最小为64else BB:=

35、BB+1;IF BB>"1111011111" THEN BB:="1111011111" END IF;-调整值输出最大值限制在980end if;elsif chazhi <=114 and chazhi >57 the n- 偏差值大于57且小于等于114时调整步进为3if out1='1' the n BB:=BB-3;IF BB<"0000100000" THEN BB:="0000100000" END IF;else BB:=BB+3;IF BB>&quo

36、t;1111011111" THEN BB:="1111011111" END IF;end if;elsif chazhi <570 and chazhi>114 the n- 偏差值大于114且小于570时调整步进为6if out 仁'1' then bb:=bb-6;IF BB>"1111011111" THEN BB:="1111011111" END IF;else bb:=bb+6;IF BB>"1111011111" THEN BB:="11

37、11011111" END IF;end if;elsif chazhi >=570 the n-偏差值大于等于570时调整步进为30 (粗调)IF OUT仁'1' THEN BB:=BB-30;IF BB<"0000100000" THEN BB:="0000100000" END IF;else BB:=BB+30;IF BB>"1111011111" THEN BB:="1111011111" END IF;END IF;end if;end if;if bb =&

38、quot;1111011111" a nd shedi ng>pin then led_guozai<='0'-当调整值达到最大值且实际值小于-设定值时点亮过载指示灯else led_guozai<='1end if;Bv=BB;END PROCESS;3.5键盘输入模块本设计中总共有5个按件输入。分别设为keyl, key2, key3, key4, key5。其中keyl, key2, key3, key4为设定值输入键,分别为加 0.57,减0.57 ,力卩5.7,减5.7。key5为电机开关控制键。两个输入模块的程序设计有所不同,FP

39、GA对keyl, key2, key3, key4的识别为输入信号电平的判断,进程的始终信号为 1HZ通过检测时钟信号上升沿时输入信号的电平高低来做出反应,当按键 未按下时输入信号为高电平,时钟上升沿时参数设置条件不成立。当按键按 下时,输入信号为低电平,时钟信号上升沿时参数设置条件成立,设定值随 时钟上升沿到来而按一定步进加或减。对于key5的检测,是通过检测输入信号的边沿跳变来实现的,既然是检测边沿跳变,则需要加消抖电路滤除干 扰。当检测到输入信号的下降沿时,立即取反内部信号POWER当POWERS 1时 电机开,当POWE为0时,电机关,系统上电时初始化信号 POWE默 认为0,即电机关

40、状态。key1, key2, key3, key4控制进程代码如下:*process(CLK_ANJIAN) 按键变化的时间beg inif CLK_ANJIAN'eve nt andCLK_ANJIAN='1'the nif key仁'1' the n shed in g<=shed in g+57;elsif key2='1' the n shed in g<=shedi ng-57;elsif key3='1' the n shed in gv=shed in g+570; elsif key4='

41、;1' the n shedi ngv=shed in g-570; end if ;end if;end process;*key5控制进程代码如下:process(key5)beg inif key5'eve nt and key5='1' the npower<= not power;end if;end process;第四章核心器件及开发环境的介绍4.1 FPGA核心板的介绍在在本系统是基于 Altera 公司的Cyclone II 系列的EP2C5Q208C8 FPGA芯片12,该芯片内部有4608个逻辑单元,2个PLL, 5个18比特乘18

42、比特乘法器。核心板的外部输入的有源晶振为 50MHZ图4-1为EP2C5Q208C8 FPGA芯片的资源结构图。Altera在大获成功的第一代Cyclone系列的基础上,开发了 90nm低k 绝缘工艺,1.2V SRAM工艺设计,在300mm圆晶片上生产的Cylclone II FPGA Cylcl one II FPGA 具有很高的性能和极低的功耗,而价格和ASIC相当,能够提供多种功能,为价格敏感的应用工大批量产品解决方案。Cylclone II器 件是汽车、通信、消费类、视频处理、测试和测量以及其他终端市场解决方 案的理想选择。用户可以单独使用Cylclone II FPGA或者作为数字

43、信号处理(DSP协处理 器使用,提高DSP应用的性价比。Cylclone II期间含有经过优化的多种 DSP 特性,由altera 全面的DSP流程提供支持。Cylclone II DSP 支持包括: 18*18乘法器多大150个片内嵌入式存储器高达1.1MbitsDSP IP 核Math Work 的 Simulink 和 MATLAB 软件 DSP Builder 接口Cylclone II版DSP开发、套件Cylclone II器件提供了 4608到68416个逻辑单元,并具有一整套最佳 的功能,包括嵌入式18比特乘18比特乘法器、专用外部存储器接口电路、4Kbit嵌入式存储器块、锁相环

44、(PLL)和高速差分I/O能力Ftffiire 2-28. EP2C5 & EP2C8 I/O Banks Notes -爪i/0 8nk 2 Also Supports the SSTL-ieCssil.HS7L-18Oassitr&HSTL-l5Class Hl/D StandardsSjV Bank AtsoSupfiorts tSSTL-lACbssil.HS7L-l8Ciassii, AHSTL-15Class if .'.-O SlrnJaids图4 1 EP2C5Q208C8的资源结构图4.2四电压比较器LM339简介LM339集成块内部装有四个独立的电压

45、比较器13,该电压比较器的特点是:1)失调电压小,典型值为2mV 2)电源电压范围宽,单电源为2-36V,双电源电压为土 1V-± 18V; 3)对比较信号源的内阻限制较宽;4)共模范围 很大,为0 ( Ucc-1.5V) Vo; 5)差动输入电压范围较大,大到可以等于电源电压;6)输出端电位可灵活方便地选用LM339集成块采用C-14型封装,图4 2为外型及管脚排列图。由于LM339 使用灵活,应用广泛,所以世界上各大IC生产厂、公司竟相推出自己的四 比较器,如IR2339、ANI339、SF339等,它们的参数基本一致,可互换使用。GND网丽何而而m mLU LU LU LU L

46、AJ LU图4 2 LM339的外型及管脚排列图LM339类似于增益不可调的运算放大器。每个比较器有两个输入端和一 个输出端。两个输入端一个称为同相输入端,用“+”表示,另一个称为反相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固 定电压做参考电压(也称为门限电平,它可选择LM339俞入共模范围的任何一点),另一端加一个待比较的信号电压。当“ +”端电压高于“-”端时, 输出管截止,相当于输出端开路。当“-”端电压高于“ +”端时,输出管饱 和,相当于输出端接低电位。两个输入端电压差别大于10mV就能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测

47、等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极 管,在使用时输出端到正电源一般须接一只电阻 (称为上拉电阻,选3-15K) 选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截 止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器的输出端允许连接在一起使用。在本设计中,比较器的接法为单限比较器电 路,单限比较器的标准接法为下图:图4 3单限比较器的标准接法4.3开发环境 Quartus II 7.0 介绍Quartus II 7.014是 Altera 提供的 FPGA/CPL开发集成环境,Altera 是世界上最大的可编程逻辑期间供应商之

48、一。Quartus II 在21世纪初推出,是Altera 前一代FPGA/CPLD集成开发环境MAP+plusll的更新换代 产品,其界面友好,使用便捷。在 Quartus II上能完成整个基于VHDL等硬 件描述语言的至顶向下的设计流程,它提供一种与结构武官的设计环境,使 设计者能方便的进行输入、快速处理和器件编程。Altera的Quartus II提供完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC设计的综合性环境和SOPC开发的 基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合 环境。Quartus II设计工具完全支持 VHDL

49、,Verilog的设计流程,其内部嵌有VHDL Verilog 逻辑综合器。Quartus II也可以利用第三方的综合工具,女口 Leonardo Specturm、Sysplify Pro 、FPGA Complier II,并能直 接调用这些工具。同样,Quartus II具备仿真功能,同时也支持第三方的仿真工具,如Modelsim。此外,Quartus II 与 MATLAB和 DSP Builder 结合,可以进行 基于FPGA勺DSP系统开发,是DSP硬件系统实现的关键EDA工具。Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis&S

50、ysthesis )、适配器(Fitter )、装配器(Assembler)、时 序分析器(Timing Analyzer)、设计辅助模块(Design Assistant) 、EDA网表 文件生成器(EDA Netlist Writer )、编辑数据接口( Complier Darabase In terface )等。可以通过选择 Start Compliation 来运行所有的编译器模 块,也可以通过Start单独运行各个模块。还可以通过选择ComplierTool(Tools菜单),在Compiler Tool窗口中运行该模块来启动编译器模块。在Compiler Tool窗口中,可以打

51、开该模块的设置文件或报告文件,或打开 其他相关窗口。此外,Quartus II 还包括许多十分有用的LPM ( Library of Parameteriterized Modules )模块,它们是复杂或高级系统构件的重要组 成部分,也可在Quartus II中与普通设计文件一起使用,Altera 提供的 LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必 须使用宏功能模块才可以使用一些 Altera特定器件的硬件功能。例如各类 片上存储器、DSP模块、LVDS驱动器、PLL以及SERDES和DDIO 电路模块第五章系统调试5.1硬件电路的调试5.1.1 电源电路对系统

52、进行调试时,发现内部电路读不到电机转动发出的脉冲,在排除 电路设计错误及LM339芯片烧坏的情况下,怀疑是电源带来的干扰。用示波 器观察LM339的 第1脚输出电压波形(1脚输出即为反应电机转速的连续脉 冲)。发现输出的方波严重失真,波形受干扰很大,导致内部频率计读不到 输入脚的电平跳变。经分析认为是电源杂波干扰对 LM339芯片的干扰,解决 的办法是在LM339的电源脚接退藕电容,并连 470uf电解电容和瓷片电容 0.1 uf各一个。电路接上后,用示波器观察 LM339第 1脚输出电压,转动电 机得到频率随电机转速变化的漂亮干净的方波。另外,在测试系统工作状态时,发现电机转速在输出PWMf

53、e形占空比不变时,测量到的转速不稳定。而理论上当占空比不变的时候,输出的平均电 压是恒定的,电机的转速应稳定工作。经分析认为是电源电路不稳定造成电 压波动,供电机工作的电源与系统控制器电源共用同一电源,从而导致两电 源之间相互干扰。解决的办法是采用光电耦合器将 2个电路独立开来,用2 个独立的电源供电,互不干扰,通过光电偶合器来控制电机。电路改良后发 现消除了原来的干扰,系统稳定工作。5.1.2显示电路的调试数码管显示过亮,消耗导致系统消耗电流太大,会导致系统工作电源不 稳定,且数码管显示过亮从视觉上给操作用户带来不便。于是将接入到数码 管段码的限流电阻加大,将原来150Q的限流电阻改为470

54、Q,解决了以上 现象。5.2系统软件调试521消抖电路参数的调整本设计中2种不同的信号输入需要消抖,一是按键输入的消抖;另一个 是LM339第1脚输出信号接入到FPGA的I/O 口,该信号反映电机转速及其 变化。在没有经过消抖电路的按键输入,由于按键输入的机械抖动,输入得 到的信号抖动得很厉害很不稳定,不利于控制。对反映电机转速的消抖尤其 重要,消抖不当将会导致频率计得到的数据因为抖动的干扰而发生错误。测 量不到确定的频率值。消抖的参数取值不当将得到误差较大的频率值,只有 参数设定在一定的范围内频率计才能读到精确的频率值,具体参数设定请参考3.1节频率计的设计。按键输入的消抖参数则没那么严格,

55、参数通过变 化不同的参数值比较得出效果交好的数值。 具体可参考 消抖进程VHDL弋码 及其仿真波形。5.2.2 PWM波形参数的设计PWM勺参数主要有频率、占空比调节步进、响应速度等。这些参数的确定决定了本系统工作的性能。这也是本设计中主要研究的方向。高频率的PWM 波形输出,对电机工作的稳定性起着极其重要的作用,频率越高系统工作越 平稳。尤其应用在负载较重的系统中,高频率的 PWI波形能解决高负载系统 中由于PWM®率过低导致电机转动不平滑,波动等特点。由于FPGAM有响应速度快的特点,能满足系统对响应速度的要求。在调试电路的时候特地改 变输出占空比的频率并观察现象,发现,输出 P

56、WI频率低到一定频率时,随 着负载的加重,电机工作不稳定,高负载时电机转动时有振动、不平稳。当 提高输出频率时,该现象得到了解决。本系统PWM输出频率由图1 4中的比较值产生器输出的频率决定。系统的调节步进的大小将决定对电机调速的 步进率,当系统调节步进小时,就能实现对电机转速细微变化的调节。设计 中根据需要将系统的调节步进分为 1024份,每步进1调整的输出电压约等 于VCC/1024设VCC为加在电机2端的最大电压。系统将电压细分为 1024 份,大大提高了系统工作的稳定性,有利于系统工作逐次逼近设定的工作频 率并稳定工作。此优点可以体现在 PID控制器的调节上。523比较器的设计本系统中用到2个比较器电路,比较器1用于进行设定转速与实际转速 的比较。对于设定转速和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论