直流电机速度控制器设计_第1页
直流电机速度控制器设计_第2页
直流电机速度控制器设计_第3页
直流电机速度控制器设计_第4页
直流电机速度控制器设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 直流电机速度控制器设计 摘要速度是直流电机运行中的一个重要物理量,如何准确、快速而又方便地控制电机速度极为重要。本文阐述了基于AT89C52单片机的直流电机速度控制系统的设计特点,介绍了在Proteus仿真软件中,对直流电机进行速度控制的相关算法及软、硬件实现。设计中软件设计采用C语言编程,硬件设计DAC方式驱动电动机。另外还可以通过键盘输入改变直流电机速度值。最后对实验数据进行了分析。关键词:直流电机;AT89C52;DAC;速度控制Abstract: Speed is an important physical quantity in the operation of the DC-mo

2、tor. How to control the speed of DC-motor exactly, rapidly and conveniently is highly significant.This paper describes the design characteristics of the DC-motor speed control system which based on the AT89C52 single chip,and introduces the related algorithms which controls the DC-motor speed and su

3、ccessful possibility in soft part and hardware part in the Proteus simulation software . The software part uses C language to program, hardware part uses DAC to drive motor. It can also change the DC-motor speed values through the input of the keyboards . Finally the experimental datas are analyzed.

4、Keywords: DC-motor; AT89C52; DAC; speed control 18目录1 设计任务51.1 设计目的和意义51.2 设计任务与要求52 系统设计52.1 总体方案设计52.2 芯片选型与具体电路设计62.2.1 单片机的选型62.2.2 振荡电路的设计72.2.3 电源和复位电路的设计72.2.5按键电路的设计112.3 系统总体电路122.4 系统所用元器件123 软件系统设计133.1 软件系统总体设计方案133.2 软件系统流程图134 系统调试155 总结165.1 本系统存在的问题及改进措施165.2 心得体会16参考文献17附录:直流电机速度控制器

5、的源程序清单181 设计任务1.1 设计目的和意义 直流电机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动系统中得到了广泛的应用。近年来,交流调速系统发展很快,然而直流拖动系统无论是在理论上还是在实践上都比较成熟,并且从反馈闭环控制的角度来看,它又是交流拖动控制系统的基础,所以直流调速系统在生活中有着举足轻重的作用。虽然随着电力技术的发展,特别是在大功率电力电子器件问世以后,直流电机拖动将有逐步被交流电机拖动所取代的趋势,但在中、小功率场合,常采用永磁直流电动机。早期的直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组

6、成,控制的硬件部分非常复杂,功能单一,而且系统非常不灵活,调试困难。随着单片机技术的不断进步,数字量代替模拟量使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的速度控制提供了更大的灵活性,并使系统能够达到更高的稳定性能,同时还具有软特性好,过载能力强,调速稳定等优势。因此,本课题的研究具有很好的实际意义。1.2 设计任务与要求本次课程设计利用D/A转换器和按键设计一个直流电动机转速控制器。按键定义如下:0 键表示停止,1 键表示1/10转速, 2键表示2/10转速9键表示最高速(D/A输出满量程),键号每加1,D/A输出增加0.5V。2 系统设计2.1 总体方案设计根据系统的要求,确

7、定系统的总体方案如图1所示。其中单片机作为整个系统的核心,读取按键的状态量,经过数据处理后,输出数字量至DAC转换模块,从而控制直流电机的电压。 按键单片机DAC直流电机 图1 系统总体设计方案2.2 芯片选型与具体电路设计2.2.1 单片机的选型本设计采用的单片机是AT89C52,其部分原理图如图2所示。 图2 AT89C52芯片外形结构和引脚分布AT89C52提供以下功能特性:1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz;

8、7、2个串行中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。2.2.2 振荡电路的设计 该电路主要有电容C2、C3和12MHz晶振X1组成。其组成原理图如图3所示,图中XTAL1为芯片内部振荡电路的输入端,XTAL2为芯片内部振荡电路的输出端。 图3 振荡电路 2.2.3 电源和复位电路的设计 单片机通常采用的复位方式有上电复位和按钮复位两种。本次设计用到的复位方式是按钮电平复位。其原理图如图4所示。当

9、按下按钮SW时,电容对R4迅速放电,RESET端变为高电平,RESET松开后,电容通过电阻R4进行充电,RESET端恢复低电平。 图4 复位电路 2.2.4 ADC的选型与单片机接口电路的设计 本设计中采用的数模转换器为DAC0832。DAC0832 是由美国国家半导体公司研制的 8 位双缓冲器D/A转换器。芯片内带有资料锁存器,可与数据总线直接相连。电路有极好的温度跟随性,使用了COMS电流开关和控制逻辑而获得低功耗、低输出的泄漏电流误差。芯片采用R-2RT型电阻网络,对参考电流进行分流完成D/A转换。转换结果以一组差动电流IOUT1和IOUT2输出。 2.2.4.1 DAC0832 主要性

10、能参数:分辨率8位;转换时间1s;参考电压±10V;单电源+5V+15v;功耗 20mW。2.2.4.2 DAC0832 的结构 DAC0832 的内部结构如图5所示。DAC0832 中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE;第二级锁存器称为DAC寄存器,它的锁存信号为传输控制信号 XFER 。因为有两级锁存器,DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同时采集下一个数字量,这样能有效地提高转换速度。此外,两级锁存器还可以在多个D/A转换器同时工作时,利用第二级锁存信号来实现多个转换器同步输出。图5中ILE为高电平、CS和WR1为低电平时,ILE

