课程设计(论文)利用PWM控制技术实现直流电机的速度控制_第1页
课程设计(论文)利用PWM控制技术实现直流电机的速度控制_第2页
课程设计(论文)利用PWM控制技术实现直流电机的速度控制_第3页
课程设计(论文)利用PWM控制技术实现直流电机的速度控制_第4页
课程设计(论文)利用PWM控制技术实现直流电机的速度控制_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要摘要 随着时代的进步和科技的发展,直流电机在工农业生产、交通运输以及日 常生活中起着越来越重要的作用,因此,对直流电机的研究有着积极的意义。 长期以来,直流电机被广泛应用于调速系统中,而且一直在调速领域占据主导 地位,这主要是因为直流电机不仅仅调速方便,而且在磁场一定条件下,转速 和电枢电压成正比。并且由于直流电机具有优良的起动、制动性能,宜于在广 泛范围内平滑调速。 在本文中,我们设计一个直流电机。利用 fpga 可编程芯片实现对直流电 机 pwm 控制器的设计,对直流电机转速进行控制。用 vhdl 语言编程实现直 流电机 pwm 控制器的 pwm 产生模块、转向调节模块等功能。 主要分

2、为如下模块: 1、pwm 模块:设定计数器设置 pwm 信号的占空比,以此来驱动。 2、正反转控制模块:控制电机的正转和反转。 3、去抖动模块:实现直流电机转速的精确测量,主要用来消除直流电机 的抖动,能够便于观察。 4、显示模块:该模块主要用来显示直流电机的转速及档位。 关键词:关键词:直流电机、pwm、控制、速度、fpga 目录目录 一一. 任务解析任务解析.3 二二. 系统方案论证系统方案论证.3 2.1 总体方案与比较论证 2.2 系统原理与结构 三三pwm 模块模块.5 3.1 方案的设计 3.2 方案的实现 3.3 方案的仿真 四四. 正反转模块设计正反转模块设计.7 4.1 方案

3、的设计 4.2 方案的实现 4.3 方案的仿真 五去抖动模块五去抖动模块.8 5.1 方案的设计 5.2 方案的实现 5.3 方案的仿真 六六. 显示模块显示模块.9 6.1 方案的设计 6.2 方案的实现 6.3 方案的仿真 七七. 总结总结.10 7.1 功能验证 7.2 性能测试 7.3 误差分析 7.4 整体仿真 7.5 心得体会 八参考文献八参考文献.12 九附录九附录.12 一任务解析一任务解析 利用 pwm 控制技术实现直流电机的速度控制。 (1)基本要求: a速度调节:4 档,数字显示其档位。 b能控制电机的旋转方向。 c通过红外光电电路测得电机的转速,设计频率计用 4 位 1

4、0 进制显 示电机的转速。 (2)发挥部分 a设计“去抖动”电路,实现直流电机转速的精确测量。 b修改设计,实现直流电机的闭环控制,旋转速度可设置。 课程设计要求我们利用pwm控制技术以及vhdl语言编写代码来实现对直 流电机的控制。根据设计要求我们要对电机的正反转控制、速度调节、测量电 机的转速并用4位10进制显示电机的转速以及设计去抖动电路进行设计,实现对 直流电机转速的精确测量以及实现直流电机的闭环控制等。 根据设计要求,我们可以通过fpga产生pwm波形,其中,数字比较器的 一端接设定值计数器的输出,另一端接锯齿波发生器输出。那么数字比较器的 输出端即是pwm波形。我们将输出的pwm波

