基于单片机控制的电机调速系统.doc

上传人:仙人指路1688 文档编号:4144922 上传时间:2023-04-07 格式:DOC 页数:30 大小:1.73MB
返回 下载 相关 举报
基于单片机控制的电机调速系统.doc_第1页
第1页 / 共30页
基于单片机控制的电机调速系统.doc_第2页
第2页 / 共30页
基于单片机控制的电机调速系统.doc_第3页
第3页 / 共30页
基于单片机控制的电机调速系统.doc_第4页
第4页 / 共30页
基于单片机控制的电机调速系统.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于单片机控制的电机调速系统.doc》由会员分享,可在线阅读,更多相关《基于单片机控制的电机调速系统.doc(30页珍藏版)》请在三一办公上搜索。

1、基于单片机控制的电机调速系统的设计摘要该设计采用MSC51系列单片机控制进行直流电机转速的调控。本文介绍了调速系统的具体工作流程,给出了控制电机转速的各个模块的结构框图。通过测速发电机对电机速度进行测量反馈给主控制器单片机实现闭环控制,是的该系统的随动性能好,抗干扰能力强,稳定性好。为了减小调节器存在的精差值,不影响调节精度,采用了PID控制。在软件设计上,采用了C语言编程,实现直流电机的转速调节控制,使得该系统设计更加灵活,通用性得到提高。关键词:直流电机;51系列单片机;PID算法;电机调速The design of control system based on single-chip

2、mirocomputer control motor speedAbstractThis design uses MSC51 series microcontroller control dc motor speed control. This paper introduces the concrete work flow speed system are given, and control motor speed of each module structure diagram. For motor speed by tachogenerator measured feedback to

3、the main controller SCM realizing closed-loop control, yes this system with dynamic performance is good, strong anti-jamming capability, good stability. In order to reduce the fine difference value is existing regulators, do not affect regulation accuracy, adopted PID control. In software design, ad

4、opted the C programming language, realize dc motor speed regulation control, make the system design is more flexible and generality improved.Keywords: dc motor; 51 series microcontroller; PID algorithm; Motor speed目录第1章绪 论11.1系统背景11.2设计要求11.3发挥部分1第2章设计方案的论证与选择32.1系统基本方案32.2各模块电路的方案选择与论证32.2.1驱动模块32.

5、2.2数据采集处理模块42.2.3滤波电路模块4第3章系统的硬件设计53.18051单片机简介53.1.18051单片机的基本组成53.1.2单片机系统中所用其他芯片选型63.1.38051单片机扩展电路及分析83.2PWM信号发生电路设计93.2.2 PWM信号发生电路设计103.2.3 PWM发生电路主要芯片的工作原理113.33.3 功率放大驱动电路设计123.3.1 芯片IR2110性能及特点123.3.2 IR2110的引脚图以及功能133.43.4 主电路设计133.4.1 延时保护电路133.4.2 主电路143.4.3 输出电压波形153.4.4 系统总体电路图163.5测速发

6、电机173.6滤波电路173.7A/D转换173.7.1芯片选型173.7.2 ADC0809的引脚及其功能18第4章系统的软件设计194.1PI 转速调节器原理图及参数计算194.2系统中的部分程序设计194.2.1 主程序设计194.2.2 PI控制算法子程序设计20第5章结束语22参考文献23附录24第1章 绪 论1.1 系统背景在工业生产和日常生活中,对电机速度的测量和控制占据着重要的地位,有着重要的意义。随着电力电子技术,计算机技术的不断发展和电力电子器件的更新换代,测速和控速技术也得到很大的发展,朝着稳定和精确方向不断迈进。我国生产的电能60%用于电动机,电动机与人们的生活息息相关