11、为高电平,输入寄存器的输出跟随输入而变化;此后,当WR1由低变高时,ILE为低电平,资料被锁存到输入寄存器中,这时的输入寄存器的输出端不再跟随输入资料的变化而变化。对第二级锁存器来说,XFER和WR2同时为低电平时,ILE为高电平,DAC寄存器的输出跟随其输入而变化;此后,当WR2由低变高时,ILE变为低电平,将输入寄存器的资料锁存到DAC寄存器中。 图5 DAC0832的逻辑框图和引脚排列 2.2.4.3 DAC0832的引脚特性 DAC0832是20引脚的双列直插式芯片。各引脚的特性如下: CS : 片选信号,和允许锁存信号ILE组合来决定WR1是否起作用。ILE: 允许锁存信号。 WR1

12、: 写信号1,作为第一级锁存信号,将输入资料锁存到输入寄存器(此时,WR1必须和 CS 、ILE同时有效)。 WR2: 写信号2,将锁存在输入寄存器中的资料送到DAC寄存器中进行锁存此时,传输控制信号XFER必须有效)。 XFER: 传输控制信号,用来控制WR2。 DI7DI0:8 位数据输入端。 IOUT1: 模拟电流输出端1。当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。 IOUT2: 模拟电流输出端2。IOUT1 +IOUT2 =常数。 RFB: 反馈电阻引出端。DAC0832内部已经有反馈电阻,所以,RFB端可以直接接到外部运算放大器的输出端。相当于将

13、反馈电阻接在运算放大器的输入端和输出端之间。 VREF: 参考电压输入端,可接电压范围为±10V。外部标准电压通过VREF与T型电阻网络相连。 VCC: 芯片供电电压端。范围为+5V+15V,最佳工作状态是+15V。 AGND: 模拟地,即模拟电路接地端。 DGND: 数字地,即数字电路接地端。 2.2.4.4 DAC0832 的工作方式 DAC0832有3种工作方式: 单缓冲方式:单缓冲方式是控制输入寄存器和 DAC寄存器同时接收资料,或者只用输入寄存器而把DAC寄存器接成直通方式。此方式适用只有一路模拟量输出或几路模拟量异步输出的情形。 双缓冲方式:双缓冲方式是先使输入寄存器接收

14、资料,再控制输入寄存器的输出资料到DAC寄存器,即分两次锁存输入资料。此方式适用于多个D/A转换同步输出的情节。 直通方式: 直通方式是资料不经两级锁存器锁存,即WR1,WR2,XFER,CS 均接地,ILE接高电平。此方式适用于连续反馈控制线路,不过在使用时,必须通过另加I/O接口与CPU连接,以匹配CPU与D/A转换。 DAC0832及其外部电路如图6所示。本设计中选用的是单缓冲型方式,即将P2.6与CS连接。当P2.6=0时,输入寄存器工作,其端口地址为0BFFFH。 图6 DAC0832及其外部电路图 2.2.5 按键电路的设计 原理图如图7所示。 图7 按键电路原理图2.2.6 直流

15、电机部分 原理图如图8所示。 图8 直流电机及其驱动电路2.3 系统总体电路系统总体电路图如图9所示。 图9 系统总体电路图 2.4 系统所用元器件 本系统所用的元器件清单如表1所示。表1 本系统所用的元器件元器件名称数量电阻1k1电阻7.5k1电阻10k1电阻15k2电容10uF1电容10pF2单片机AT89C521数模转换器DAC08321运算放大器2直流电机1按键开关11晶振12MHz1电源VCC导线若干3. 软件系统设计3.1 软件系统总体设计方案 根据系统要求,软件系统总体设计方案图如图10所示。系统初始化系统主程序键盘扫描程序DAC数字输出程序 图10 软件系统总体设计方案图3.2

16、 软件系统流程图 根据系统要求,软件系统流程图如图11所示。 图11 软件系统流程图直流电机速度控制是本次设计的最主要任务,在这次设计中需要DAC0832输出10个不同的模拟电压值,即DAC0832输入的数字量是10个不同值。这些值通个开关来控制,即每一个开关确定P0口输出的一个值。具体程序如下:while(1)if(K0=0) DAC0832=0;/对应输出的电压为0if(K1=0) DAC0832=25;if(K2=0) DAC0832=51;if(K3=0) DAC0832=77;if(K4=0) DAC0832=102;if(K5=0) DAC0832=128;if(K6=0) DAC

17、0832=154;if(K7=0) DAC0832=179;if(K8=0) DAC0832=205;if(K9=0) DAC0832=255; /对应输出电压为5Delayms(20);4 系统调试当按下K0K9键后,得到的不同电压输出值如表2所示。表2 电压输出值按键序号理想电压值实际电压值K00.00V0.00VK10.50V0.50VK21.00V 1.00VK31.50V1.51VK42.00V2.02VK52.50V2.49VK63.00V2.99VK73.50V3.50VK84.00V3.97VK95.00V4.95V由表2可知,本设计已经基本上达到了本次课程设计的要求,即每一个

18、按键对应一个电压输出值。5. 总结5.1 本系统存在的问题及改进措施在直流电机速度控制器的设计当中,主要涉及到2个问题:1、DA转换器输出的电压完全达不到所给的要求,这是因为所选用的DA转换芯片DAC0832精度有限所致。DAC0832是一个8位的转换器,根据输出模拟量与被转换的数字量D的关系可知,肯定会存在误差。如要减少误差,只有提高DA转换精度。 2、一开始本设计采用的DA转换器输出方式为双极性输出,没有键按下的时候,相当于输出的数字量为0,根据输出模拟量与被转换的数字量D的关系可知,此时直流电机两端的输出电压为-5V。后来在老师的提醒下改为单极性输出,在没有键按下的时候直流电机两端的输出电压变为0V,从而解决了这个问题。附

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论