.
. >
"基于FPGA的直流电机PWM控制实现"
课程设计总结报告
一.
. >
"基于FPGA的直流电机PWM控制实现"
课程设计总结报告
一、课题名称
"基于FPGA的直流电机PWM控制实现"
二、设计任务
基于L298N驱动直流电机设计
三、系统总体设计方案
〔画出系统原理框图、方案的论证与比拟等容〕;
系统原理框图
PLL20
分频
8位计数
PWM脉宽调制信号发生
输出PWM 波形
译码
4位计数
消抖
调速开关
转速控制输出
输出转速
8位存放器
两个十位计数器
频率计控制
PWM的实现与比拟
一般的脉宽调制PWM信号是通过模拟比拟器产生的,比拟器的一端接给定的参考电压,另一端周期线性增加的锯齿波电压。当锯齿波电压小于参考电压时输出低电平,当锯齿波电压大于参考电压时输出高电平。改变参考电压就可以改变PWM波形中高电平的宽度。假设用单片机产生的PWM信号波形,需要通过D/A转换器产生锯齿波电压和设置参考电压,通过外接模拟比拟器输出PWM波形,因此外围电路比拟复杂。
FPGA中的数字PWM控制欲一般的模拟PWM控制不同。用FPGA产生PWM波形,只需FPGA部资源就可以实现。用数字比拟器代替模拟比拟器,其一端接设定值计数器输出,另一端接线性递增计数器输出。当线性计数器的计数值小于设定值时输出低电平,当计数值大于设定值时输出高电平。与模拟控制比拟,省去了外接的D/A转换器和模拟比拟器,FPGA外部连线很少,电路更加简单,便于控制。脉宽调制式细分驱动电路的关键是脉宽调制,转速的波动随着PWM脉宽系法术的增大而减小。
.
. >
四、具体实现方案
〔各模块或单元电路的设计、工作原理阐述等容〕;
1. PWM脉宽调制信号发生模块PWM-SQU1
此模块是FPGA中的PWM脉宽调制信号产生电路。它的输出接一电机转向控制电路模块,此模块输出的两个端口接直流电机。通过控制SL端〔键1〕,可以改变电机转向。PWM-SQU1的输入端之一来自模块COUNTER8B。这是一个8为计数器,输出的数据相当于锯齿波信号,此信号的频率就是PWM波的频率,它有来自锁相环的C0的频率决定。PWM-SQU1另一端来自键控的8位数据,其中低4为CIN[3..0]设定为恒定1111,高4位有计数器T4B产生,。
在键K8输入进计数器前加一个消抖模块。为了在实验板上看到键K8输入的控制数据,在计数器前加了7段译码模块DECL7S,其输出接5E+系统的数码管LEDC。
PWM-SQU1模块:
部程序
基于fpga的直流电机pwm控制实现 来自淘豆网www.taodocs.com转载请标明出处.