7、,密不可分,所以要对电动机的调速有足够的重视。对直流电机速度的控制研究简单直观,对于更加复杂的速度控制能起到很好的示范作用,具有很强的实用性,越来越多的人也开始对电机速度测控进行研究。1.2 设计要求该设计以89C51单片机作为控制核心,并设计了相应的复位电路,时钟电路和串口电路。由PWM信号发生电路产生PWM信号送到直流电机,直流电机通过测速电路,滤波电路,和A/D转换电路交数据重新送回单片机,进行PI运算,从而实现对电机速度和转向的控制,达到直流电机调速的目的。软件设计上对所设计的电路给出了相应的软件设计,包括PID程序和延时程序等。1.3 发挥部分该电机调速控制系统主要完成的功能是对电机

8、转速的调节控制,具体的功能如下所述:能够实时的测得电机转速控制系统所控制的对象的实时转速;转速调节控制效果好,经过实践的测控证明,本控制系统的控制精度较高。该控制系统调速控制过程如下:利用单片机实时对转速进行采集,并传输到控制器,控制器采用PID控制算法来对转速进行控制;主要是通过产生PWM信号输入到控制电路实现转速的控制,然后通过测速发电机将速度转换成电压信号经过滤波和转换送回单片机。第2章 设计方案的论证与选择2.1 系统基本方案在该电机调速系统的设计中,可以采取PWM波调速,也可以采用晶闸管调速,本设计采用PWM波调速方法,主要由8051单片机、PWM信号产生电路、直流电机、测速发电机、

9、滤波电路和A/D转换电路构成。总体方案如图2.1所示。主控芯片PWM信号的产生与放大直流电机测速发电机滤波电路A/D转换图2.1系统总体方框图2.2 各模块电路的方案选择与论证2.2.1 驱动模块 方案一:使用多个功率放大器件驱动电机通过使用不同的放大电路和不同参数的器件,可以达到不同的放大要求,放大后能得到较大的功率。由于电机的功率较大时运行起来会不稳定,而且电路的制作也比较复杂。 方案二:使用IR2110芯片驱动电机功率放大驱动芯片有多种,其中较常用的芯片有IR2110和EXB841,但由于IR2110具有双通道驱动特性,且电路简单,使用方便,价格相对EXB841便宜,具有较高的性价比,且

10、对于直流电机调速使用起来更加简便,因此该驱动电路采用了IR2110集成芯片,使得该集成电路具有较强的驱动能力和保护功能。所以该设计选用方案二。2.2.2 数据采集处理模块 方案一:采用直接数字控制当被控对象的属性模型能够确定时,可采用直接数字控制。所谓属性模型就是系统动态特性的数学表达式,它表示系统输入输出及其内部状态之间的关系。但是一般多用实验的方法测出刺痛的特性曲线,然后再由此曲线确定系统的数学模型。 方案二:采用数字化PID控制由于被控对象是复杂的,因此并非所有的系统均可以求出数学模型,有些即使可以求出来,但是由于被控对象环境的影响,许多参数经常变化,因此很难进行直接数字控制。此时最好选

11、用PID控制。在PID控制算法中,以位置型和增量型2种PID为基础,根据系统的要求,可对PID控制进行必要的改进。通过各种组合,可以得到更圆满的控制系统,以满足各种不同控制系统的要求。由于运用PID算法可以消除静差值,调高调节精度,所以该设计选用方案二。2.2.3 滤波电路模块经整流后的单向直流或单向脉动直流电,都是由强度不变的直流成分和一个以上的交流成分叠加形成的。为了使脉动直流电变得较为平稳,把其中的交流成分滤掉,叫做滤波。滤波有电容滤波、电感滤波等。本系统中对直流电采用电容滤波的方式,使得直流电压变得更加平稳,调速更加精确。第3章 系统的硬件设计3.1 8051单片机简介3.1.1 80

12、51单片机的基本组成 1. 8051单片机由CPU和8个部件组成,它们都通过片内单一总线连接,其基本结构依然是通用CPU加上外围芯片的结构模式,但在功能单元的控制上采用了特殊功能寄存器的集中控制方法。其基本组成如下图所示:图3.1 8051的基本结构图2. 中央处理器CPU:它是单片机的核心,完成运算和控制功能。内部数据存储器:8051芯片中共有256个RAM单元,能作为存储器使用的只是前128个单元,其地址为00H7FH。通常说的内部数据存储器就是指这前128个单元,简称内部RAM。内部程序存储器:8051芯片内部共有4K个单元,用于存储程序、原始数据或表格,简称内部ROM。定时器:8051