5、通过接入正反转控制来控制电机 是否开始工作。另外,我们采用两个二选一选择器来实现电机的正反转控制。 并将电机转速脉冲信号通过去抖电路送入频率计,并在数码管显示。 二系统方案论证二系统方案论证 2.1 总体方案与比较论证总体方案与比较论证 方案 1:采用线性控制方式进行直流电机的控制 此方式一般用于小功率电机平滑转速控制。 方案 2:采用一般模拟 pwm 波进行直流电机控制 此方案接有 d/a 转换器和模拟比较器,外部连线多,电路复杂,不 便于控制,故该方案不理想。 方案 3:使用单片机设计控制的直流电机 通过单片机,我们完全能够实现驱动模块,转速模块显示模块等需 要的模块。硬件电路简单,所用器

6、件少,但精度不易满足,产生调控范围小, 难以产生较高转速。 方案 4:基于 fpga 实现对直流电机的控制 通过用 vhdl 语言编写各个模块,再加以整合,从而实现整体功能。 采用此方案,所形成的电机功能稳定性强,精度高,可控范围较大,能形成最 大速度较大,更能满足设计任务。 比较以上 4 种方案,可知方案 4 简洁灵活,控制性能等均比其他方案强, 能完全达到设计要求,故采用第 4 种方案。 2.2 系统原理与结构系统原理与结构 电机转速预置电机速度级别显示 pwm 模块 电机速度 控制模块 pwm 参考频率 a y1电机正转 gnd b 22mux s y2 电机反转 电机方向控制 1hz

7、电机转速显示 电机转速脉冲信号 频率计 去抖动电路 参考频率 直流电机控制原理框图直流电机控制原理框图 转速测量转速测量 直直 流流 键盘控制键盘控制 f p 显示电路显示电路 电电 ga 机机 串口通信串口通信 驱动电路驱动电路 硬件系统框图硬件系统框图 设定值计数器设置 pwm 信号的占空比。当 u /d = 1,输入 cl k2, 使设 定值计数器的输出值增加,pwm 占空比增加,电机转速加快。 当 u/d = 0, 输入 cl k2,使设定值计数器的输出值减小,pwm 占空比减小,电机转速变 慢。在 cl k0 的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数 值小于设定值时,

8、 数字比较器输出低电平;当计数值大于设定值时,数字比较 器输出高电平,由此产生周期性的 pwm 波形。旋转方向控制电路控制直流电 动机转向及启动停止, 该电路由两个 2 选 1 选择器组成, z/f 键控制选择 pwm 波形从正端 z 进入 h 桥,还是从负端 f 进入 h 桥,以控制电机的转动 方向。start 键通过“与”门控制 pwm 的输出, 实现对电机的工作停止控 制。h 桥电路由大功率晶体管组成,pwm 波形通过方向控制送到 h 桥,经功 率放大以后驱动电机转动。 3. pwm 模块设计模块设计 3.1 方案的设计方案的设计 pwm 控制电路由计数器、锯齿波发生器及数字比较器组成,

9、由此来实 现 pwm 的波形输出。图中的 decd 是一个转速控制模块,输入端接按键,来 选择档位的大小;其输出的一端为档位的显示,另一端接 cmp 比较器的输入 端。cnt8 是一个八位的二进制计数器,作为脉宽计数器。脉冲计数器在 clk5 的激励下输出从 0 开始的逐渐增大的锯齿波。将 decd 和 cnt8 的输出端接到 比较器 cmp 的输入端。两路数值同时加在数字比较器上,当脉宽计数器输出 值小于 decd 输出的规定值时,比较器输出低电平;当脉宽计数器输出值大于 decd 输出的规定值时,比较器输出高电平。改变 decd 的输出值就等于改变 pwm 的输出信号的占空比,也等于改变了

10、周期,这样就实现了速度调控。 3.2 方案的实现方案的实现 3.3 方案的仿真方案的仿真 decd 的仿真如下:的仿真如下: cnt8 的仿真如下:的仿真如下: cmp 的仿真如下:的仿真如下: 总体呈现仿真如下:总体呈现仿真如下: 如上图所示:输入端 d_stp 接按键 2 调节速度的大小,clk5 输入的的信号, dled2.0显示档位的大小,0 到 4 的五个档位。其中,0 档位表示停止转动, 1、2、3、4 档位依次增大。 4. 正反转模块设计正反转模块设计 4.1 方案的设计方案的设计 该模块利用两个二选一选择器来控制正反转。 当输入为 1 时,两个 mux21 都选 a,但下面那个

