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

下载本文档

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

文档简介

1、.系统设计专题之电机调速控制设计学院:自动化与电气工程学院班级:*姓名:*学号:*日期:*;.1cpld 系统简介1.1cpld 简介cpld(complexprogrammable logic device) 复杂可编程逻辑器件,是从pal和 gal器件发展出来的器件, 相对而言规模大, 结构复杂, 属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。 其基本设计方法是借助集成开发软件平台, 用原理图、硬件描述语言等方法, 生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。1.2cpld 系统的基本构架主要包括有处理器、

2、外围电路及接口和外部设备三大部分其中外围电路一般包括有时钟、复位电路、。程序存储器、数据存储器和电源模块等部件组成。外部设备一般应配有usb、显示器、键盘和其他等设备及接口电路。在一片cpld微处理器基础上增加电源电路、时钟电路和存储器电路,就构成了一个 cpld核心控制模块。其中操作系统和应用程序都可以固化在 rom中。1.3cpld 系统的特点采用 32 位 epm3032a微处理器和实时操作系统组成的 cpld控制系统,与传统基于单片机的控制系统和基于 pc的控制方式相比,具有以下突出优点:性能方面:采用 32 位 risc结构微处理器,主频从 30mhz到 1200mhz以上,接近 p

3、c机的水平,但体积更小,能够真正地“嵌入”到设备中。实时性方面: cpld机控制器内嵌实时操作系统( rtos),能够完全保证控制系统的强实时性。人机交互方面: cpld控制器可支持大屏幕的液晶显示器,提供功能强大的图形用户界面,这些方面的性能也接近于 pc,优于单片机。系统升级方面: cpld控制器可为控制系统专门设计,其功能专一,成本较低,而且开放的用户程序接口( api)保证了系统能够快速升级和更新。1.4cpld 技术的应用领域cpld技术可应用在:工业控制;交通管理;信息家电;家庭智能管理;网络及电子商务;环境监测;机器人等领域。在工业和服务领域中,大量 cpld技术也已经应用于工业

4、控制、数控机床、智能工具、工业机器人、 服务机器人等各个行业, 正在逐渐改变着传统的工业生产和服务方式。例如,飞机的电子设备、城市地铁购票系统等都可应用 cpld系统来实现。;.2 设计内容2.1 任务目标根据所学的 cpld系统的知识,通过硬件和软件想结合,编程控制电机的正转、反转、加速和减速。2.2 硬件原理图硬件原理图如图 1 所示: epm3032a芯片起到接收 pwm信号并实现对电机的控制的作用。图 1 硬件原理图2.3 h 桥原理图h桥电动机驱动电路包括 4 个三极管和一个电机。如图 2 所示。要使电机转动,必须导通对角线上的一对三极管。 根据不同三极管的导通情况, 电流可能从左至

5、右或从右至左流过电机,从而控制电机的转向。;.图 2 h 桥原理图当 g1和 g4导通时,电机受正向电压,导通一段时间后,令 g4截止,由于电机中存在电感, 电流不能突变, 电流经 g1和 q3导通续流,此时电动机两端的变压为零,输出电压的均值为电动机的电压。这样就实现了电机的正转。在周期不变的情况下, 改变变换器输出电压的占空比,就改变了输出电压均值,也就改变了电机的转速。 当输出高电平的时间增大, 而低电平所占的时间减小时,此时实现的是加速,反之就是减速。当 g2和 g3导通,电机受负向电压,导通一段时间后,令 g2截止,由于电机中存在电感, 电流不能突变, 电流经 g3和 q1导通续流,

6、 此时电动机两端的变压为零,与正转类似,这样就实现了电机的反转。反转时也能实现加减速,同正转。2.4 直流电机调速直流电机控制驱动芯片 :l9110.l9110 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电 路集成在单片 ic 之中,使外围器件成本降低,整机可靠性提高。该芯片有两个 ttl/cmos兼容电平的输入, 具有良好的抗干扰性; 两个输出端能直接驱动电机的正反向运动,它具有 较大的电流驱动能力,每通道能通过 800ma 的持续电流,峰值电流能力可达 1.5a ;同时它 具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动 继电器、直

7、流电机、步进电机或开关功率管的使用上安全可靠。 l9110 被广泛应用于玩具汽 车电机驱动、脉冲电磁阀门驱动,步进电机驱动和开关功率管等电路上。;.图 3 l9110 管脚定义、参数l9110 直流电机控制芯片的管脚波形图:图 4 l9110 管脚波形图l9110 直流电机控制芯片的电路接线图。;.图 5 l9110 电路接线图利用脉冲宽度调制( pwm)原理进行调速。 pwm是靠改变脉冲宽度来控制输出电压。如图 3 所示。通过改变周期来控制输出频率, 而输出频率的变化可通过改变脉冲的调制周期来实现。图 6 脉冲宽度调速原理图tu pu平均电压:t。 t / t 为 pwm脉冲的占空比,决定平