13、片内有2个16位的定时器,用来实现定时或者计数功能,并且以其定时或计数结果对计算机进行控制。中断控制系统:该芯片共有5个中断源,即外部中断2个,定时/计数中断2个和串行中断1个。3.8051单片机引脚图图3.2 8051单片机引脚图3.1.2 单片机系统中所用其他芯片选型1.地址锁存器地址锁存器可以选择多种,有地址锁存功能的器件有74LS373、8282、74LS273等,8282是地址锁存器,功能与74LS373类似,但本系统选用74LS373作为地址锁存器,考虑到其应用的广泛性以及具有良好的性价比,成为目前在单片机系统中应该较广泛的地址锁存器。74LS373片内是8个输出带三态门的D锁存器

14、。当使能端呈高电平时,锁存器中的内容可以更新,而在返回低电平的瞬间实现锁存。如果此时芯片的输出控制端为低,也即是输出三态门打开,锁存器中的地址信息便可以通过三态门输出。其引脚图如图2-4所示: 图3.3 74L373引脚图2程序存储器存储器是单片机的又一个重要组成部分,其中程序存储器是单片机中非常重要的存储器,但由于其存储空间不足,常常需要对单片机的存储器空间进行扩展,扩展程序存储器常用芯片有EPROM(紫外线可擦除型),如2716(2KB)、2732(4KB)、2764(8KB)、27128(16KB)、27256(32KB)等,另外还有5V电擦除E2PROM,如2816(2KB)、2864

15、(8KB)等等。考虑到系统功能的可扩展性以及程序功能的扩展,本系统采用16KB的27128作为程序存储器扩展芯片,在满足系统要求的前提下还存有一定的扩展空间,是本系统最合适的程序存储器扩展芯片。27128的引脚图如图2-5所示: 图3.4 27128结构图3数据存储器8051单片机有128B RAM,当数据量超过128B也需要把数据存储区进一步扩展。常用RAM芯片分静态和动态两种。静态RAM有6116(2KB)、6264(8KB)等,动态DRAM2164(8KB)等,另外还有集成IRAM和E2PROM。使用E2PROM作数据存储器有断电保护数据的优点。数据存储器扩展常使用随机存储器芯片,用的较

16、多的是Intel公司的6116容量为2KB和6264容量为8KB。本系统采用容量8KB的6264作为数据存储器扩展芯片。其引脚图如图2-6所示: 图3.5 6264引脚图3.1.3 8051单片机扩展电路及分析图3.6 8051单片机扩展电路及分析接线分析:P0.7-P0.0:这8个引脚共有两种不同的功能,分别使用于两种不同的情况。第一种情况是8051不带片外存储器,P0口可以作为通用I/O口使用,P0.7-P0.0用于传送CPU的I/O数据。第二种情况是8051带片外存储器,P0.7-P0.0在CPU访问片外存储器时先是用于传送片外存储器的低8位地址,然后传送CPU对片外存储器的读写数据。P

17、2.7-P2.0:这组引脚的第一功能可以作为通用的I/O使用。它的第二功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但是并不能像P0口那样还可以传送存储器的读写数据。P3.7-P3.0:这组引脚的第一功能为传送用户的输入/输出数据。它的第二功能作为控制用,每个引脚不尽相同。VCC为+5V电源线,VSS为接地线。ALE/:地址锁存允许/编程线,配合P0口引脚的第二功能使用,在访问片外存储器时,8051CPU在P0.7-P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/线上输出一个高电位脉冲,其下降沿用于把这个片外存储器低8位地址锁存到外部专用地

