直流电机地PWM控制系统.doc

直流电机地PWM控制系统.doc

ID:57402972

大小:523.00 KB

页数:10页

时间:2020-08-16

直流电机地PWM控制系统.doc_第1页
直流电机地PWM控制系统.doc_第2页
直流电机地PWM控制系统.doc_第3页
直流电机地PWM控制系统.doc_第4页
直流电机地PWM控制系统.doc_第5页
资源描述:

《直流电机地PWM控制系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、设计报告课程名称在系统编程技术任课教师设计题目直流电机的PWM控制班级学号日期2011年6月13日一、题目分析本实验设计的直流电机的PWM控制系统需要满足以下两点要求:直流电机的转速具有4个档位可供调节;通过按键控制直流电机的转向。二、方案选择方案一:采用AT89S52单片机控制产生PWM信号。一般的,通过模拟比较器产生PWM波,比较器的一端接给定的参考电压,另一端接周期性线性增加的锯齿波电压。当锯齿波的电压小于比较器的参考电压(阈值电压)时输出低电平,反之输出高电平。通过改变比较器的参考电压来改变PWM波形中高电平的宽度,即占空比。系统具体框图如下图所

2、示:电压比较器D/A锯齿波AT89S52单片机功率放大电路D/A基准电压图1单片机实现PWM控制系统框图方案二:利用FPGA部资源实现产生PWM波。用VHDL语言描述设计数字比较器,数字比较器的一端接设定值计数器输出,另一端接线性递增计数器输出端。当线性计数器的计数值小于设定值时输出低电平,反之输出高电平。方案一需要通过D/A转换器产生锯齿波电压和设置参考电压,通过外接模拟比较器输出PWM波形,因此外围电路比较复杂。方案二省去了外接D/A转化器和模拟比较器,FPGA外部连线很少,电路更加简单、便于控制。所以本系统选择方案二。三、系统细化框图基于FPGA的

3、直流电机PWM控制电路主要由以下三个部分组成:(1)FPGA中PWM脉宽调制信号产生电路。(2)FPGA中的正/反转方向控制电路。(3)H桥功率驱动电路。图2FPGA直流电机驱动控制系统框图四、各模块设计与实现由系统细化框图可得系统顶层原理图,如附录1所示。系统顶层包括设定计数器、锯齿波发生器、数字比较器、旋转方向控制电路和H桥驱动电路。4.1设定计数器的设计设定计数器为系统的转速控制模块,此模块等效于模拟电路的比较器的基准电压。通过CASE语句实现对不同数值选择,从而实现改变基准数值。如图所示,具体程序实现如附录2所示图3设定计数器的顶层模块图4.2锯

4、齿波发生器的设计此锯齿波发生器的实质为一四进制计数器和锁存器的组合。脉宽技术器在时钟脉冲的激励下输出从0开始增大的锯齿波。每增大一次后对外发送一次。如图所示,具体程序实现如附录3所示图4锯齿波发生器的顶层模块图4.3数字比较器的设计数字比较器的输入端接设定计数器的输出端和锯齿波发生器的输出端,这两路数据经过数字比较器处理后,选择输出较大的值,并维持一定长度的电平。如下图所示,具体程序实现如附录4所示。图5数字比较器顶层模块图4.4旋转方向控制电路的设计旋转方向控制电路控制直流电机转向,该电路由两个2选1多路选择器组成。如下图所示,具体程序实现如附录5所示

5、图6旋转方向控制电路顶层模块图4.5H桥功率驱动电路设计H桥功率驱动电路为BTL功率放大电路的典型应用。具体实现电路,如下图所示图7H桥功率驱动电路五、时序仿真与功能仿真取ENDTime为50us,以便有足够长的时间观察,CLK时钟信号设置频率为20MHz。仿真波形如下图所示占空比100%占空比11/15占空比6/15占空比1/15图8时序仿真波形图六、总结经过为期近一个月的课程设计,感觉不只是时间的考验而且是对耐心的考验。不过,最终还是完成了“直流电机的PWM控制”。从对比中得出,用FPGA实现PWM波的控制较模拟电路更为简单、稳定,从比较器中看就很容

6、易得出此结论。另外,PROCESS在FPGA中进行并行操作,从此项特点上可以看出FPGA在人工智能和机器人的开发上具有很大的潜力。所以,研究FPGA对直流电机的控制对发展机电一体化技术具有很好的铺垫作用。七、参考文献[1]松《EDA技术实用教程》[M]..科学.2002.10[2]吴继华,王诚.AlteraFPGA/CPLD设计(高级篇),人民邮电,2005[3]辉基于FPGA的数字系统设计电子科技大学2008-11-1附录:1、系统顶层原理图2、设定计数器源代码LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE

7、.STD_LOGIC_UNSIGNED.ALL;ENTITYDECTISPORT(SET:INSTD_LOGIC;D:OUTSTD_LOGIC_VECTOR(3DOWNTO0));END;ARCHITECTUREoneOFDECTISSIGNALCQ:STD_LOGIC_VECTOR(1DOWNTO0);BEGINPROCESS(CQ)BEGINCASECQISWHEN"00"=>D<="0001";WHEN"01"=>D<="0110";WHEN"10"=>D<="1011";WHEN"11"=>D<="1111";WHENOTHERS=>NULL;E

8、NDCASE;ENDPROCESS;PROCESS(SET)BEGINIFSET

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。