基于FPGA的直流电机 PWM控制器设计_第1页
基于FPGA的直流电机 PWM控制器设计_第2页
基于FPGA的直流电机 PWM控制器设计_第3页
基于FPGA的直流电机 PWM控制器设计_第4页
全文预览已结束

下载本文档

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

文档简介

1、基于 FPGA的直流电机 PWM控制器设计 摘 要:利用 FPGA可编程芯片及 Verilog HDL语言实现了对直流电机PWM控制器的设计,对直流电机速度进行控制。介绍了用 Verilog HDL语言编程实现直流电机PWM控制器的PWM产生模块、转向调节模块等功能,该系统无须外接 DA转换器及模拟比较器,结构简单,控制精度高,可方便对电机进行远程控制,有广泛的应用前景。关键词:FPGA;PWM;直流电机;实验0 引 言传统的方法产生 PWM信号电路比较复杂。数字 PWM控制只需 FPGA中的内部资源就可以实现。本文介绍了一种用单片大规模 FPGA实现的 PWM发生的直流电机控制器,其中产生的

2、 PWM波具有脉冲中心对称 、PWM 周期和死区时间可编程等特点,且性能优异,灵活性和可靠性高。 用数字 比较 器代替模拟比较器,数字比较器的一端接设定值计数器的输出,另一端接线性递增计数器输 出。当线性计数器计数值小于设定值时输出低电平 ,大于设定值时输出高电平。与模拟控制相比,省去了外接的 DA转换器和模拟 比较器,FPGA外部连线很少,电路更加简单。而且通过总线数据或按键控制在系统调整脉宽数及数字比较器的设定值 ,从而实现对电机转速、波动性等参数的灵活控制。1 系统整体设计 系统的整体框图如图 1所示。该系统以 FPGA芯片为控制核心,通过按键或上位机设定电机速度和 PWM占空比,由 F

3、PGA的 I/O口控制直流电机驱动芯片驱动直流电机的转动。转速的测量 由码盘完成,速度显示数码管来实现。本系统是基于实现电机的恒速调节而进行设计的。 系统分以下几个模块:转速调节模块,脉宽调制(PWM)模块,速度检测模块, 在图2中所示的FPGA是根据设计要求设计好的一个芯片,其内部逻辑电路如图3。START是电机的开启端,U_D控制电机加速与减速,EN1用于设定电机转速的初值,Z_F是电机的方向端口,选择电机运行的方向。CLK2和CLK0是外部时钟端,其主要作用是向FPGA控制系统提供时钟脉冲,控制电机进行运转。通过键盘设置PWM信号的占空比。当U_D=1时, 表明键U_D按下,输入CLK2

4、使电机转速加快;当U/D =0,表明键U_D松开,输入CLK2使电机转速变慢,这样就可以实现电机的加速与减速。Z_F键是电机运转的方向按键,当把Z_F键按下时,Z_F=1,电机正转;反之Z/F =0时,电机反转。START是电机的开启键,当START=1,允许电机工作;当START=0时,电机停止转动。H桥电路由大功率晶体管组成,PWM输出波形通过由两个二选一电路组成的方向控制电路送到 H 桥, 经功率放大以后对直流电机实现四象限运行。并由EN1信号控制是否允许变速5。4.3 PWM脉宽调制信号产生电路描述PWM脉宽调制信号产生电路由可控的加减计数器CNTA、5位二进制计数器CNTB、数字比较

5、器LPM_COMPARE三部分组成。可控的加减计数器做细分计数器,确定脉冲宽度。当U/D=1时,输入CLK2,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;当U/D =0,输入CLK2,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。5位二进制计数器在CLK0的作用下,锯齿波计数器输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出高电平;当计数值大于设定值时,数字比较器输出低电平,由此产生周期性的PWM波形。其内部逻辑图如图4所示。可控的加减计数器CNTA中的端口U_D控制计数器的方向,EN1是计数器的使能端,控制计数器初值的变化。U_D=1时,加减

6、计数器CNTA在脉冲CLK2的作用下,每来一个脉冲,计数器CNTA加1,U_D=0时,每来一个脉冲,计数器CNTA减1。使能端EN1设定计数器值的初值,当EN1由1变为0的时候,无论U_D如何表化,计数器的值都不会发生变化,这样就完成了计数器的设定值,其仿真波形如图5所示,其VHDL语言如下。CNTB是一个简单的5位二进制计数器,它的工作原理和CNTA的原理很相似,我们只是在CNTA的时钟端加了一个使能端EN1控制其加减的方向。而CNTB的时钟端没有加使能端,所以每来一个脉冲计数器加1,因为CNTB是一个5位的二进值计数器,所以当计数器的值当大于32时,计数器又重新从0开始记数,从而产生周期性

7、的线性增加的锯齿波。其仿真波形如6,其VHDL语言如下。数字比较器是产生PWM波形的核心组成部件,可控的加减计数器CNTA和5位二进制计数器CNTB同时加数字比较器LPM-COMPARE两端作为两路输入信号,当计数器CNTB输出值小于细分计数器CNTA输出的规定值时, 比较器输出高电平; 当CNTB输出值大于细分计数器CNTA输出的规定值时, 比较器输出低电平。改变细分计数器的设定值, 就可以改变PWM输出信号的占空比。为了便于观察防真波形,我在CNTB的输出加上B4.0,仿真波形如图7。3 结 语直流电机由于具有速度控制容易,启、制动性能良好,且在宽范围内平滑调速等特点而在冶金、机械制造、轻

8、工等工业部门中得到广泛应用本文所介绍的直流电机 PWM控制器本文给出采用Verilog HDL设计 FPGA脉宽调制控制方案,计算机仿真的结果表明,该电路能有效地产生 PWM控制信号控制电机的转速,控制精度由FPGA中的数字比较器决定,硬件电路搭建简单,程序代码书写容易。用 FPGA的 IO口产生 PWM控制信号,一片 FPGA可以同时输出多路 PWM信号,具有通用性,设计同时包含实现异步串行通信的功能,可以实现对数据的接收和发送,并可以在接收数据时对其校验位、停止位进行判断,在发送数据时可以形成完整的一帧数据格式。将该异步串行通信接口设计实现的数据采集与处理系统中,可以成功地实现和远端的上位机进行异步串行通信,方便进行远程控制。参考文献1 王彦基于 FPGA的工程设计与应用M西安电子科技大学出版社,20072 郭树涛基于 FPGA的串口通讯设计J北京电子科技学院学报,2006,14(4):74-783 秦继荣,沈安俊现代直流伺服控制技术及其系统设计M北京:机械工业出版社,1999 4 陈伯时电力拖动自动控制系统M第 2版北京:机械工业出版社 ,2000 5 韦鲲,任军军,张仲超

温馨提示

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

评论

0/150

提交评论