直流电机控制设计_第1页
直流电机控制设计_第2页
直流电机控制设计_第3页
直流电机控制设计_第4页
直流电机控制设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、河南科技大学课 程 设 计 说 明 书课程名称 现代电子系统课程设计 题 目 直流电机控制设计 学 院 电子信息工程学院 班 级 电子信息科学与技术062班 学生姓名 * 指导教师 齐晶晶,张雷鸣 日 期2010年1月10号摘 要使用直流电源的电机叫做直流电机。只要把直流电机的端子接到直流电源上就可以简单使其运转。直流电机是一种具有优良控制特性的电机。因此,在角位移控制和速度控制的伺服系统中有着广泛的应用。为了调整直流电机的转速和输出转矩,可以采用改变电枢直流电压的方法来实现,主要的控制方法有线性控制方式和PWM(脉宽调制)控制方式。一般小功率电机平滑转速控制常采用线性控制方式,而大功率电机高

2、效控制时,则常使用PWM控制方式。本文介绍的是利用FPGA实现PWM脉宽调制信号的产生和相应的用数字电路的方法实现的换档、正反向控制等。直流电机的转动速度调节则归结于对驱动脉宽的占空比的调节上,通过调节占空比而改变单位时间内直流电机的通电时间长短,即改变了电机的转速。转动方向可用功率放大电路和H桥组成的正反向功率驱动电路来实现直流电机控制电路主要由五部分组成:l PWM脉宽调制信号产生电路:主要功能是产生pwm信号,并控制转速。l FPGA中正/反转方向控制:用2选1数据选择器控制电机的pwm信号的输入端,从而实现正反转。l 由功率放大电路和H桥组成的正反转功率驱动电路:l 分频和去抖电路模块

3、:通过两个维持阻塞D触发器实现消抖。l 测量转速模块:通过红外线测量电机每转一周产生的脉冲实现转速测量。关键词:速度调节、旋转方向控制、去抖动电路、数字显示转速、PWM、占空比、FPGA1. 任务解析2二. 系统方案论证2 2.1总体方案与比较论证3 2.2系统原理与结构3 三. 电机正反转模块设计.43.1设计方案论证.43.2方案的实现.4四PWM脉宽信号产生模块设计54.1锯齿波的产生.54.2参考电压选择电路.64.3通过比较器产生PWM波形.74.4 PWM波形发生器的搭接及仿真.8五. 实际转速测量模块95.1设计方案及实现.9六. 总结.16 七. 参考文献:.16一任务解析利用

4、PWM控制技术实现直流电机的速度控制。(1)速度调节:4档,直流电机的速度是靠调节PWM信号的占空比来调节的,建一个PWM模块来调节电机的转速。(2)电机的旋转方向控制:电机的旋转方向可以用二选一数据选择器来控制正反转。(3)通过红外光电电路测得电机的转速,设计频率计用4位10进制显示电机的转速。PWM模块22MUX频率计去抖电路电机速度控制模块1HZGND电机方向控制电机转速脉冲信号参考频率PWM参考频率电机转速显示电机转速预置1HZ1HZ档位直流电机控制原理框图二系统方案论证2.1 总体方案与比较论证方案一:采用单片机产生pwm波形进而实现电路控制如果采用CPU控制产生PWM信号,一般的P

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

6、比,省去了外接的D/A转换器和模拟比较器,FPGA外部连线很少、电路更加简单、便于控制。脉宽调制式细分驱动电路的关键式脉宽调制,转速的波动随着PWM脉宽细分的增大而减小。我们最终选择第二种,用FPGA实现PWM控制,无需外接D/A转换器,使外围控制电路大大简化,控制方式简洁。控制精度高,控制效果好。用单片机和DSP的控制都难以达到同样的控制效果2.2系统原理与结构2.2.1系统结构FPGA直流电机驱动控制电路原理图 设定值计数器设置PWM信号的占空比。当U/D=1时,输入CLK2,使设定计数器的输出值增加,PWM的占空比增加,电机转速加快; 当U/D=0时,输入CLK2,是设定的计数器输出值减

7、小,PWM的占空比减小,电机转速变慢。在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出低电平;当计数值大于设定值时,数字比较器输出高电平,由此产生周期性的PWM波形。旋转方向控制电路控制直流电机转向和启/停,该电路由两个2选1多路选择器组成,Z/F键控制选择PWM波形从正端Z进入H桥,以控制电机的旋转方向。START键通过“与”门控制PWM的输出,实现对电机的工作/停止控制。H桥电路由大功率晶体管组成,PWM波形通过方向控制电路送到H桥,经功率放大以后驱动电机转动。3. 电机正反转模块设计 3.1设计方案论证正反转方向的选择究其根本就是选通问题:

8、当把PWM信号选通到正转的H桥输入端时,电机正转(但同时要保证反转输入端接入低电平);反之亦然。在数字电路设计中,进行选通设计用到最多的是二选一数据选择器。把PWM信号接到两个二选一选择器的互逆的端口上,就可以保证一次只有一个H桥端口有PWM信号输入;另一对互逆的端口上接低电平,则又保证了不工作的H桥端口始终为低电平。3.2方案实现及仿真正反转选择电路的搭接如下图所示:该电路的波形仿真如下图: 结果分析:由图所示,当Z_F=1时选通F,Z_F=0时选通Z。四、 PWM脉宽调制信号产生模块设计4.1锯齿波的产生由于采用数字电路产生锯齿波,其实质相当于对一个已知的锯齿波进行细分并对每一个细分出来的

