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

下载本文档

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

文档简介

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

2、heory bythe 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 carrying out PWM signals based on FPGA This PWM signals advatages base it ' s high frequency and duty cycle stepping fine adjustment.It offers

3、 a sort ofeficient method for the DC motor speedcontrolling system.Keyword: DC motor PWM Cymometer目录引言 1第一章:设计方案及系统分析 21.1 系统的实现及参数的要求 21.2 直流电机调速原理 21. 3 PWM®本原理设计方案 31.1.1 PWM基本原理 31.1.2 PWM波形的设计方案 41.4 系统的外围硬件及其与FPGA勺接口电路 51.5 系统的工作流程 6第二章、硬件设计 82.1、 电源模块的设计 82.2、 电机驱动模块 92.3、 电机转速测量模块 102.4

4、、 按键输入模块 112.5、 LED显示模块 12第三章、系统软件设计及分析 143.1、 频率计的设计 143.2、 数据显示的程序设计 163.3、 PW瞰形发生器的程序设计及分析 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 PW

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

6、如电力牵引、轧钢机、起重设备等。小容量的 直流电动机在制动控制系统中的应用也很广泛。本设计的课题为基于 FPGA的直流电机调速系统。 最常用的直流调速技术是 脉宽调制(PWM直流调速技 术,它具有调速精度高、响应速度快、调速范围宽和耗损低等特点。系统采用 PWMI节实现对电机的调速,采用红外发射接收对管采集电机转速。FPGAS统内部进程工作在并行的状态下,各子进程相互独立,输出的PWMfc形具有频率高,占空比调节步精密的特点。高频率的PW快形对直流电机工作的稳 定起着极其重要的作用,尤其在高负载的调速系统中体现的优越性极其明 显,频率越高电机运行越平稳。另外,对PWMt形输出占空比的调节步进细

7、 分的特点大大的扩大了调速系统的调速范围。本设计中主要研究FPGA产生PW快形的优越性并对其进行验证,并且针对FPGAS统进行等精度频率测量 的高精度性进行验证。第一章:设计方案及系统分析1.1系统的实现及参数的要求本系统是基于FPGA勺直流电机闭环控制系统。要求系统能用按键设定 电机的工作转速,并在系统工作时可以通过外部设定改变电机的转速。当电 机的负载变化时,系统通过检测电机转速的变化对电机的转速进行 PID调节, 迅速调整电机的转速稳定工作在设定的工作频率。要求系统工作稳定在设定 值偏差1HZ范围内。1.2直流电机调速原理根据励磁方式不同,直流电机分为自励和他励两种类型。不同励磁方式 的

8、直流电机机械特性曲线有所不同。对于直流电机来说,人为机械特性方程式为1 n 4 -Rt no n (1.1) Ke n K eK t n式中:Un、n0 额定电驱电压、额定磁通量Ke、Kt 与电机有关的常数Rad、Ra 电机外加电阻、电机内阻n0、 n 理想空载转速、转速降分析(1.1)式可得.当分别改变Un、 3DRa时,可以得到不同的转速n, 从而实现对速度的调节。由于f(i f)当改变励磁电流I f时,可以改变磁通量的大小,从而达到变磁通调速的目的。但由于励磁线圈发热和电动机 磁饱和的限制,电动机的励磁电流if If和磁通量 只能在低于其额定值的 范围内调节,故只能弱磁调速。而对于调节电

9、枢外加电阻R寸,会使机械特性变软,导致电机带负载能力减弱。对于他励直流电机来说,当改变电枢电压 UnM,分析人为机械特性方程 式,得到人为特性曲线如图ii所示。理想空载转速n0随电枢电压升降而 发生相应的升降变化。不同电枢电压的机械特性曲线相互平行,说明硬度不 随电枢电压的变化而改变,电机带负载能力恒定。当我们平滑调节他励直流 电机电枢两端电压时,可实现电机的无级调速。基于以上特性,改变电枢电压,实现对直流电机速度调节的方法被广泛 采用。改变电枢电压可通过多种途径实现,如晶闸管供电速度控制系统、大 功率晶体管速度控制系统、直流发电机供电速度控制系统及晶体管直流脉宽 调速系统等。1. 3 PW糜

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

11、通电源时,电机转速最大为Vmax ,设占空比为D t1 , 则电机的平均速度为2Vd V max.D 式中,V d 电机的平均速度;、/ max 电机全通电时的最大速度。 maxD ,占空比。T%冲信片图1 2电驱电压“占空比”与平均电压关系图1.1.2 PWM波形的设计方案如果采用cp板制产生PWM号,一般的PWM号是通过模拟比较器产生 的,比较器的一端接给定的参考电压,另一端接周期线形增加的锯齿波电压o 当锯齿波电压小于参考电压时输出低电平, 当锯齿波电压输出电压大于参考 电压时输出高电平。改变参考电压就可以改变 PWM形中高电平的宽度。若 用单片机产生PWM形信号,需要通过D/A转换器产

12、生锯齿波电压和设置参考 电压,通过外接模拟器输出PWM形,因此外围电路比较复杂。FPGA中的数字PWDt制与一月的模拟PWM制不同。用FPG庶生PWM形, 只需要FPGAJ部资源就可以实现。用数字比较器代替模拟比较器,数字比较 器的一端接设定值计数器输出,另一端接线性递增计数器输出。当线性计数 器的计数值小于设定值时输出低电平,当计数值大于设定值时输出高电平。 与模拟控制相比,省去了外接D/A转换器和模拟比较器的,FPGAJ部连线很 少、电路更加简单、便于控制。脉宽调制细分驱动电路的关键是脉宽调制, 转速的波动随着PWM宽细分数的增大而减小。针对FPG的优越性,本设计采用了 Altera 公司

13、的EP2c5Q208C8 FPGA 3 一3片作为系统的核心控制器件,设计基于 FPG的直流电机闭环控制系统。1.4 系统的外围硬件及其与 FPGA勺接口电路硬件系统由FPGAK心学习板模块、显示模块、按键输入模块、电机测速模块、直流电机驱动模块组成,如图 1 3图1 3系统硬件框架图1.5 系统的工作流程基于FPGA勺直流电机闭环控制系统的系统工作流程框图如图1 4设定频率值显示模块偏差值按键1+0.57按键2-0.57按键3+5.7设定电机转速比较器1比较值 A(PID 控制)按键4-5.7实际转速转换为转速值实际转速显示模 块频率计比较值B产生器 (PWM周期调节器)直流电 机光电传感器

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

15、PW极形接到电机开关控制器,电机控制器的输出由输入按键 5控制。开关控制器开时输出 PWMS形到H型驱动电路驱动电机工作。第二章、硬件设计2.1、 电源模块的设计本系统的电源设计采用2个独立电源供电,核心控制部分采用5V, 3.3V 供电,先输出5V电压满足部分外围硬件工作电压,再将 5V电压转为3.3V 稳压输出满足FPG碌统工作电压。H型电机驱动电路采用15V电压供电。两 电源的接口通讯部分采用光电偶合器 PC817实现。电源原理图如图214 , 图21中两电源不共地,IN1, IN2分别为隔离变压器输入的交流电压,经 过整流二级管整流后输出直流电压,经4700u的滤波电容后得到平稳的直流

16、电压,最后经过三端集成稳压器后在 OUT1和OUT汾别输出+5V和+15V的 直流电压。0.1u的瓷片电容的作用是滤除电源高频成分,滤除直流电源对电子系统的影响。U1+5VOUT1图21电源设计原理图2.2、 电机驱动模块 一 5电机驱动米用H型乔氏驱动电路,该电路可通过PWM控制电机转速和控制电机方向。电路图如图22:电路与FPGAI/O接口部分采用光偶隔离,通过控制光电偶合器U1 , U2的红外发光二级管的亮与灭来控制控制U1 , U2的导通与截止。如下图:当A、B的电平分别为1和。时,UI, QI, Q3截止,U2, Q2, Q4导通,电流方向为:15V2kM 1 kM 24地,电机正转

17、;若A、B的输出电平分别为。和1时,UI, QI, Q3导通,U2, Q2, Q4截止,电流方向为:1 5 V 飞12Q 3地,电机反转。2.3、 电机转速测量模块由于在本系统设计中用由无刷直流电机组成的风扇来模拟,所以检测电机转速是通过在风扇的扇叶的两端分别装上一个红外线发射二级管和一个 红外线接收管6 o硬件电路如图23。工作流程为:当扇叶挡住红外发射对管时,接收管Q截止,由LM33/勾成的比较器的5脚正端输入得到的是 接近5V的高电平。假设比较器的负 端输入电压为3.8V,则比较器输出端IO输出高电平。反之,当红外收发对 管没有被煽叶挡住的时候,接受管接受到 DS发出的光而导通,在导通的

18、情 况下,比较器5脚的正端输入电压被拉低到 0.3左右,比4脚的3.8V电压 低,从而使LM339的输出端2脚输出低电平。由此可知,当电机转动的时候, 通过红外收发对管结合LM339够成的比较器电路,在比较器输出端 IO得到 周期随电机转速的变化而变化的方波,通过FPGArt部的频率计检测该波形可以转换准确的求出电机的转速。这样就完成了速度的采集部分。另外在设 计电路的时候,LM339的电源两端并联1个100u的电解电容和一个0.1u的 瓷片电容做为退偶电容,可以消除电源纹波的干扰使电路处于最佳工作状 态。还有一点要说明的是,由于 EP2c5的高电平为3.3V所以为了得到高电 平为3.3V的方

19、波,必需在LM339比较器的卒出端接3.3V的上拉电阻,调试 电路的时候必须用示波器观察比较器输出的波形混有杂波,通过加大滤波电容等办法将杂波滤除,从而消除了干扰得到准备的测量值。图23 LM339比较器模块(测速模块)2.4、 按键输入模块采用轻触键实现与 FPGA的接口 7。如图2 4 , key1,key2,key3,key4,key5 分别与FPGAK心板引出的IO 口连接,由于接上 了上拉电阻,所以当按键未按下时在FPGA±呈现的是高电平,当按键按下时,按键的两端导通接到地,在 FPG硼口上呈现低电平。FPGA!过检测输 入端口的跳变或输入端口的电平状态来对内部信号进行调整

20、。OO图24按键接口电路2.5、 LED显示模块显示采用2片4位一体共阴极8段数码管显示8, 一片用来显示设定的 转速,;另一片用于显示实际采集到的电机的转速。电路如图25,显示采用动态扫描方式实现,数码管的段码并联经过一线流电阻直接接到FPGA勺IO 口,位选端经过小功率NPNE级管8050实现扫描开关控制。R1R8J 150欧姆的限流电阻,R9R1M 4.7K,用与保持三级管基极电压。当 P2输出的位选信号为低电平时,三极管截止,数码管熄灭。当P2输出信号为高电平时,三极管导通,位选接地,数码管点亮。数码管扫描显示就是依次单个选 通8个位选端,快速的循环显示。动态扫描不仅节约IO 口,而且

21、减少了电源的负载。P1, P2分别接FPG限心板弓I出的IO 口。图25 LED显示模块电路.专业整理.clk电机的转速F=N*4/7转/秒。在频率检测电路中,对脉冲输入检测的消抖卜面结合消抖进程的仿真波形和 VHDL代码简单介绍消抖电路的工作原理和参数的设计9。RTL视图:CLR第三章、系统软件设计及分析3.1、频率计的设计对电机转速的测量是通过对LM339俞出的脉冲个数在一定闸门时间进行记数。通过对记数值的转换来得到电机的转速。由于风扇有的转轴有7片煽叶,所以电机转过一圈产生 7个脉冲个数。在本设计中,闸门时间为0.25秒。假设在0.25秒的闸门时间内共检测到 N个脉冲,则可以通过计算得出

22、x图3-1消抖电路RTL视图 仿真波形:图3-2仿真波形图 .学习帮手.dinydout0PRED QENA里 dout电路极其重要消抖进程的时钟参数的设计直接影响到最后频率计得出的频PRED Q>ENACLR.专业整理.消抖进程VHDL代码:library ieee;use ieee.std_logic_1164.all;entity doudong isport(din,clk:in std_logic;dout:out std_logic);end doudong;architecture beha of doudong issignal x,y:std_logic;beginpr

23、ocess(clk)beginif clk'event and clk='1' thenx<=din;y<=x;end if;dout<=x and (not y);end process;end beha;从RTL视图中可知,该电路是由2个D触发器构成的RS触发器。进程 中CLK为消抖时钟,din为IO 口电平输入,dout为输出信号。CLK的时间 周期的设计直接影响频率计计数的准确行。 从仿真波形可以设计出CLK的周 期应为:T<Tclk<Tmin, Tclk为CLK的时钟周期,T为干扰信号的周期,Tmin为电机达到最大速度时检测到波形

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

25、假设乘以100后得到的数为M (即为图33中的a),则对M先除以1000(即为下图中的b), 得到的商y和余数rest。Y为十位的数值,rest为M求余100得到的值。接 着对rest除以100即可即可得到个位的位数和余数, 即为循环上述的过程, 整个显示模块总共调用了 3个除法器10。div ider>' a14.0y14.0 Kb14.0rest14.0 T<inst图33除法器电路除法器VHDL弋码如下:library ieee;use ieee.std_logic_1164.all;entity divider isgeneric (n:integer :=14);

26、port(a,b:in integer range 0 to 32767;y: out std_logic_vector(14 downto 0);rest: out integer range 0 to 32767 );end divider;architecture rt1 of divider isbeginprocess(a,b)variable temp1:integer range 0 to 32767;variable temp2:integer range 0 to 32767;begintemp1:=a;temp2:=b;for i in n downto 0 loopif

27、(temp1>=temp2*2*i) theny(i)v='1'temp1:=temp1-temp2*2*i;else y(i)<='0'end if ;end loop;rest<= tempi; end process; end rtl;3.3、 PW眼形发生器的程序设计及分析PWMK形发生器,如图34: PWMJ产生是从比较器的输出得到的,通 过改变比较器的输入来达到输出周期一定占空比可调的方波。设计思路为 dataa从0到1024步进加1 一直循环,循环的周期即为最终输出的方波的周 期。Dataa的值从0一直加1加到1024后跳变回到0

28、,从模拟的角度考虑问 题,可以把dataa看成是周期一定的锯齿波。通过PID控制器计算,根据反 馈的值调整datab对比较器的输入,从而达到改变输出PWM空比的目的。datab在系统内部定义为标准逻辑类型 signal:datab std_logic_vector(9 downto 0); 转换成10进制其最大值为1024,但是由于PID控制器的原因, datab的取值在转换成10进制后只能在30-994的范围内。若超出范围,则 在调整 datab 时 执行 datab<=dadab+30 或 datab<=data-30 语句时,datab 的值益出跳出最大值或最小值,导致输出占

29、空比突然跳变,影响系统的稳定 性。COMPAREunsigned comparedataa9.0_agb -Kdatab9.0inst图3-4比较器电路(PW快形发生器)3.4、 PID控制模块根据测量到的实际转速(假设为 M)结合设定的”速(假设为N),对数 据进行分析,采用PID控制算法对决定转速大小的占空比输出进行调整。控 制框图如图35:控制模块包括一个比较器和一个比较值发生器(即为占 空比调整器)。比较值发生器结合偏差来调整输出比较值DATA偏差Q二|M- N|,比较器输出为OUT当实际值设定值时OUT=1;当实际值 设 定值时比较器输出OUT=0即当OUT=1 时,Q=M-N,当

30、OUT=09 Q=N-M 。图3 5 PID控制框图比较器VHDL弋码如下:library ieee;use ieee.std_logic_1164.all;entity bijiaoqi isport(M , N : integer range 0 to 9999;outp:out std_logic);end bijiaoqi ;architecture one of bijiao qi isbegin process(M , N) beginif M>N then outp<='1'else outp<='0'end if;end pro

31、cess;end one ;、一 一 11 一一 、.、一一一 ,一、一.PID调节器 程序设计流程图如图36,当实际值大于设定值时,PID 控制器应该做出反应,相应减小占空比输出。当实际值小于设定值时,应增 加占空比出。PID控制器根据实际采样跟设定的偏差值 Q的不同做出不同的 调节,控制器根据Q所落在数据的范围对输出的比较值进行粗调或微调,调 节步进可变,步进的取值是经过多次的实际测试得出适当的值。在本系统中 取值为:当Q值>=570时,DATA的调整值,DATAT勺调节步进为30,即偏差 较大时需要对PWMK形输出的占空比做较大的调整才能达到迅速调节的目 的。当114<Q&l

32、t;570寸,DATAM节步进为6,当实际值接近设定值时,应该适 当减小调整步进,以免调整过大造成系统工作波动太大。当 57 Q 114时, 实际值逼近设定值,这时应对DATA进行小幅度调节,调节步近为3。当0 Q 57时,实际值临近设定工作频率,控制器以微小的步进对DATA1行 调节,步进值为最小值1。若Q=0则不对DATA1行调整。逐次逼近最终使 系统工作稳定在设定值。由于系统工作负载是动态变化的,所以调节也是随着负载的变化动态调 节PW破形输出。偏差值Q之所以那么大是因为Q是设定值跟实际值的差求 得,但是因为显示部分要对设定值和实际值进行除法运算,由于除法器支持 的是整数的运算,所以先把

33、设定值和实际值放大 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_logic_vector(9 downto 0):="000011

34、1111"-调整值-初值为128BEGINIF POWER='0' THEN BB:="0000111111”;-电机关时调整值发返回到初值ELSIF clk_1hz'EVENT AND clk_1hz='1'THEN 当电机开时(即POWER=1根据偏差做调整偏差为0if chazhi=0 then BB:=BB+0;-不进行调整elsif chazhi <=57 then -偏差值/、于等于 57调整步进为1IF OUT1='1'THEN BB:=BB-1; -OUT 为 1 表示实际值大于等于设定-反之为0

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

36、0" THEN BB:="0000100000”; END IF;else BB:=BB+3;IF BB>"1111011111" THEN BB:="1111011111”; END IF;end if;elsif chazhi <570 and chazhi>114 then-偏差值大于114且小于570时调整步进为6if out1='1' then bb:=bb-6;IF BB>"1111011111" THEN BB:="1111011111”; END IF;els

37、e bb:=bb+6;IF BB>"1111011111" THEN BB:="1111011111”; END IF;end if;elsif chazhi >=570 then-偏差值大于等于570时调整步进为30(粗调)IF OUT1='1' THEN BB:=BB-30;IF BB<"0000100000" THEN BB:="0000100000”; END IF;else BB:=BB+30;IF BB>"1111011111" THEN BB:="11

38、11011111”; END IF;END IF;end if;end if;if bb ="1111011111" and sheding>pin then led_guozai<='0'-当调整值达到最大值且实际值小于-设定值时点亮过载指示灯else led_guozai<='1' ;end if;B<=BB;END PROCESS;3.5键盘输入模块本设计中总共有5个按件输入。分别设为keyl, key2, key3, key4, key5。其中key1, key2, key3, key4为设定值输入键,分别为加

39、 0.57 ,减0.57 ,力口 5.7 ,减 5.7。key5 为电机开关控制键。两个输入模块的程序设计有所不同,FPGA寸key1, key2, key3, key4的识别为输入信号电平的判断,进程的始终信号为 1H乙通过检测时钟信号上升沿时输入信号的电平高低来做出反应,当按键 未按下时输入信号为高电平,时钟上升沿时参数设置条件不成立。当按键按 下时,输入信号为低电平,时钟信号上升沿时参数设置条件成立,设定值随 时钟上升沿到来而按一定步进加或减。对于key5的检测,是通过检测输入信号的边沿跳变来实现的,既然是检测边沿跳变,则需要加消抖电路滤除干 扰。当检测到输入信号的下降沿时,立即取反内部

40、信号POWER当POWER; 1时 电机开,当POWER 0时,电机关,系统上电时初始化信号POWERS认为0 ,即电机关状态。keyl, key2, key3, key4控制进程代码如下:-* process(CLK_ANJIAN) 按键变化的时间 beginif CLK_ANJIAN'event and CLK_ANJIAN='1' thenif key1='1' then sheding<=sheding+57 ;elsif key2='1' then sheding<=sheding-57;elsif key3=

41、9;1' then sheding<=sheding+570;elsif key4='1' then sheding<=sheding-570;end if ;end if;end process;-*key5控制进程代码如下:process(key5)beginif key5'event and key5='1' thenpower<= not power;end if;end process;.学习帮手.专业整理.第四章.核心器件及开发环境的介绍4.1 FPGA核心板的介绍在在本系统是基于 Altera 公司的Cyclone

42、 II 系列的EP2c5Q208C8 FPGA5片12,该芯片内部有4608个逻辑单元,2个PLL, 5个18比特乘18 比特乘法器。核心板的外部输入的有源晶振为 50MHz图4-1为EP2c5Q208C8 FPGA5片的资源结构图。Altera在大获成功的第一代Cyclone系列的基础上,开发了 90nm低k 绝缘工艺,1.2V SRAME艺设计,在300mm圆晶片上生产的Cylclone II FPGA Cylclone II FPGA 具有很高的性能和极低的功耗,而价格和ASIC相当,能够提供多种功能,为价格敏感的应用工大批量产品解决方案。Cylclone II器 件是汽车、通信、消费类

43、、视频处理、测试和测量以及其他终端市场解决方 案的理想选择。用户可以单独使用Cylclone II FPGA或者作为数字信号处理(DSP协处理 器使用,提高DSP应用的性价比。Cylclone II期间含有经过优化的多种 DSP 特性,由altera 全面的DS骑程提供支持。Cylclone II DSP支持包括:18*18乘法器多大150个片内嵌入式存储器高达1.1MbitsDSP IP 核Math Work 的 Simulink 和 MATLA颤件 DSP Builder 接口 Cylclone II 版 DSPFF发、套件.学习帮手.专业整理.Atto Suflpats tfa VPU6

44、PC(-K ft? Sidrjtdn监/74中MG ti<tSSTL-tSChal!. HSJl"比蜡s" HSTi仆 Cjs til/Q Sfan而出”*? Rtfik 4阂 Sdr4 4/7,h 占u"因jCi irsSSTL-fSClAH.村571“$ 口ass" cje;力的 国即m僖Cylclone II 器件提供了 4608到68416个逻辑单元,并具有一整套最 佳的功能,包括嵌入式18比特乘18比特乘法器、专用外部存储器接口电路、 4Kbit嵌入式存储器块、锁相环(PLD和高速差分I/O能力。日啊0 2-28. EPZG5 &

45、 mC8 IfO Banks Ng % 喷&求3? fad 山pptr"与 If/e3.3 V PCS &Kt-)( WO SbMdJ 图图4 1 EP2c5Q208C8的资源结构图4.2 四电压比较器LM339简介LM33叫成块内部装有四个独立的电压比较器13 ,该电压比较器的特点 是:1)失调电压小,典型值为2mV 2)电源电压范围宽,单电源为2-36V, 双电源电压为± 1V-±18V; 3)对比较信号源的内阻限制较宽;4)共模范围 很大,为0 (Ucc-1.5V) Vo; 5)差动输入电压范围较大,大到可以等于电 源电压;6)输出端电位可灵

46、活方便地选用。LM3391成块采用C-14型封装,图4 2为外型及管脚排列图。由于LM339 使用灵活,应用广泛,所以世界上各大IC生产厂、公司竞相推出自己的四 比较器,如IR2339、ANI339、SF339等,它们的参数基本一致,可互换使用。rm rm m Rii Fioi m ri之凶囱in in+Vcc图4-2 LM339的外型及管脚排列图LM33然似于增益不可调的运算放大器。每个比较器有两个输入端和一 个输出端。两个输入端一个称为同相输入端,用“ +”表示,另一个称为反 相输入端,用“-”表示。用作比较两个电压时,任意一个输入端加一个固 定电压做参考电压(也称为门限电平,它可选择LM

47、339输入共模范围的任何一点),另一端加一个待比较的信号电压。当“+”端电压高于“-”端时,输出管截止,相当于输出端开路。当“-”端电压高于“ +”端时,输出管饱 和,相当于输出端接低电位。两个输入端电压差别大于10mVft能确保输出能从一种状态可靠地转换到另一种状态,因此,把LM339用在弱信号检测等场合是比较理想的。LM339的输出端相当于一只不接集电极电阻的晶体三极管,在使用时输出端到正电源一般须接一只电阻 (称为上拉电阻,选3-15K) 选不同阻值的上拉电阻会影响输出端高电位的值。因为当输出晶体三极管截 止时,它的集电极电压基本上取决于上拉电阻与负载的值。另外,各比较器 的输出端允许连

48、接在一起使用。在本设计中,比较器的接法为单限比较器电 路,单限比较器的标准接法为下图:图43单限比较器的标准接法4.3 开发环境 Quartus II 7.0 介绍Quartus II 7.014 是 Altera 提供的 FPGA/CPLDFF发集成环境,Altera是世界上最大的可编程逻辑期间供应商之一。Quartus II 在21世纪初推出,是Altera 前一代FPGA/CPLD集成开发环境MAP+plusII的更新换代 产品,其界面友好,使用便捷。在 Quartus II上能完成整个基于VHD邙硬 件描述语言的至顶向下的设计流程,它提供一种与结构武官的设计环境,使 设计者能方便的进行

49、输入、快速处理和器件编程。Altera的Quartus II提供完整的多平台设计环境,能满足各种特定设计的需要,也是单芯片可编程系统(SOPC设计的综合性环境和SOPC开发的 基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合 环境。Quartus II 设计工具完全支持 VHDL,Verilog的设计流程,其内部嵌有VHDL Verilog 逻辑综合器。Quartus II也可以利用第三方的综合工 具,如 Leonardo Specturm、Sysplify Pro 、FPGA Complie3,并能直 接调用这些工具。同样,Quartus II具备仿真功能,同时也支

50、持第三方的仿真工具,如Modelsim。此外,Quartus II 与 MATLAEf口 DSP Builder 结合,可以进行 基于FPGA勺DSP系统开发,是DSP®件系统实现的关键EDAX具。Quartus II包括模块化的编译器。编译器包括的功能模块有分析/综合器(Analysis&Systhesis )、适配器(Fitter )、装配器(Assembler)、时 序分析器(Timing Analyzer)、设计辅助模块(Design Assistant) 、EDA网表 文件生成器(EDA Netlist Writer )、编辑数据接口( Complier Darab

51、ase Interface )等。可以通过选择 Start Compliation 来运行所有的编译器模 块,也可以通过 Start单独运行各个模块。还可以通过选择ComplierTool(Tools菜单),在Compiler Tool窗口中运行该模块来启动编译器模块。 在Compiler Tool窗口中,可以打开该模块的设置文件或报告文件,或打开 其他相关窗口。此外,Quartus II 还包括许多十分有用的LPM ( Library of Parameteriterized Modules )模块,它们是复杂或高级系统构件的重要组 成部分,也可在Quartus II中与普通设计文件一起使用

52、,Altera 提供的 LPM函数均基于Altera器件的结构做了优化设计。在许多实用情况中,必 须使用宏功能模块才可以使用一些 Altera特定器件的硬件功能。例如各类 片上存储器、DSP®块、LVDS5区动器、PLL以及SERDES和DDIO 电路模块.学习帮手.第五章系统调试5.1 硬件电路的调试5.1.1 电源电路对系统进行调试时,发现内部电路读不到电机转动发出的脉冲,在排除 电路设计错误及LM339芯片烧坏的情况下,怀疑是电源带来的干扰。用示波 器观察LM339的 第1脚输出电压波形(1脚输出即为反应电机转速的连续脉 冲)。发现输出的方波严重失真,波形受干扰很大,导致内部频

53、率计读不到 输入脚的电平跳变。经分析认为是电源杂波干扰对 LM339芯片的干扰,解决 的办法是在LM339的电源脚接退藕电容,并连 470uf电解电容和瓷片电容 0.1 uf各一个。电路接上后,用示波器观察 LM339H 1脚输出电压,转动电 机得到频率随电机转速变化的漂亮干净的方波。另外,在测试系统工作状态时,发现电机转速在输出PW峨形占空比不变时,测量到的转速不稳定。而理论上当占空比不变的时候,输出的平均电 压是恒定的,电机的转速应稳定工作。经分析认为是电源电路不稳定造成电 压波动,供电机工作的电源与系统控制器电源共用同一电源,从而导致两电 源之间相互干扰。解决的办法是采用光电耦合器将2个

54、电路独立开来,用2个独立的电源供电,互不干扰,通过光电偶合器来控制电机。电路改良后发 现消除了原来的干扰,系统稳定工作。5.1.2 显示电路的调试数码管显示过亮,消耗导致系统消耗电流太大,会导致系统工作电源不 稳定,且数码管显示过亮从视觉上给操作用户带来不便。于是将接入到数码 管段码的限流电阻加大,将原来150Q的限流电阻改为470Q ,解决了以上 现象。5.2 系统软件调试5.2.1 消抖电路参数的调整本设计中2种不同的信号输入需要消抖,一是按键输入的消抖;另一个 是LM339第1脚输出信号接入到FPGA勺I/O 口,该信号反映电机转速及其 变化。在没有经过消抖电路的按键输入,由于按键输入的

55、机械抖动,输入得 到的信号抖动得很厉害很不稳定,不利于控制。对反映电机转速的消抖尤其 重要,消抖不当将会导致频率计得到的数据因为抖动的干扰而发生错误。测 量不到确定的频率值。消抖的参数取值不当将得到误差较大的频率值,只有 参数设定在一定的范围内频率计才能读到精确的频率值,具体参数设定请参考3.1节频率计的设计。按键输入的消抖参数则没那么严格,参数通过变 化不同的参数值比较得出效果交好的数值。 具体可参考 消抖进程VHDL弋码 及其仿真波形。5.2.2 PWM波形参数的设计PWM勺参数主要有频率、占空比调节步进、响应速度等。这些参数的确 定决定了本系统工作的性能。这也是本设计中主要研究的方向。高

56、频率的PWM 波形输出,对电机工作的稳定性起着极其重要的作用,频率越高系统工作越 平稳。尤其应用在负载较重的系统中,高频率的PWMft形能解决高负载系统中由于PW颈率过低导致电机转动不平滑,波动等特点。由于FPGAR有响应速度快的特点,能满足系统对响应速度的要求。在调试电路的时候特地改 变输出占空比的频率并观察现象,发现,输出PW哪率低到一定频率时,随着负载的加重,电机工作不稳定,高负载时电机转动时有振动、不平稳。当 提高输出频率时,该现象得到了解决。本系统 PW喻出频率由图14中的 比较值产生器输出的频率决定。系统的调节步进的大小将决定对电机调速的 步进率,当系统调节步进小时,就能实现对电机转速细微变化的调节。设计 中根据需要将系统的调节步进分为 1024份,每步进1调整的输出电压约等 于VCC/1024设VCC为加在电机2端的最大电压。系统将电压细分为 1024 份,大大提高了系统工作的稳定性,有利于系统工作逐次逼近设定的工作频 率并稳定工作。此优点可以体现在 PID控制器的调节上。5.2.3 比较器的设计本系统中用到2个比较器电路,比较器1用于进行设定转速与实际转速 的比较。对于设定转速和实际转速的比较,要求比较器比较的类型为整形, 所以通过VHDL弋码设计1个对整数进行比较的比较器电路。 要求代码简洁, 使用并行的结

温馨提示

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

评论

0/150

提交评论