直流电机速度控制综述.docx

上传人:b****4 文档编号:6325762 上传时间:2023-05-09 格式:DOCX 页数:25 大小:280.21KB
下载 相关 举报
直流电机速度控制综述.docx_第1页
第1页 / 共25页
直流电机速度控制综述.docx_第2页
第2页 / 共25页
直流电机速度控制综述.docx_第3页
第3页 / 共25页
直流电机速度控制综述.docx_第4页
第4页 / 共25页
直流电机速度控制综述.docx_第5页
第5页 / 共25页
直流电机速度控制综述.docx_第6页
第6页 / 共25页
直流电机速度控制综述.docx_第7页
第7页 / 共25页
直流电机速度控制综述.docx_第8页
第8页 / 共25页
直流电机速度控制综述.docx_第9页
第9页 / 共25页
直流电机速度控制综述.docx_第10页
第10页 / 共25页
直流电机速度控制综述.docx_第11页
第11页 / 共25页
直流电机速度控制综述.docx_第12页
第12页 / 共25页
直流电机速度控制综述.docx_第13页
第13页 / 共25页
直流电机速度控制综述.docx_第14页
第14页 / 共25页
直流电机速度控制综述.docx_第15页
第15页 / 共25页
直流电机速度控制综述.docx_第16页
第16页 / 共25页
直流电机速度控制综述.docx_第17页
第17页 / 共25页
直流电机速度控制综述.docx_第18页
第18页 / 共25页
直流电机速度控制综述.docx_第19页
第19页 / 共25页
直流电机速度控制综述.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

直流电机速度控制综述.docx

《直流电机速度控制综述.docx》由会员分享,可在线阅读,更多相关《直流电机速度控制综述.docx(25页珍藏版)》请在冰点文库上搜索。

直流电机速度控制综述.docx

直流电机速度控制综述

摘要

当今,计算机控制系统已经在各行各业中得到了广泛的应用和发展,而直流驱动控制作为电器传动的主流在现代化生产中起着主导作用。

由于生产过程的不同要求,需要电动机进行不同转速的运转。

为此,研究并制造高性能、高可靠性的直流电动机控制系统有着十分重要的显示意义。

本设计主要运用AT89C51单片机为核心硬件,对直流电动机进行速度控制。

并且辅助以硬件部分的驱动、复位、LED显示等电路,软件部分对AT89C51进行模块化程序的输入,通过按钮控制,实现对直流电动机的正转、反转、加速、减速和停止等控制功能。

同时,由LED与电动机转速显示控制效果。

利用AT89C51芯片进行低成本直流电动机控制系统设计,简化系统构成、提高系统性能,满足了生产要求。

关键词:

计算机控制AT89C51单片机直流电动机

第1章绪论

随着社会的发展,各种智能化的产品日益走入寻常百姓家。

为了实现产品的便携性、低成品以及对电源的限制,小型直流电机应用相当广泛。

对直流电机的速度调节,我们可以采用多种办法,本文在给出直流电机调整和PWM实现方法的基础上,提供一种用单片机软件实现PWM调速的方法。

直流电动机有良好的起动、制动性能,宜于在广范围内平滑调速,至今在金属切削机床、造纸机等需要高性能可控电力拖动的领域中仍有广泛的应用。

直流调速系统在不断发展,尤其是近年来,国内外各厂家竞相推出全数字直流调速装置,使得直流调速系统在理论和实践方面都迈上了一个新的台阶。

以往的直流调速装置是全模拟式设备。

变电压调速是直流调速的主要方法,常用晶闸管可控整流器做可控直流电源。

这些旧设备急待更新改造。

另外,目前高等院校的电力拖动自动控制系统的实验教学,还采用全模拟式的实验设备,尚无适合于教学的全数字式直流调速实验装置,有待于开发。

直流电动机具有优良的调速特性,调速平滑、方便,调速范围广;过载能力大,能承受频繁的冲击负载可实现频繁的无级快速起动、急停和反转;能满足生产过程自动化系统各种不同的特殊运行要求。

电动机调速系统采用微机实现自动控制,是电气传动发展的主要方向之一。

采用微机控制后,整个调速系统实现自动化,结构简单,可靠性高,操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要求。

由于单片机性能优越,具有较佳的性能价格比,所以单片机在工业过程及设备控制中得到日益广泛的应用。

PWM调速系统与可控整流式调速系统相比有下列优点:

由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好:

同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;开关器件只工作在开关状态,主电路损耗小,装置效率高。

通过单片机来实现电机调整有多种途径。

