基于FPGA的无刷直流电机调速系统设计与实现
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,并且具有良好的动态和静态性能,整个系统具有控制简单,操作方便的特点。
FPGA 无刷直流电机 霍尔传感器 PWM调节 调速系统 相关文章:
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)