18、址锁存器,以便空出P0.7-P0.0引脚线去传送随后而来的片外存储器的读写数据。/VPP:允许访问片外存储器/编程电源线,可以控制8051使用片内ROM还是片外ROM。如果=1,那么允许使用片内ROM;如果=0,那么允许使用片外ROM。XTAL1和XTAL2:片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接8051片内OSC的定时反馈电路。石英晶振起振后,应能在XTAL2线上输出一个3V左右的正弦波,以便于8051片内的OSC电路按石英晶振相同频率自激振荡,电容C1、C2可以帮助起振,调节它们可以达到微调fOSC的目的。3.2 PWM信号发生电路设计 3.2. 1 PWM的

19、基本原理PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。如图2-8所示:图3.7 PWM方波设电机始终接通电源时,电机转速最大为Vmax,设占空比为D= t1 / T,则电机的平均速度为Va = Vmax *

20、 D,其中Va指的是电机的平均速度;Vmax 是指电机在全通电时的最大速度;D = t1 / T是指占空比。由上面的公式可见,当我们改变占空比D = t1 / T时,就可以得到不同的电机平均速度Vd,从而达到调速的目的。严格来说,平均速度Vd 与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。3.2.2 PWM信号发生电路设计图3.8 PWM信号发生电路PWM波可以由具有PWM输出的单片机通过编程来得以产生,也可以采用PWM专用芯片来实现。当PWM波的频率太高时,它对直流电机驱动的功率管要求太高,而当它的频率太低时,其产生的电磁噪声就比较大,在实际应用中,当P

21、WM波的频率在18KHz左右时,效果最好。在本系统内,采用了两片4位数值比较器4585和一片12位串行计数器4040组成了PWM信号发生电路。两片数值比较器4585,即图上U2、U3的A组接12位串行4040计数输出端Q2Q9,而U2、U3的B组接到单片机的P1端口。只要改变P1端口的输出值,那么就可以使得PWM信号的占空比发生变化,从而进行调速控制。12位串行计数器4040的计数输入端CLK接到单片机C51晶振的振荡输出XTAL2。计数器4040每来8个脉冲,其输出Q2Q9加1,当计数值小于或者等于单片机P1端口输出值X时,图中U2的(AB)输出端保持为低电平,而当计数值大于单片机P1端口输

22、出值X时,图中U2的(AB)输出端为高电平。随着计数值的增加,Q2Q9由全“1”变为全“0”时,图中U2的(AB)输出端又变为低电平,这样就在U2的(AB)端得到了PWM的信号,它的占空比为(255 -X / 255)*100%,那么只要改变X的数值,就可以相应的改变PWM信号的占空比,从而进行直流电机的转速控制。使用这个方法时,单片机只需要根据调整量输出X的值,而PWM信号由三片通用数字电路生成,这样可以使得软件大大简化,同时也有利于单片机系统的正常工作。由于单片机上电复位时P1端口输出全为“1”,使用数值比较器4585的B组与P1端口相连,升速时P0端口输出X按一定规律减少,而降速时按一定

23、规律增大。3.2.3 PWM发生电路主要芯片的工作原理1数据比较器具有数据比较功能的芯片有74LS6828,74LS6838等8位数值比较器,4位数值比较器4585等。本PWM发生电路通过两片4位数值比较器4585就可实现PWM信号的产生,因此选用4585作为信号发生电路。芯片4585的引脚图:图3.9 4585引脚图2串行计数器 系统PWM信号发生电路中还使用到一片串行计数器,有串行计数功能的芯片有4024、4040等,它们具有相同的电路结构和逻辑功能,但4024是7位二进制串行计数器,而芯片4040是一个12位的二进制串行计数器,所有计数器位为主从触发器,计数器在时钟下降沿进行计数。当CR

24、为高电平时,它对计数器进行清零,由于在时钟输入端使用施密特触发器,故对脉冲上升和下降时间没有限制,所有的输入和输出均经过缓冲。本系统使用4040作为串行计数器,芯片4040的引脚图如图2-11所示:图3.10 4040引脚图3.3 功率放大驱动电路设计功率放大驱动芯片有多种,其中较常用的芯片有IR2110和EXB841,但由于IR2110具有双通道驱动特性,且电路简单,使用方便,价格相对EXB841便宜,具有较高的性价比,且对于直流电机调速使用起来更加简便,因此该驱动电路采用了IR2110集成芯片,使得该集成电路具有较强的驱动能力和保护功能。3.3.1 芯片IR2110性能及特点IR2110是