9、电压值进行二进制数值编码。本设计采用对锯齿波进行16细分的方法,即要对每个细分值进行四位二进制数编码:从0000到1111,代表锯齿波从0V到峰值之间的电压值(显然,若进行更高分辨率的细分则能更精确的表示出锯齿波)。以下是锯齿波发生器的实现模块及其相应的VHDL源代码: LIBRARY IEEE; - 4进制计数器USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT5 IS PORT ( CLK : IN STD_LOGIC; AA : OUT STD_LOGIC_VECTOR(4 DOWNTO 1);EN

10、D CNT5;ARCHITECTURE behav OF CNT5 IS SIGNAL CQI : STD_LOGIC_VECTOR(4 DOWNTO 0);BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1 then CQI = CQI + 1; END IF; END PROCESS; AA D D D D NULL ; END CASE ; END PROCESS ; PROCESS(CLK) BEGIN IF CLKEVENT AND CLK = 1 then CQ = CQ + 1; END IF; - -手动控制CLK,每次CLK出现上

11、升沿则计数器自加一 END PROCESS; DSPY=CQ; - -把计数器的两位接到两盏LED灯上,实现档位显示 END ;以下是该元件的仿真波形:结果分析:通过仿真波形可以看出,CLK每有一个上升沿,输出的四位二进制数就变化依次,变化顺序如源代码中所写。同时计数器的数值显示到LED灯的端口上,用于显示此时所处的档位。4.3通过比较器产生PWM波形现在,锯齿波和参考电压都已经得到,下一步就是通过电压的大小比较产生一定占空比的PWM波形。由于锯齿波电压和参考电压都是一组四位的二进制编码,故使用一个两输入的四位数字比较器就可完成比较任务:当锯齿波电压小于参考电压时,比较器输出低电平;高于参考电

12、压时,比较器输出高电平。比较器的元件符号如下: 其中,dataa接参考电压端,datab接锯齿波电压端:当锯齿波电压小于参考电压时,agb输出1,当锯齿波大于参考电压时,输出0。这时形成的逻辑是:当dataa为较小数时,只有在锯齿波刚有电压值的一个短暂时间内,比较器输出高电平,其余时间都是低电平,占空比小,进而电机转动慢;当dataa为较大数时,在锯齿波很长一段时间内一直都比参考电压小,则一直输出高电平,占空比大,进而电机转动快。4.4 PWM波形发生器的搭接 综上,用以上得到的元件搭接成可调档PWM波形发生器如下图: PWM波形生成如下图:结果分析:由波形图可明显看出,随D_STP不断产生上

13、升沿,PWM波形高电平的占空比依次从小到大重复变化。由直流电机的原理可知,当这样的电压驱动电机转动时,占空比大的单位时间内驱动电机转动时间长,即电机转的快;反之亦然。五.转速频率测量模块 轮机转动时,每转一周,位于轮机上方的红外线测速仪测得一个脉冲。靠统计每秒钟发出脉冲的个数,即可得到轮机的转速(转/秒)。由此可见,转速测量器显示的是每秒钟的圈数,实质上是一个频率计。5.1 设计方案实现频率计:由计数,锁存,分频三部分组成分频器:Library ieee;Use ieee.std_logic_unsigned.all;Use ieee.std_logic_1164.all;Entity fen

14、pinqi isPort ( clkk: in std_logic; cnt_en: out std_logic; load: out std_logic; rst_cnt: out std_logic);end fenpinqi;architecture behav of fenpinqi issignal div2clk :std_logic;begin process(clkk) begin if clkkevent and clkk=1 thendiv2clk=not div2clk; end if;end process;process(clkk,div2clk)beginif cl

15、kk=0 and div2clk=0 then rst_cnt=1;else rst_cnt=0;end if;end process;load=not div2clk;cnt_en=div2clk;end behav; 相应的波形仿真如下图:锁存部分:Library ieee;Use ieee.std_logic_1164.all;Entity reg16 isPort (load: in std_logic; din: in std_logic_vector(15 downto 0); dout: out std_logic_vector(15 downto 0);end reg16;ar

16、chitecture behav of reg16 isbegin process(load,din) beginif loadevent and load=1 thendout0); elsif clkevent and clk=1 then if ena=1 then if cqi0); end if; end if;end if; if cqi=9 then cout=1;else cout=0;end if;cqf_in,clr=clr1,ena=ena1, cq=cq1,cout=cout1); u2 : cnt10 port map(clk=cout1,clr=clr1,ena=e

17、na1,cq=cq2,cout=cout2); u3 : cnt10 port map(clk=cout2,clr=clr1,ena=ena1,cq=cq3,cout=cout3); u4 : cnt10 port map(clk=cout3,clr=clr1,ena=ena1,cq=cq4,cout=carry_out); u5 : fenpinqi port map(clkk=clk,cnt_en=ena1,rst_cnt=clr1,load=load1); u6 : reg16 port map(load=load1,dout=dout,din=cq5); cq5(15 downto 1

18、2)=cq4(3 downto 0); cq5(11 downto 8)=cq3(3 downto 0); cq5(7 downto 4)=cq2(3 downto 0); cq5(3 downto 0)=cq1(3 downto 0); end;频率计仿真波形图:由图可见,在f_in端接入电机上的红外线脉冲信号,clk接为1Hz,即可测得转速下图是全部连接后的电路图:其中又包括了一个四分频电路和去抖电路。六心得体会通过这次的课程设计使我对现代电子系统设计的内容和方法有了更直接、更深刻的了解,学到了受益终身的思维方法和科学严谨的行为方式。经过两周的准备和调试基本实现了设计要求。在这次设计中也遇到一些问题,以前只是将eda课本中的原理介绍进行了大致的了解,但对具体模块的工作原理还不甚了解,比如,对pw

温馨提示

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

评论

0/150

提交评论