11、 mux21 的 a 却是接地的, 因此只有上面的 mux21 输出,此时为正转;而转速由上面的比较器输出信号控 制。 当输入为 0 时,两个 mux21 都选 b,但上面那个 b 缺失却是接地的,因此 只有下面的 mux21 输出,此时为反转;而转速由上面的比较器输出信号控制。 z/f 键控制选择 pwm 波形从正端 z 进入 h 桥,还是从负端 f 进入 h 桥,以 控制电机的转向。按键 1 控制正反转。 4.2 方案的实现方案的实现 4.3 方案的仿真方案的仿真 由此图可以看出,由 cmp 引出的输出端作为正反转的输入端和连接硬件按 键 1 的 z/f 可以控制电机的正反转。 五去抖动模

12、块五去抖动模块 5.1 方案的设计方案的设计 去抖动电路采用两个d触发器和相应的门电路来实现。去抖动电路的滤波时 钟选择为1024hz。两个d触发器进行级联连接,经触发器产生q1和q2两个信号。 那么去抖动电路即为q1的非与q2经过一个与门来实现。 5.2方案的实现方案的实现 5.3方案的仿真方案的仿真 六六. 显示模块显示模块 6.1 方案的设计方案的设计 此部分分为两个显示模块,一个是档位的显示,另一个是转速的显示。 电机档位显示模块采用 dled2.0的 3 位 2 进制来显示档位。其档位显示 在数码管 8 中。 转速的显示是由一个频率器组成,一个输入端接去抖动电路的输出端,另 一输入端

13、接 clk0。可以通过数码管显示转速,其转速显示在数码管 1 和数码管 2 中。 6.2 方案的实现方案的实现 档位显示: 转速显示: 6.3 方案的仿真方案的仿真 由上图可知,频率计来显示速度的大小,d_out0 接数码管 1,显示转速的 个位;d_out1 接数码管 2,显示转速的十位。 七总结七总结 7.1 功能验证功能验证 通过把设计完成的工程下载到 gw48-sopc 实验箱中 fpga 芯片上对设计 所要求达到的功能进行验证,通过验证本次设计只能够完成直流电机速度显示、 正反转、调档、去抖动等功能,但是由于能力和时间的原因没有实现直流电机 的闭环控制,没有达到旋转速度可调设置的要求

14、。 7.2 性能测试性能测试 速度测试:最高速度 62 转/s,最低速度 20 转/s。 调速测试:将速度分为 5 档-0、1、2、3、4。0 档表示停止转动, 1、2、3、4 转速依次递增。 正反转测试:当按下按键 1 时,发光二级管亮,即正转;再按一下则反 转。 7.3 误差分析误差分析 本次设计在硬件验证这一环节出现一定的误差,这包括两方面的产生一 是设计本身产生的,二是实验系统造成的。 设计误差分析 由于本身的能力以及在设计中的逻辑分析中有一定的失误,以及设计的 过程中一些能够影响到最终结果的因素没有考虑到造成在硬件验证这一环节出 现一定的误差。 系统误差分析 本次设计中速度测试传感模

15、块由于码盘自身的老化问题最终将导致速 度测试的不准确性,其次就是示波器测试额定转速过程中由于与硬件信号输出 端连线存在一定的问题,再者就是实验系统的实验箱有一定的老化及内外部接 线的不稳定性导致的问题,在实验的过程中换了几次实验箱才找到一个合适的。 7.4 整体仿真整体仿真 7.5 心得体会心得体会 两周的课程设计使自己真的收获许多,不单单是对知识的理解更是深一 步的实际应用。把枯燥的课本知识怎么融合在实际的操作之中。 在进实验室之前,从网上找了许多有关直流电机设计的文档,结合着课 本及实验指导书慢慢的理解这个题目。觉得也没什么的难的,就是几个功能模 块的实现,然后组合在一起就可以实现题目的要