25、美国国际整流器公司利用自身独有的高压集成电路以及无闩锁CMOS技术,于1990年前后开发并且投放市场的,IR2110是一种双通道高压、高速的功率器件栅极驱动的单片式集成驱动器。它把驱动高压侧和低压侧MOSFET或IGBT所需的绝大部分功能集成在一个高性能的封装内,外接很少的分立元件就能提供极快的功耗,它的特点在于,将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较高,可以达到600V,其内设欠压封锁,成本低、易于调试。高压侧驱动采用外部自举电容上电,与其他驱动电路相比,它在设计上大大减少了驱动变压器和电容的数目,使得MOSFET和IGBT

26、的驱动电路设计大为简化,而且它可以实现对MOSFET和IGBT的最优驱动,还具有快速完整的保护功能。与此同时,IR2110的研制成功并且投入应用可以极大地提高控制系统的可靠性。降低了产品成本和减少体积。3.3.2 IR2110的引脚图以及功能IR2110将输入逻辑信号转换成同相低阻输出驱动信号,可以驱动同一桥臂的两路输出,驱动能力强,响应速度快,工作电压比较高,是目前功率放大驱动电路中使用最多的驱动芯片。其结构也比较简单,芯片引脚图如下所示:图3.11 IR2110引脚图3.4 主电路设计3.4.1 延时保护电路利用IR2110芯片的完善设计可以实现延时保护电路。IR2110使它自身可对输入的

27、两个通道信号之间产生合适的延时,保证了加到被驱动的逆变桥中同桥臂上的两个功率MOS器件的驱动信号之间有一互琐时间间隔,因而防止了被驱动的逆变桥中两个功率MOS器件同时导通而发生直流电源直通路的危险。3.4.2 主电路从上面的原理可以看出,产生高压侧门极驱动电压的前提是低压侧必须有开关的动作,在高压侧截止期间低压侧必须导通,才能够给自举电容提供充电的通路。因此在这个电路中,Q1、Q4或者Q2、Q3是不可能持续、不间断的导通的。我们可以采取双PWM信号来控制直流电机的正转以及它的速度。将IC1的HIN端与IC2的LIN端相连,而把IC1的LIN端与IC2的HIN端相连,这样就使得两片芯片所输出的信

28、号恰好相反。在HIN为高电平期间,Q1、Q4导通,在直流电机上加正向的工作电压。其具体的操作步骤如下:当IC1的LO为低电平而HO为高电平的时候,Q2截止,C1上的电压经过VB、IC内部电路和HO端加在Q1的栅极上,从而使得Q1导通。同理,此时IC2的HO为低电平而LO为高电平,Q3截止,C3上的电压经过VB、IC内部电路和HO端加在Q4的栅极上,从而使得Q4导通。电源经Q1至电动机的正极经过整个直流电机后再通过Q4到达零电位,完成整个的回路。此时直流电机正转。在HIN为低电平期间,LIN端输入高电平,Q2、Q3导通,在直流电机上加反向工作电压。其具体的操作步骤如下:当IC1的LO为高电平而H

29、O为低电平的时候,Q2导通且Q1截止。此时Q2的漏极近乎于零电平,Vcc通过D1向C1充电,为Q1的又一次导通作准备。同理可知,IC2的HO为高电平而LO为低电平,Q3导通且Q4截止,Q3的漏极近乎于零电平,此时Vcc通过D2向C3充电,为Q4的又一次导通作准备。电源经Q3至电动机的负极经过整个直流电机后再通过Q2到达零电位,完成整个的回路。此时,直流电机反转。因此电枢上的工作电压是双极性矩形脉冲波形,由于存在着机械惯性的缘故,电动机转向和转速是由矩形脉冲电压的平均值来决定的。设PWM波的周期为T,HIN为高电平的时间为t1,这里忽略死区时间,那么LIN为高电平的时间就为T-t1。HIN信号的

