基于VHDL的直流电机控制功能模块设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于VHDL的直流电机控制功能模块设计随着社会的发展,直流电机的应用越来越普遍,对直流电机控制方式的要求也不断提高。本文利用ALTERA公司最新开发的SOPC解决方案,提出了基于NiosII软核处理器的直流电机功能模块的设计方案,给出了VHDL代码生成功能模块IP核。IP核的生成,不仅方便设计者灵活使用,节省资源,也大大缩短了设计周期。设计者可以根据需要直接调用IP核来组成NiosII系统,然后将此系统下载到FPGA中实现。IP核不仅可以用在电机控制中,还可以用来控制其它一些小型家电,全彩LED等,具有广阔的应用前景。1直流电机总体硬件设计如图1所示,系统整体由FPGA芯片控制,其控制核心为ALTERA公司的NiosII软核CPU,本文将着重介绍图中两个控制功能模块PWM模块和测速模块的设计与生成。这两个控制功能模块均采用VHDL硬件描述语言自行设计生成可以调用的IP核,通过QuartusII对其进行编译、仿真验证其正确性,最后将生成自定义接口功能模块添加到顶层原理图中,完成整个调速系统的设计。2PWM功能模块的设计PWM模块利用直流电机占空比来控制电机电枢电压,从而控制直流电机的转速。设计过程如图2所示。PWM功能模块的仿真波形如图3所示。从图3可以看出,仿真时给定一个时钟信号Clk,Sta用来控制直流电机正反转,图3中的0表示直流电机处于正转状态,1表示停止,3表示反转;Conword为占空比信号,仿真中有25%、78%、50%三种值;PWMA表示直流电机处于正转状态时的占空比输出,这时PWMB的输出为0;PWMB表示直流电机处于反转时的占空比输出,此时PWMA的输出值为0;而当电机处于停止状态时,如图中当Sta值为1时,PWMA和PWMB的输出值均为0。经仿真时序图验证此设计是有效的,从而将其生成PWM功能模块。PWM功能模块如图4所示。PWM控制功能模块的原理如下:将时钟源50MHz的基频信号64分频,作为PWM模块的基频信号,以256个该基频脉冲信号作为PWM输出的一个周期,由NiosII处理器给出Conword的值指定一个PWM周期内高电平持续时间,改变Conword的值即刻改变占空比输出的值。Sta用来控制电机正反转。PWM控制功能模块管脚分配图如图5所示。3测速功能模块的设计测速模块的作用主要是利用基频的周期来计算光栅信号的周期,算出直流电机的转速。其设计的流程图如图6所示。测速模块的时序仿真波形图如图7所示。从图7中可以看出,仿真时给定一个时钟信号Clk用于计时,en为使能信号,即表示光栅有效,dout表示光栅有效时间,仿真中有200、400、700三种值。通过时序仿真验证了此设计的测速模块是有效的,从而将其生成测速功能模块。测速功能模块如图8所示。其工作原理如下:给出己知频率的基频,用光栅作为门限,测基频脉冲的个数,由基频的周期来计算光栅信号的周期,再算出转速,电机控制算法即根据测速模块测出的速度进行算法调整,达到闭环控制的效果。测速模块的管脚分配图如图9所示。4结束语根据直流电机的功能需求,利用VHDL语言设计了PWM功能模块和测速模块,并进行了仿真,验证了设计的正确性,完成了系统设计。本文的创新之处在于利用软硬件直接设计控制功能模块,这种设计具有开发周期短、通用能力好、易于开发扩展等优点,值得推广。本文来源:转载需注明出处

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功