16、求。但真进到实验室之后,按 照之前的想法操作后才知道并没有那么简单,并不是简简单单的模块组合,必 须是按照要求进一步的深化,明确理解各个模块之间的关系,以此更详尽的去 设计各个模块的功能。不要急于去实现所有的功能,应该一个一个的来,尽量 详细的描述模块的作用,这样才能保证在最后的工程中哪出错可以直接去修改。 通过这次课程设计对直流电机的工作原理及相关的控制原理有了进一步的 了解,认识到自己所学知识的不足,以及所学知识在实际中的具体应用,进一 步加深对所学知识的理解。在这次课程设计中遇到了众多的难题,有好多由于 自己对所学知识不太透彻导致设计中遇到好多问题自己无法解决,最后还是在 向同学寻求帮助

17、才能够具体的实现其整体功能中的部分。如:直流电机的速度、 转向控制、档位选择、消抖动等功能,另外的一些功能如:闭环控制、速度预 设由于能力和时间的原因没有完全的实现,成为本次设计的一大遗憾。 在具体到每一个模块的设计中,可能是由于在这方面的知识不足吧,并不 是很顺利,例如在最开始的直流电动机的档位显示,最初想的是有一个可以直 接暂停开始的复位键 start,但在程序中并没有直接编写,所以又将最初设计 的四个档位改为含有停止转动的 0 档位的五个档位,最后采用 dled2.0的 3 位 2 进制来显示档位。 虽说本次设计由于自己能力有限没有完成所有的功能但是由于是自己亲身 参与,其中滋味只有自己

18、知道,通过这次设计不但对自己所学知识有了更清楚 的认识同时也为今后的工作学习有很大的促进作用,做任何事都要与其他人进 行交流,通过不断的交流来完善自己的思想,最后达到自己的目的。 八参考文献八参考文献 何小艇 电子系统设计 浙江大学出版社 2008.1 潘松 黄继业 eda 技术实用教程 科学出版社 2006.10 齐晶晶 现代电子系统设计实验指导书 电工电子实验教学中心 2009.8 9附录附录 9.1 程序:程序: 数字比较器数字比较器 cmp: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.a

19、ll; entity cmp is port( a:in std_logic_vector(7 downto 0); b:in std_logic_vector(7 downto 0); agb:out std_logic ); end cmp; architecture c of cmp is begin process(a,b) begin if b=a then agba then agb=0; end if; end process; end; 八位二进制计数器八位二进制计数器 cnt8: library ieee; use ieee.std_logic_1164.all; use i

20、eee.std_logic_unsigned.all; entity cnt8 is port( clk:in std_logic; aa:out std_logic_vector(7 downto 0) ); end cnt8; architecture fre of cnt8 is signal cnt:std_logic_vector(7 downto 0); begin process(clk) begin if clkevent and clk =1 then cnt=cnt+1; end if; end process; aadddddnull; end case; end pro

21、cess; process(clk) begin if clkevent and clk=1 then if cq=100 then cq=000; else cq=cq+1; end if; end if; end process; dspy=cq; end; 频率计频率计 fre_cnt10: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fre_cnt10 is port( clk_1hz:in std_logic; freq:in std_logic; d_out0:out std_logic_vector(3 downto 0); d_out1:out std_logic_vector(3 downto 0) ); end fre_cnt10; architecture fre of fre_cnt10 is signal clk_2hz:std_logic; signal clr,load,c_en:std_logic; signal cnt0,cnt1:std_logic_vector(3 downto 0); begin process(clk_1hz,clk_2hz,load) begin if r

温馨提示

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

评论

0/150

提交评论