30、占空比为D=t1/T。设电源电压为V,那么电枢电压的平均值为:Vout= t1 - ( T - t1 ) V / T = ( 2 t1 T ) V / T = ( 2D 1 )V定义负载电压系数为,= Vout / V, 那么 = 2D 1 ;当T为常数时,改变HIN为高电平的时间t1,也就改变了占空比D,从而达到了改变Vout的目的。D在01之间变化,因此在1之间变化。如果我们联系改变,那么便可以实现电机正向的无级调速。当=0.5时,Vout=0,此时电机的转速为0;当0.5negsum) k2=possum-negsum; /存储结果 CY=0; temp1=k3+k1; /误差积累, i

31、f(CY=1) /16位判断。 UK=0xfe; else UK=k1+k3; elseUK=1;P3=UK;第5章 结束语本系统用单片机AT89C51作为直流电机调速系统的控制核心,利用测速发电机测量直流电机的转速,控制直流电机的转动速度,用 PWM 调速方式控制直流电机转动的速度,以及停止转动,并可以自动调节速度至预先设定的速度。 整个系统的电路逻辑结构简单,可靠性能高,实现功能强。通过这次电机调速系统的设计,我对直流电机有了更深的了解,对单片机也有了更进一步的了解,单片机的种类多而且型号杂,也是我们学习中的困难,就51系列单片机来说很具有典型性而且容易入门。单片机的编程可以采用c语言也可

32、以采用汇编语言,编程讲究的是多动手写,自己写,用自己的思路,不怕写错,写错再改,懂得有新的思想这样才能提高。在这次单片机应用系统设计中我也曾遇到过很大的困难,主要是由于平时对知识的掌握不牢,通过查阅很多资料和类似文章才完成。由于时间的仓促,经验缺乏,知识面狭窄等原因,导致设计中存在一些不足。由于我在电子电路基础方面不是很熟练,在设计中也表现出来了,但是这也提醒我要加倍努力去学习这方面的知识。光靠这次的设计实践是不能对能力提高很多的,要以这次设计经验为基础,更多的参加这样的动手实践,不断积累经验,这对将来走上社会有着很重要的意义。参考文献【1】肖洪兵,胡辉,郭速学.跟我学用单片机.北京航空航天大

33、学出版社.2002.8.【2】张鑫,华臻,陈书谦.单片机原理及应用.电子工业出版社.2005.8【3】王晓明.电动机的单片机控制.北京航空航天大学出版社.1993.8【4】赵广林.PROTEL 99SE电路设计与制板.电子工业出版社.2005.5【5】江冰,朱锡芳,王枚.电子技术基础及应用.机械工业出版社.2004.1【6】李华.MCS-51系列单片机实验接口技术.北京航空航天大学出版社.1993.8【7】马忠梅,籍顺心,张凯.单片机的c语言应用程序设计.1999.1【8】李光飞,楼然苗.单片机课程设计实例指导.北京航空航天大学出版社.2004.3【9】求是科技.单片机应用系统开发实例导航.人

34、民邮电出版社.2003.10【10】谢维成,杨加国.单片机原理与应用及C51程序设计.清华大学出版社.2006.8.附录(1)延时程序 void dealy() uchar i; for(i=0;inegsum) k2=possum-negsum; /存储结果 CY=0; temp1=k3+k1; /误差积累, if(CY=1) /16位判断。 UK=0xfe; else UK=k1+k3; elseUK=1;P3=UK;(3)主程序 void main() P1=0x00;P3=0x00; TMOD=0x01; /*定时器0方式1*/ TH0=0xfc; /*定时器装载初值*/ TL0=0x18; ET0=1; /*开定时器0中断*/ TR0=1; /*启动定时器0*/ while(1) if(P1_0=1) P1=0xff; if(P1_1=1)EA=0; /*关CPU中断*/if(P1_2=1)dir=dir; /*转向控制*/while(P1_2!=0);if(P1_3=1) high+; if(high=30) high=0; while(P1_3!=0); 整体电路图

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号