相对于其他用硬件或者硬软结合的方法实现对电机进行调整,采用PWM用纯软件的方法来实现调速过程,具有更大的灵活性和更低的成本,能够充分发挥单片机的效能,对于简易速度控制系统的实现提供了一种有效的途径。

对于软件,采用计数法加软件延时法进行设计的思路,为采用纯软件对电机速度的平滑调节提供了一种不错的解决方案,经过在“油辊电机控制系统”中的实际应用证明,能够取得满意的效果。

本文是对直流电机PWM调速器设计的研究,主要实现对电机的控制。

本课程设计主要是实现PWM调速器的正转、反转、加速、减速、急停等操作。

并实现电路的仿真。

为实现系统的微机控制,在设计中,采用了AT89C51单片机作为整个控制系统的控制电路的核心部分,配以各种显示、驱动模块,实现对电动机转速参数的显示和测量;由命令输入模块、光电隔离模块及H型驱动模块组成。

采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,不断给光电隔离电路发送PWM波形,H型驱动电路完成电机正反转控制.在设计中,采用PWM调速方式,通过改变PWM的占空比从而改变电动机的电枢电压,进而实现对电动机的调速。

设计的整个控制系统,在硬件结构上采用了大量的集成电路模块,大大简化了硬件电路,提高了系统的稳定性和可靠性,使整个系统的性能得到提高。

 

第2章系统论述

2.1总体方案

直流电机PWM控制系统的主要功能包括:

直流电机的加速、减速以及电机的正转和反转,调整电机的转速,还能方便的读出电机转速的大小,实现电机的智能控制。

其间,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。

该直流电机系统由以下电路模块组成:

振荡器和时钟电路,这部分电路主要由89C51单片机和一些电容、晶振组成。

输入部分:

这一模块主要是利用带中断的独立式键盘来实现。

控制部分:

主要由89C51单片机的外部中断扩展电路组成。

显示部分:

包括液晶显示部分和LED数码显示部分。

显示部分由SM410564四位共阳数码管组成显示模块;LED数码显示部分由七段数码显示管组成。

直流电机PWM控制实现部分:

主要由一些二极管、电机和L298直流电机驱动模块组成。

2.2基本原理

1)主体电路:

直流电机PWM控制模块:

这部分电路主要由89C51单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,还可以方便的读出电机转速的大小和了解电机的转向,能够很方便的实现电机的智能控制。

此外,还包括直流电机的直接清零、启动(置数)、暂停、连续功能。

其间是通过89C51单片机产生脉宽可调的脉冲信号并输入到L298驱动芯片来控制直流电机工作的。

2)各部分电路模块的组成:

(a)设计输入部分:

这一模块主要是利用带中断的独立式键盘来实现。

(c)设计控制部分:

主要由89C51单片机的外部中断扩展电路组成。

(b)设计显示部分:

是直接采用SM410564四位共阳数码管组成显示模块。

3)直流电机PWM控制实现部分:

主要由一些二极管、电机和L298直流电机驱动模块组成。

2.3原理框图

1)系统组成:

如图2-1所示

图2-1直流电机PWM调速方案

2)方案说明:

直流电机PWM调速系统以AT89C51单片机为控制核心,由命令输入模块、LED显示模块及电机驱动模块组成。

采用带中断的独立式键盘作为命令的输入,单片机在程序控制下,定时不断给直流电机驱动芯片发送PWM波形,H型驱动电路完成电机正,反转控制;同时单片机不停的将从键盘读取的数据送到LED显示模块去显示,从中不仅能读取其速度,而且能知道它的转向。

 

第3章系统的硬件设计

3.1单片机最小系统的设计

1)单片机AT89C51:

AT89C51是一种带4K字节闪烁可编程可擦出只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术,与工业标准MCS-51指令集合输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。

2)复位电路及时钟电路:

复位电路和时钟电路是维持单片机最小系统运行的基本模块。

两种常用复位电路:

上电复位和手动复位。

其中:

上电复位,如图3-1所示;手动复位,如图3-2所示。

图3-1上电复位图3-2手动复位

有时系统在运行过程中出现程序跑飞的情况,在程序开发过程中,经常需要手动复位。

所以本次设计选用手动复位。

高频率的时钟有利于程序更快的运行,也有利于实现更高的信号采样率,从而实现更多的功能。

但是高速对系统的要求较高,而且功耗大,运行环境苛刻。

考虑到单片机本身用于控制,而并非高速信号采样处理,所以选取合适的频率即可。