8、均电压的大小。占空比越大,电路开通时间越长。pwm具有以下优点:(1)无需进行数模转换;(2)抗噪性能强, pwm是数字形式的,噪声只有在强到足以将逻辑1 改变为逻辑 0 或将逻辑 0 改变为逻辑 1,才能对数字信号产生影响, pwm用于通信时极大的延长通信距离;(3)pwm既经济也节约空间。;.3 实验一,熟悉编程环境与仿真工具3.1 quartus 编程软件quartus ii 是 altera 公司的综合性 pld/fpga开发软件,原理图、 vhdl、 veriloghdl 以及 ahdl(altera hardware 支持 description language )等多种设计输入

9、形式, 内嵌自有的综合器以及仿真器, 可以完成从设计输入到硬件配置的完整 pcld设计流程。3.2 在系统可编程器件设计步骤1. 创建新设计项目: 设计的第一步, 它的任务是建立一个项目, 包括项目文件和项目标题。2. 选择器件:在器件选择窗口中选择要使用的器件。 针对某个可编程器件进行设计时,建立项目后,应首先选择器件。3. 输入和修改源文件:设计过程中最重要的一步。所有的设计思想通过源程序的形式输入计算机。一个项目可能由一个或多个源文件组成。4. 编译与优化: 编译用途和其他语言是一样的。 若不能通过编译, 则需修改源文件。5. 仿真:使用 modelsim 软件进行仿真。 目的是对设计的

10、正确性进行检验。 从功能上对设计的正确性进行检查,它假定信号的传输时间为 0,与适配器的时间无关。若仿真结果与设计要求不符,则需修改设计。6. 下载:通过下载电缆,将生成的 pof 数据文件下载到电路 epm3032atc44-10器件中。下载又称为编程。 一个器件只有经过下载这一步骤, 才能将设计成果转化为该器件的功能,在电路板上发挥应有的作用。3.3 建立由原理图源文件组成的设计1. 创建一个新的设计项目(1)选择菜单 file-new project,在 create project wiszard对话框的work director栏中,选择工程保存路径,在name中键入项目名。(2)按

11、 next 按钮,出现添加工程文件的对话框,如下图:;.这里先不管它,然后按next 进行下一步,选择fpga器件的型号,如下图:(3)在 family 下拉框中,选择max3000a系列,选择此系列的具体芯片epm3032atc44-10。执行 next 出现选择其它 eda工具对话框, simulation选项中 tool name选择 modelsim-altera ,format(s) 选择 systemverilog hdl,按 next进入工程的信息总概对话框;.( 4)按 finish按钮即建立一个项目。2. 建立一个 verilog文件( 1)执行 filenew,弹出新建文件

12、对话框,如下图:选择 verilog hdl file, 点击 ok,开始程序编写。双击左侧下方 tasks 窗口中的 compile design ,对程序进行编译;编译如果出现错误,对程序进行修改,直至完全编译成功。( 2)选择 processing-start-start test bench template writer,生成激励文件 .vt 。选择 files-open,打开工程文件夹下simulation-modelsim中 allfiles里的 .vt文件,对其进行修改,使输入信号初始化,将系统时钟信号进行延时,避免出现仿真时内存不够的情况,修改后点击保存。如下图:;.(5)为

13、仿真添加激励文件。选择 assignments-setting-eda tool settings-simulation ,在 nativelink settiong 下,选择 compile test bench,点击 test benches。在弹出的 test benches 窗口下点击 new,弹出 newtestbench settings窗口。在 test bench name下命一个名字,在top levelmodulein testbench 中输入 .vt文件中带有 _vlg_tst的名字。勾选 use testbench toperform vhdl timing simu

14、lation,在 design instance name in test bench中输入 i1; 点击下方 test bench and simulationfiles下的 filename后的 .,选择 .vt文件,点击 add。连点 ok,直至回到 quartus 主界面。如下图;.3.4 建立一个 msim 的工程,将其放在了 d:pro下,建立完成后样子如图3.1 :图 7 软件主界面然后,编译,打开msim.vt 文件,编辑输入模拟量(#2 repeat(3000) #2gclk=gclk;)。如图 5 所示:;.图 8 编辑输入模拟量配置 modelsim 仿真设置,打开仿真器

15、,仿真结果如下:图 9 仿真波形4 实验二,电机调速控制编程与调试4.1 编程根据任务要求,编写程序如下:程序有 5 个输入和 2 个输出。 clk 为时钟脉冲输入, sw1、sw2、sw3和 sw4分别代表控制电机的启动 / 停止、正 / 反转、加速和减速。;.首先检测脉冲新信号的上升沿, 设定一个寄存器, 记录脉冲个数。 然后对按键进行判断。加速和减速控制是通过改变参考值, 以实现改变占空比, 实现调速。程序 1:;.图 10 控制程序4.2 调试结果及分析1)连接界面;.2)下载程序界面。图 12 控制程序下载界面4.3 仿真结果1. pwm 正转仿真波形1)进行仿真输出波形如图所示,能

