微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的无刷直流电机调速系统设计与实现

基于FPGA的无刷直流电机调速系统设计与实现

时间:09-12 来源:互联网 点击:

1,使设定值计数器的输出值增加,PWM的占空比增加,电机转速加快;当U_D=0,输入CLK1,使设定值计数器的输出值减小,PWM的占空比减小,电机转速变慢。5位二进制计数器在CLK0的作用下输出周期性线性增加的锯齿波。当计数值小于设定值时,数字比较器输出高电平,当计数值大于设定值时,数字比较器输出低电平,从而产生周期性的PWM波形。设定ZF为电机的方向按键,选择PWM波形的进入方向,当其为1时,电机正转,否则反转。设定START进行电机的控制时,START为1电机开始工作,为0电机停止工作。通过按键EN1的闭合与断开可以改变初始值,从而改变直流电机的PWM占空比,改变直流电机速度。

3.2 PWM调速仿真

如波形仿真图8可知,当电机的速度小于设定值时,计数器数字比较器输出高电平,从而使计数器计数增加,PWM输出为高电平,改变占空比,使电机加速;当电机的速度大于设定值时,计数器数字比较器输出低电平,从而使计数器计数减小,PWM输出为低电平,改变占空比,使电机减速;Z_F是电机的方向按键,Z_F为1时电机正转,Z输出为1;Z_F为0时电机反转,F输出为1;START为电机控制端,START为1电机工作,为0电机停止,Z、F均为0。

在时钟脉冲的作用下,计数器CNTA和CNTB都能按照事设定数值进行计数。CNTA是可控的加减计数器,U_D控制其计数的方向,EN1用于设定其初值,当EN1由高电平变为低电平时,就完成了设定值。CNTB是5位二进制计数器,在时钟脉冲CLK0的作用下一直加数,当它加到32时就自动返回到0再重新加数。两路计数器同时加到数字比较器COMPARE上,当CN TB的值小于设定值时,数字比较器输出高电平,当CNTB的值大于设定值时,数字比较器输出低电平。改变设定值的大小就可以改变PWM波形的大小,也就是完成了电机的调速。Z_ F是电机的方向控制按键,选择PWM波形的进入方向,当其为1时,电机正转,为0电机反转。至于电机的控制,是在它的输入端加上两个与门来控制电机的启动与停止。当按下键Z_F键,电机正转,松开键时,电机反转。当按下键START时,电机开始工作,松开时,电机停止工作。通过按键EN1的闭合与断开可以改变H[4.0]的值,从而改变直流电机的PWM占空比,这样就可以改变直流电机速度。

4 结论

通过在理论上对无刷直流电机调速系统电路设计、分析,以及软件的编程,并对软件和硬件进行调试后,实现了一个以FPGA为核心控制器的无刷直流电机的调速,这个系统能够实现检测电机的电流和转子位置和自动调节电机的转速且可以实现控制电机正反转。该系统整个系统运行时钟频率可达到100 MHz以上,控制器可以使控制周期达缩短到40 μs,并且具有良好的动态和静态性能,整个系统具有控制简单,操作方便的特点。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top