合适频率的晶振对于选频信号强度准确度都有好处。

本次设计选取12.0M无源晶振接入XTAL1和XTAL2引脚。

并联2个30pF陶瓷电容帮助起振。

单片机最小系统如图3-3所示:

图3-3单片机最小系统

3.2电源电路设计

直流稳压电源的基本原理:

直流稳压电源一般有电源变压器T、整流滤波电路及稳压电路所组成,基本框图如图3-4所示。

图3-4直流电源原理

1)电源变压器T:

将220V的交流电压变换成整流滤波电路所需要的交流电压Ui,变压器副边与原边的功率比为P2/P1=n,式中n是变压器的效率。

2)整流电路:

整流电路将交流电压Ui变换成脉动的直流电压。

再经滤波电路滤除较大的波纹成分,输出波纹较小的直流电压U1。

常用的整流滤波电路有全波整流滤波、桥式整流滤波等。

3)滤波电路:

各滤波电路C满足RL-C=(3~5)T/2,式中T为输入交流信号周期,RL为整流滤波电路的等效负载电阻。

4)稳压电路:

常用的稳压电路有两种形式:

一是稳压管稳压电路,二是串联型稳压电路。

二者的工作原理有所不同。

稳压管稳压电路其工作原理是利用稳压管两端的电压稍有变化,会引起其电流有较大变化这一特点,通过调节与稳压管串联的限流电阻上的压降来达到稳定输出电压的目的。

它一般适用于负载电流变化较小的场合。

串联型稳压电路是利用电压串联负反馈的原理来调节输出电压的。

集成稳压电源事实上是串联稳压电源的集成化。

3.3直流电机驱动电路设计

由于单片机P3口输出的电压最高才有5V,难以直接驱动直流电机。

所以我们需要使用恒压恒流桥式2A驱动芯片L298N来驱动电机。

本设计所采用的L298N,可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。

4脚VS接电源电压,VS电压范围VIH为+2.5~46V,输出电流可达2.5A,可驱动电感性负载。

1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机,连接于OUT1和OUT2端口之间(电动机在子图中未画出)。

此外,5,7脚接输入控制电平,控制电机的正反转。

EnA,EnB接控制使能端,控制电机的停转。

同时,需要加四个二极管在电机的两端,防止电机反转的时候产生强大的冲击电流烧坏电机。

具体直流电机驱动电路,如图3-5所示。

图3-5驱动电路

3.4显示模块设计

本次设计显示模块直接采用的是SM410564四位共阳数码管显示。

又因为单片机的输出端口输出的电流较小,点亮数码管的能力不大,所以需要采用三极管对输出电流进行放大,此次三极管采用的是C9013,具体放大电路如图3-6所示:

图3-6放大电路

3.5按钮电路设计

正转、反转、急停、加速、减速五个开关分别与单片机的P1.0,P1.1,P1.2,P1.3,P1.4相连,然后再与地相连。

急停实现直流电机的停转,正转实现直流电机的正转,反转实现直流电机的反转,加速实现直流电机的加速,减速实现直流电机的减速,其电路如图3-7所示。

图3-7控制按钮电路

3.6元件参数选择

1)实际计算过程

(a)变压器选择:

变压器选择双15V变压,考虑到电流不需要太大,最大电流为1A,实际选择变压器输出功率为10W,可以很好的满足要求。

(b)整流桥:

考虑到电路中会出现冲击电流,整流桥的额定电流是工作电流的2~3倍。

选取RS301(100V,3A)即可,实际购买过程中选择了RS30(700V,3A)也符合设计要求。

(c)滤波电容:

考虑到对纹波电压要求比较高,故选择了2200μF耐压值为25V以及100μF耐压值50v的电解电容。

(d)去耦电容:

去耦电容的选择是7812及7805芯片要求的,查手册可知分别为0.01μF,用来滤除高频分量防止产生自激。

(e)电解电容:

为了防止负载产生冲击电流,故在输出端加入2200μF、耐压值为25V的电解电容。

(f)7805支路的元件参数基本相同。

2)直流电源产生电路:

12V如图3-7所示、5V如图3-8所示:

图3-712V电源

图3-85V电源

注:

系统整体硬件电路图,详见附录A。

 

第4章系统的软件设计

4.1总体方案

利用P3口,编制程序输出一串脉冲,经放大后驱动直流电机,改变输出脉冲的电平的持续时间,达到使电机正转、反转、加速、减速、停转等目的。

由软件编程从P3.0/P3.1管脚产生PWM信号,经驱动电路输出给电机,从而控制电机得电与失电。