16、够实现电机正转加速:( speed = 2b11 、flag_zhengzhuan=1; );.图 13 正转加速波形2)进行仿真输出波形如图所示,能够实现电机正转加速:( speed = 2b10 、flag_zhengzhuan=1; )3)进行仿真输出波形如图所示,能够实现电机正转加速:( speed = 2b01 、flag_zhengzhuan=1; );.4)进行仿真输出波形如图所示,能够实现电机正转加速:( speed = 2b00 、flag_zhengzhuan=1; )2. pwm 反转仿真波形2)进行仿真输出波形如图所示,能够实现电机正转加速:;.( speed = 2b

17、11 、flag_fanzhuan=1; )2)进行仿真输出波形如图所示,能够实现电机正转加速:( speed = 2b10 、flag_fanzhuan=1; )2)进行仿真输出波形如图所示,能够实现电机正转加速:( speed = 2b01 、flag_fanzhuan=1;);.5 总结首先,通过系统设计专题这门课, 学习了什么是 cpld系统,对 cpld系统的一些知识(如定义,基本构架,特点,应用及发展前景等) 有了一些基本的了解,对 cpld有了更系统的认识。 cpld系统就是将计算机硬件和软件结合起来构成的一个专门的装置, 这个装置可以完成一些特定的功能和任务, 能够在没有人工干

18、预的情况下独立地进行实时监测和控制。其次,通过亲自动手编写相应的程序来完成实验, 锻炼了独自解决问题的能力。同时,在完成目标的过程中,发现了一些问题,比如学习并掌握理论知识并不难,将理论知识应用到实际的工程上就很难了, 恰恰我们缺乏的就是这种能力,老师们能够根据学生的情况将该课程设定为为实践课程而不是一味的讲解理论,对学生提高实践能力很有帮助。最后,在龚老师的指导和帮助下, 通过自己的努力和同学进行讨论, 最终能顺利完成既定的目标。;.附录一实验一程序:module msim(gclk, pwmah);input gclk;output pwmah;reg3:0q;/reg pwmah;ini

19、tialbeginpwmah = 0;q = 0;endalways (posedge gclk)/if(q = 1)beginpwmah = 1;q = q+1;endelse if(q = 9)beginpwmah = 0;q = q+1;endelse if(q = 15)q = 0;else q = q+1;.endmodule附录二实验二程序:module msim(clk, sw1, sw2, sw3,sw4, pwm1, pwm2);input clk;input sw1;/ 电机启 / 停控制按键input sw2;/ 电机正 / 反转控制按键input sw3;/ 电机减速控

20、制按键input sw4;/ 电机加速控制按键/*吕宪龙* 输出控制变量*/output pwm1;/正转output pwm2;/反转/*吕宪龙* 定义寄存器锁住信号*/reg pwm1;reg pwm2;reg1:0 speed;reg6:0 cnt;reg flag_zhengzhuan; /正转标志位reg flag_fanzhuan;/反转标志位reg flag;/正反转换挡/ 防抖设计;.reg2:0 dout1,dout2,dout3,buff;/ 消抖寄存器wire2:0 key_edge;/ 按键消抖输出/*吕宪龙* 程序变量初始化*/initialbeginpwm1 = 0

21、;pwm2 = 0;speed = 2b00;/dir = 2;flag_zhengzhuan = 0;flag_fanzhuan = 0;flag = 0;end/*吕宪龙* 程序循环体部分*/always(posedge clk)beginif(cnt 7d100)cnt = cnt + 7b1;elsecnt = 7b0;endalways(posedge clk)beginif(!sw1)/ 电机启动 / 停止控制按键beginif( flag_fanzhuan = 0 & flag_zhengzhuan = 0 ) /电机正在停止,则运行beginflag_zhengzhuan =

22、1;.flag_fanzhuan = 0;speed = 2b10;endelse if(speed = 0)/速度为零,则启动speed = 2b10;else if(speed !=0 )/速度不为零,则停止flag_zhengzhuan = 0;flag_fanzhuan = 0;endif(!sw2)/电机正转 / 反转控制按键beginif(flag_zhengzhuan = 1)/电机正在正转,则反转beginflag_zhengzhuan = 0;flag_fanzhuan = 1;endelseif(flag_fanzhuan= 1)/电机正在反转,则正转beginflag_zhengzhuan = 1;flag_fanzhuan = 0;end/ speed = 2b10;endif(!sw3)/电机加速控制按键beginspeed

温馨提示

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

评论

0/150

提交评论