软件采用延时法进行设计。

单片机上电后,系统进入准备状态。

当按动启动按钮后,根据P3.0为高电平时实现电机正转,P3.1为高电平时实现电机反转。

根据不同的加减速按钮,调整P3.0/P3.1输出高低电平时的占空比,从而可以控制P3.0/P3.1输出高低电平时的有效值,进而控制电机的加减速。

其总体流程图如图4-1所示:

图4-1总体程序流程图

P3.0/P3.1脉冲宽度调制器(PWM)通道,它们产生可由编程决定宽度和间隔的脉冲。

脉冲的间隔周期是由一个FOR循环控制,来产生不同的占空比。

单片机产生的PWM信号不能直接驱动电机,这就需要设计合适的驱动电路,用以可以间接地驱动电机,使其能够正常运行。

为此,我们可借助于恒压恒流桥式2A驱动芯片L298N来完成对电动机的驱动。

具体的设计方法是通过KeilC编程,Proteus联合仿真来实现的。

4.2相关软件介绍

1)Proteus

Proteus是一种低投资的电子设计自动化软件,提供SchematicDrawing,SPICE仿真与PCB设计功能,这一点Proteus与multisim比较类似,只不过它可以仿真单片机和周边设备,可以仿真51系列、AVR,PIC等常用的MCU,与Keil和MPLAB不同的是它还提供了周边设备的仿真,只要给出电路图就可以仿真,例如373,led,示波器,Proteus提供了大量的元件库有RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件,编译方面支持Keil和MPLAB,里面有大量的例子参考。

(a)Proteus可提供的仿真元件资源Proteus软件提供了可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库;

(b)Proteus可提供的仿真仪表资源虚拟仪器仪表的数量、类型和质量,是衡量仿真软件实验室是否合格的一个关键因素。

在Proteus软件中,理论上同一种仪器可以在一个电路中随意的调用;

(c)除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来;

(d)Proteus还提供了比较丰富的测试信号用于电路的测试。

这些测试信号包括模拟信号和数字信号。

2)Keil

Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译器软件。

后来随着开发人员的不断努力以及版本的不断升级,使它已经成为了一个重要的单片机开发平台,不过KEIL的界面并不是非常复杂,操作也不是非常困难,很多工程师的开发的优秀程序都是在KEIL的平台上编写出来的。

可以说它是一个比较重要的软件,熟悉他的人很多很多,用户群极为庞大,要远远超过伟福等厂家软件用户群,操作有不懂的地方只要找相关的书看看,到相关的单片机技术论坛问问,很快就可以掌握它的基本使用了。

(a)Keil的UVision2可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路),也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;

(b)可以使用UVision2的内嵌模块KeilMonitor-51,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真;

(c)uVision2调试器具备所有常规源极调试,符号调试特性以及历史跟踪,代码覆盖,复杂断点等功能。

DDE界面和shift语言支持自动程序测试。

4.3应用软件的编制、调试

使用Keil软件工具时,项目开发流程和其它软件开发项目的流程极其相似。

1)创建一个项目,从器件库中选择目标器件,配置工具设置;

2)用C语言或汇编语言创建源程序;

3)用项目管理器生成应用;

4)修改源程序中的错误;

5)测试,连接应用。

注:

控制程序,详见附录B。

 

第5章仿真结果与分析

5.1仿真电路图

如图5-1所示:

图5-1仿真电路图

5.2仿真结果

1)半速运行状态,运行结果如图5-1所示:

图5-1电机半速运行

2)按下急停键,停止运行如图5-2所示:

图5-2电机停止运行

3)按下加速键,加速运行如图5-3所示:

图5-3电机加速运行

4)按下减速键,减速运行如5-4所示:

图5-4电机减速运行

5)按下反转键,反转运行如图5-5所示:

图5-5电机反向运行

 

第6章总结

本次的课程设计也让我看到了团队的力量,我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,必须发扬团结协作的精神。

团结协作是我们成功的一项非常重要的保证。

而这次设计也正好锻炼我们这一点,这也是非常宝贵的。

这次课程设计,运用AT89C51单片机为核心硬件,设计了直流电机的转速控制系统。

实现了对直流电机的停止、加速、减速、正转、反转等多种控制功能,基本满足设系统计的要求。

同时,在驱动芯片和电动机的连接之间我们有加入续流二极管,在电机反向运转时进行续流,避免烧坏电机及其他元件。

在此设计中P0口作为输出端口,我们在P0口接入了排阻使电路复位后P0口输出的为高电平。

通过本次课程设计,学习与掌握了AT98C51单片机的基本原理及其各种应用,对它的各种硬件接口与软件设计方法有较深入的认识。

对自动控制系统的动、静态性能及其控制有了一定的认识。

本设计重点在于应用,因此在设计过程中使自己的动手能力得到锻炼,同时提高了解决实际问题的能力

 

参考文献

[1]张琛.直流无刷电动机原理及应用[M],北京:

北京机械工业出版社,1996.

[2]周兴华.用单片机控制直流电机变速[J],电子制作,2006,Vol.34,NO.6:

34-35.

[3]岳东海,颜鹏.直流电机PWM无级调速控制系统设计[J],价值工程,2010,Vol.14,NO.2:

135-136.

[4]郭浩.3A驱动能力PWM直流电机控制电路的制作[J],电子制作,2007,Vol.9,NO.10:

42-43.

[5]杨斌文,梅英,徐宇明.并励直流电动机的机械特性分析(英文)[J],湖南文理学院报(自然科学版),2006,V0l.18,DO.2:

60-61,68.

[6]王鉴光.电动机控制系统[M],北京:

北京机械工业出版社,1994.

[7]王小明.电动机的单片机控制[M],北京:

北京航空航天大学出版社,2002.

[8]顾绳谷.电机及拖动基础[M],北京:

机械工业出版社,2007.

 

附录A:

系统整体硬件电路图

系统整体硬件电路图

 

附录B:

程序代码

#include

#defineuncharunsignedchar

#defineunintunsignedint

unsignedcharcodedispcode[]={0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90,0x88,0x83,

0xc6,0xa1,0x86,0x84,0xff,0xbf};//显示代码

unsignedchardispbitcode[]={0xfe,0xfd,0xfb,0xf7};//位选口

unsignedchardispbuf[4]={0,0,0,0};

unsignedchardispbitcnt;

unintmstcnt;

uninti;

unintcount=0;

unchartp=0;

voidledshow();

voidkeyscan();

voiddelay();

voidjust();

voidturn();

voidmotorstop();

voidspeedup();

voidspeeddown();

voidmain(void)

{

P3_0=1;

P3_1=0;

dispbuf[0]=16;

TMOD=0x02;

TH0=0x06;

TL0=0x06;

TR0=1;

ET0=1;

EA=1;

while

(1)

{

ledshow();//数码管显示

keyscan();//键盘扫描

}

}

//延时10ms程序

voiddelay()

{

unsignedchari,j;

for(i=20;i>0;i--)

for(j=248;j>0;j--);

}

//键盘扫描程序

voidkeyscan()

{

unchartemp=0;

P1=0xff;

if((P1&0x1f)!

=0x1f)

{

delay();

if((P1&0x1f)!

=0x1f)

{

temp=P1&0x1f;

switch(temp)

{

case0x1e:

just();break;

case0x1d:

turn();break;

case0x1b:

motorstop();break;

case0x17:

speedup();break;

case0x0f:

speeddown();break;

}

}

}

while((P1&0x1f)!

=0x1f);

}

//数码管显示程序

voidledshow()

{

P0=dispcode[dispbuf[dispbitcnt]];

P2=dispbitcode[dispbitcnt];

dispbitcnt++;

if(dispbitcnt==4)

{

dispbitcnt=0;

}

P2=0x01;P0=dispcode[dispbuf[0]];

for(i=0;i<700;i++);

P2=0x02;P0=dispcode[dispbuf[1]];

for(i=0;i<700;i++);

P2=0x04;P0=dispcode[dispbuf[2]];

for(i=0;i<700;i++);

P2=0x08;P0=dispcode[dispbuf[3]];

for(i=0;i<700;i++);

dispbuf[1]=tp/100;

dispbuf[2]=(tp%100)/10;

dispbuf[3]=tp%10;

}

//中断服务程序

voidt0(void)interrupt1using0

{

mstcnt++;

if(mstcnt==8)

{

mstcnt=0;

P0=dispcode[dispbuf[dispbitcnt]];

P2=dispbitcode[dispbitcnt];

dispbitcnt++;

if(dispbitcnt==4)

{

dispbitcnt=0;

}

}

if(count>100)

count=0;

if(count>tp)

P3_7=0;

elseP3_7=1;

count++;

}

voidjust()

{

P3_0=1;

P3_1=0;

dispbuf[0]=16;

}

voidturn()

{

P3_0=0;

P3_1=1;

dispbuf[0]=17;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2