ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:575.20KB ,
资源ID:4717238      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4717238.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的直流电机调速系统的设计论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的直流电机调速系统的设计论文.docx

1、基于单片机的直流电机调速系统的设计论文 摘 要 论文的时候又让让 直流电机是通电线圈在磁场的作用下产生一电磁力,电磁力产生一个作用于电枢的力矩(即电磁转矩),使电机转动。电机转动的速度与电机两端施加的电压成正比,输出转矩则与电流成正比,其通-断比率对应于所需速度。根据题目要求,系统可分为控制部分和速度检测部分。本系统采用两片AT89S52单片机作为核心控制器,通过红外对接管组成的自制传感器对电机转速进行测量。单片机采样单位时间的电机转速后,通过PID控制算法校正PWM(脉冲宽度调制)控制电机驱动电路(H桥)驱动直流电动机完成转向和速度的控制。然后由两个4位数码管来显示直流电机当前的欲设速度和实

2、际转速。关键字:AT89S52 直流电机 PID PWM 电机驱动电路AbstractDc motor is made.put coil in magnetic field under the action of produce a electromagnetic force, electromagnetic force produced a role in the armature torque, namely electromagnetic torque motor rotation, making. Motor rotation speed and motor applied volta

3、ge is proportional to the ends, the output torque is proportional to its current on-and-off broken rate corresponding to the required speed. According to the topic request, the system can be divided into the control part and speed detection parts. The system USES AT89S52 SCM as core controller, thro

4、ugh infrared to tube composed of homemade sensors to motor speed measuring, microcontroller sampling, through the PID control algorithm produces PWM (pulse width modulation) control motor driver circuit driver for dc complete dc motor speed control of steering and. Then by eight digital tube to disp

5、lay the single-chip microcomputer control with measurement results.Key word: AT89S52 dc motor PID PWM motor driver circuit引 言随着生活的日新月异,电气产品在生活中的应用越来越广泛,各种类型的电机更是层出不穷,然而在自动控制系统、电子仪器设备、家用电器、电子玩具等方面,直流电机的应用还是占有突出地位。比如大家熟悉的录音机、电唱机、录相机、电子计算机等,都不能缺少直流电机。直流电机具有良好的启动性能和调速特性,它的特点是启动转矩大,最大转矩大,能在宽广的范围内平滑、经济地调速

6、,转速控制容易,调速后效率很高。相对于交流电机而言,直流电机的调速是比较简单,而且它的利用价值更高。本系统就是对直流电机调速的一个阐释!早期直流传动的控制系统采用模拟分离器件构成,由于模拟器件有其固有的缺点,如存在温漂、零漂电压,构成系统的器件较多,使得模拟直流传动系统的控制精度及可靠性较低。随着计算机控制技术的发展,微处理器已经广泛使用于直流传动系统,实现了全数字化控制。由于微处理器以数字信号工作,控制手段灵活方便,抗干扰能力强。所以,全数字直流调速控制精度、可靠性和稳定性比模拟直流调速系统大大提高。所以,直流传动控制采用微处理器实现全数字化,使直流调速系统进入一个崭新的阶段。随着科技水平的

7、提高,越来越多的直流电机需要它在正常工作的同时,对它的转速也要能够精确的进行控制,这就要求直流电机的转速不仅要能够在它允许的范围内转动,还要能够通过系统能够自动的调节电机的转速。第一章 总体方案的选择1.1 方案一:PWM波调速 采用由达林顿管组成的H型PWM电路(H桥)(图1)。用单片机控制达林顿管,使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和、截止状态下,效率非常高。H桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。在我的论文里面,H桥采用了定频调宽的方式,因为采用这种方式电动机在运转时比较稳

8、定,并且在采用单片机产生PWM脉冲的软件实现上比较方便,对于直流电机采用软件延时所产生的定时误差在允许范围内。总之,PWM从处理器到被控系统信号都是数字形式的,无需进行数模转换,同时对噪声抵抗能力的增强,不仅经济,而且节约空间。图1 PWM波调速电路1.2 方案二:晶闸管调速采用闸流管或汞弧整流器的离子拖动系统是最早应用静止式变流装置供电的直流电动机调速系统。1957年,晶闸管(俗称“可控硅”)问世,到了60年代,已生产出成套的晶闸管整流装置,并应用于直流电动机调速系统,即晶闸管可控整流器供电的直流调速系统(V-M系统)。如图2,VT是晶闸管可控整流器,通过调节触发装置GT的控制电压来移动触发

9、脉冲的相位,即可改变整流电压,从而实现平滑调速。晶闸管整流装置不仅在经济性和可靠性上都有很大提高,而且在技术性能上也显示出较大的优越性;晶闸管可控整流器的功率放大倍数在以上,其门极电流可以直接用晶体管来控制,不再像直流发电机那样需要较大功率的放大器。在控制作用的快速性上,变流机组是秒级,而晶闸管整流器是毫秒级,这将大大提高系统的动态性能。因此,在60年代到70年代,晶闸管可控整流器供电的直流调速系统(V-M系统)代替旋转变流机组直流电动机调速系统(G-M系统),得到了广泛的应用。但是由于晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难;晶闸管对过电压、过电流和过高的与都十分敏感,

10、若超过允许值会在很短的时间内损坏器件。另外,由谐波与无功功率引起电网电压波形畸变,殃及附近的用电设备,造成“电力公害”,因此必须添置无功补偿和谐波滤波装置。图2 晶闸管可控整流器供电的直流调速系统(V-M系统)与方案二相比较,方案一的调速特性优良、调整平滑、调速范围广、过载能力大,因此本设计采用方案一。第二章 各单元硬件方案论证要精确地控制直流电机的转速,硬件电路的要求相对而言是比较高的,它直接决定直流电机调速的精度。采用PID控制器,因此需要设计一个闭环直流电机控制系统。该系统采用脉宽调速,利用自动控制的原理将电机的转速误差逐渐的变为零,也就是使电机速度等于设定值,并且实时显示电极的转速值。

11、通过对设计功能分解,设计方案论证可以分为:系统结构方案论证,速度测量方案论证,电机驱动方案论证,键盘显示方案论证,PWM软件实现方案论证。2.1 微处理器的选择方案一:采用一片单片机(AT89S52)完成系统所有测量、控制运算,并输出PWM控制信号。方案二:采用两片单片机(AT89S52),其中一片做成PID控制器,专门进行PID运算、PWM控制信号输出和电机转速的测定;另一片则系统主芯片,完成电机速度的键盘设定、预设速度显示,并向PID控制器提供设定值,设定PID控制器的控制速度等。方案一的优点是系统硬件简单,结构紧凑。但是其造成CPU资源紧张,程序的多任务处理难度增大,不利于提高和扩展系统

12、性能,也不利于向其他系统移植。方案二则与方案一相反,虽然硬件增加,但在程序设计上有充分的自由去改善速度测量精度,缩短测量周期,优化键盘,显示及扩展其它功能。与此同时,PID控制算法的实现可以精益求精,对程序算法或参数稍加改动即可移植到其他PID控制系统中。为了更好的完成直流电机的调速设计,也为了使电机的转速更加的精准,综合考虑,我还是选择方案二。2.2 测速传感器的选择方案一:使用测速发电机,输出电动势E和转速n成线性关系,即E=kn,其中k是常数。改变旋转方向时,输出电动势的极性即相应改变。方案二:采用霍尔传感器,霍尔元件是磁敏元件,在被测的旋转体上装一磁体,旋转时,每当磁体经过霍尔元件,霍

13、尔元件就发出一个信号,经放大整形得到脉冲信号,送运算。方案三:利用一个能够反光的小圆片,在它的径向上开一个小缺口,利用红外光电耦合器,每转半圈OUT端输出一个上脉冲,然后用单片机在单位时间里面来采集上升源的个数,这样就完成速度的采集。经比较,方案一中的测速放电机安装不如方案二中霍尔元件安装方便,准确率也没方案二的高,并且方案二不需要A/D转换,直接可以被单片机接收。但方案二的霍尔传感器的采购不是很方便,价格比较的昂贵,方案三的硬件电路简单,采购方便,更重要的是它具有方案二的几乎所有的优点,故选择方案三。方案三中具体的记数方法是通过单片机记数时间S(秒)内的脉冲数N,从而计算得到每分钟的转速:M

14、=N/S60。同事还可以采用定时的方法:是通过定时器记录脉冲的周期T,这样每分钟的转速:M=60/T。比较两个计数方法,方法一的误差主要是1误差(量化误差),假设电机的最低设计转速为120转/分,则记数时间S=1s,所以其误差的绝对值|=|(N1)/S60-N/S60=60(转/分),误差计算公式表明,增大记数时间可以提高测量精度,但这样做却增大了速度采样周期,会降低系统控制灵敏度。而方法二所产生的误差主要是标准误差,并且使采样时间降到最短,误差=60/(T1)-60/T,设电机速度在1206000转/分之间,那么0.01sT0.5s,代入公式得:0.00024|0.6(转/分)。由此明显看出

15、,方法二在测量精度及提高系统控制灵敏度等方面优于方法一,所以我在这里采用方法二进行计数。2.3 键盘显示方案论证方案一:采用44键盘,可直接输入设定值。显示部分使用两个4位数码管,优点是显示亮度大,显示的比较的完整,能够将电机的转速完整的显示出来,同时采用4x4的矩阵键盘能够充分的利用单片机的有效资源对直流电机的初值、开始、停止、加速、减速、反向进行设置。方案二:使用4个按键,进行逐位设置。显示部分是使用支持中文显示的LCD,优点是美观大方,有利于人与系统的交互,及显示内容的扩展;缺点是成本高,抗干扰能力较差,不利于用在条件相对比较恶劣的环境下工作。为了系统的使用范围更加的广阔,也为了使系统的

16、可利用价值更高,本设计完全采用方案一。2.4 输入输出通道由于选用了红外光电耦合器进行测速,故微处理器采集到的信号直接是脉冲信号,无需经过A/D转换就可以输入到单片机中。由于采用PWM控制直流电机的电枢电压,故单片机的输出经放大驱动电路就可以直接控制电机的电枢电压,以此来控制电机的转速。2.5 PWM实现方案论证 PWM信号的产生通常有两种方法:一种是软件的方法;另一种是硬件的方法。方案一:基于NE555、SG3525等一系列的脉宽调速系统:此种方式采用NE555作为控制电路的核心,用于产生控制信号。NE555产生的信号要通过功率放大才能驱动后级电路。NE555、SG3525构成的控制电路较为

17、复杂,且智能化、自动化水平较低,在工业生产中不利于推广和应用。方案二:基于单片机类由软件来实现PWM:在PWM调速系统中占空比是一个重要参数,在电源电压不变的情况下,直流电机电枢端电压的平均值取决于占空比的大小,改变占空比的值可以改变电枢端电压的平均值从而达到调速的目的。改变占空比有三种方法:图3 电枢电压占空比图a、定宽调频法:保持不变,只改变t2,这样使周期(或频率)也随之改变。b、调宽调频法:保持t2不变,只改变,这样使周期(或频率)也随之改变。c、定频调宽法:保持周期T(或频率)不变,同时改变或t2。在这三种方法中,前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系

18、统的固有频率接近时,将会引起振荡,因此常采用方法c来改变占空比从而改变直流电动机电枢两端电压是最好的选择。利用单片机的定时计数器外加软件延时等方式来实现脉宽的自由调整,此种方式可简化硬件电路,操作性强等优点。综合考虑选方案二,采用定频调宽法。第三章 系统结构框图设计系统原理框图如图4所示,是一个带键盘输入和显示的闭环测量控制系统。主体思想是通过系统设定信息和测量反馈信息计算输出控制信息,然后通过PID控制算法,控制处理器产生PWM波,改变它的占空比(主要是控制延时)。图4系统原理框图第四章 单元模块设计4.1 H桥驱动电路设计方案达林顿管是由两个三极管接在一起而组成的,极性只认前面的三极管。两

19、个三极管的连接图如图5。图5 达林管结构图达林顿管又称复合管。它将二只三极管适当的连接在一起,以组成一只新的三极管。这只新的三极管的放大倍数是原来的两个三级管放大倍数的乘积。 达林顿电路有两种种接法:同极性接法(NPN+NPN,PNP+PNP),异极性接法(NPN+PNP,PNP+NPN)。达林管的应用就相当于一只普通的三极管,在利用它做H桥的时候也只需要遵循普通的三极管的使用规则就可以了。相对于普通的三极管而言,它的主要适用范围是大功率开关电路、电机调速电路、逆变电路等。 由于达林顿管是特殊的三极管,所以在下面的论述中我就采用最简单的三极管构成的H桥进行论证。H桥式电机驱动电路包括4个三极管

20、和一个电机,如图6所示,要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对电流的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。图6 H桥驱动电路如图7,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经 Q4回到电源负极。按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。 图7 H桥驱动电机顺时针转动图8所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机,从而驱动电机沿相反方向转动。图8 H桥驱动电机逆时针转动4.2 调速设计方案调速采用PWM(Pulse Width Modulation)脉宽调制,为了使系统的工作稳定我们

21、选择了输出PWM波采用定频调宽的方法。PWM脉宽调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。而我们采用的定频调宽是利用微处理器对采集回来的转速值与设定的转速值进行比较,利用PID算法,将这个差值的变化变成PWM波脉宽的变化,也就是增大或者是减小占空比,从而纠正电机的转速,使电机的转速无限的趋近于设定的转速值,这样就实现了一个自动控制的环节。利用这种闭环自动控制原理我们就轻松实现了电机的转速的控制。第五章 系统硬件电路设计5.1 电源电路5.1.1芯片介绍在设计这个系统的时候,各种各样的电源芯片让人眼花缭乱,但是经过仔

22、细的考究,我还是选择了78系列的电源芯片。用78系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路。该系列集成稳压IC型号中的78后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V。有时在电源芯片的数字78后面还有一个M或L,如78M12,用来区别输出电流和封装形式等,其中78L调系列的最大输出电流为100mA,78M系列最大输出电流为1A,78系列最大输出电流为1.5A。在我的这个电路调速的应用中,应在三端集成稳压电路上安装一个散热器,这是因为温度过高,芯片的稳压管的性能将变差,甚至损坏,从而导致整个系统的崩溃。5.1.2电路原

23、理图电源电路采用78系列芯片产生+5V、+15V。电路图如图9:图9 78系列的电源电路5.2 H桥驱动电路基于达林顿管的使用机理和特性,在驱动电机中采用H桥(图中用最简单的三极管代替)功率驱动电路,H桥功率驱动电路可应用于步进电机、交流电机及直流电机等的驱动。直流电机控制使用H桥驱动电路(图10),当PWM1为低电平,通过对PWM2输出占空比不同的矩形波使三极管Q1、Q6同时导通Q5截止,从而实现电机正向转动以及转速的控制;同理,当PWM2为高电平,通过对PWM1输出占空比不同的矩形波使三极管Q2、Q5同时导通,Q6截止,从而实现电机反向转动以及转速的控制。图10 H桥的电机驱动电路5.3

24、电机测速电路的设计理论上,是先将转速转化为某一种可以方便测量的电量来进行测量,如电压、电流等。在我的设计中我采用了另外的一种方法,就是将直流电机的转速测量转化换为电机脉冲频率的测量。基于这一思想,我采用了三极管输出型红外光电耦合器。如图11所示,在电机转轮一处开一条宽度大约为5mm的缝,这样,每转一圈,三级管(红外接收头)透光导通一次,OUT端输出一个上脉冲,然后用单片机来计数单位时间上升沿的个数,这样就完成了直流电机转速的测量。图11电机测速电路5.4 数码管显示模块在这里我采用两块数码管进行显示,一块数码管用来显示外部在最开始输入的电机转速,也就是预设电机转速(如图12),而另一块数码管就

25、是用来显示电机的当前转速,这样我们就会非常直观的观察电机转速的变化(如图13)。图12数码管显示预设速度电路图13时时显示电机转速第六章 核心控制算法根据测速电路的反馈,得知电机的转速。此转速是与电机两端的电压呈正比,通过比较它与预设转速的大小,我们可以通过PWM控制电平的占空比来调节电机的转速。占空比越大,速度越快,反之亦然。为了实现直流电机的转速的自动控制,因此在这里我必须采用PID控制算法。PID算法是本程序中的核心部分。采用PID模糊控制技术,通过Pvar、Ivar、Dvar(比例、积分、微分)三方面的结合调整形成一个模糊控制来解决惯性误差问题。PID算法大致可分为置位式和增量式两种。

26、两种都用于模糊控制技术。其原理就是当执行机构需要的不是控制量的绝对值,而是控制量的增量时,需要用PID的“增量算法”。图14 增量式PID控制算法增量式PID控制算法可以通过(1)式推导出。由(1)可以得到控制器的第k-1个采样时刻的输出值为:将(1)与(2)相减并整理,就可以得到增量式PID控制算法公式为: (3)其中 由(3)可以看出,如果计算机控制系统采用恒定的采样周期T,一旦确定A、B、C,只要使用前后三次测量的偏差值,就可以由(3)求出控制量。增量式PID控制算法与位置式PID算法(1)相比,计算量小得多,因此在实际中得到广泛的应用。位置式PID控制算法也可以通过增量式控制算法推出递

27、推计算公式:(4)(4)就是目前在计算机控制中广泛应用的数字递推PID控制算法比例系数P对系统性能的影响:比例系数加大,使系统的动作灵敏,速度加快,稳态误差减小;P偏大,振荡次数加多,调节时间加长;P太大时,系统会趋于不稳定;P太小,又会使系统的动作缓慢。P可以选负数,这主要是由执行机构、传感器以及控制对象的特性决定的。如果P的符号选择不当对象测量值就会离控制目标的设定值越来越远,如果出现这样的情况P的符号就一定要取反。 积分控制I对系统性能的影响:积分作用使系统的稳定性下降,I小(积分作用强)会使系统不稳定,但能消除稳态误差,提高系统的控制精度。微分控制D对系统性能的影响:微分作用可以改善动

28、态特性,D偏大时,超调量较大,调节时间较短;D偏小时,超调量也较大,调节时间也较长;只有D合适,才能使超调量较小,减短调节时间。 第七章 软件设计模块 7.1 总的程序流程图 7.2 PWM波软件设计程序流程图:通过控制总中断使能EA控制电机的开关,同时使能对红外对接头输出的方波在单位时间内脉冲个数的计数。其中定时器T0,T1分别对脉冲的宽度、红外对接头输出的脉冲数对应的1秒时间定时。对脉冲宽度的调整是通过改变高电平的定时长度,由变量high控制。变量swap、 sub_speed 、add_speed分别实现电机的转向、加速、减速。/*通过按键实现对电机开关、调速、转向的控制的程序*/ vo

29、id motor_control() if(open = 1) EA = 1;if(close = 1) EA = 0; if(swap = 1) change = change; while(swap != 0) if(sub_speed = 1) high+; if(high = 30) EA=0; while(sub_speed != 0) if(add_speed = 1) high-; if(high = 5) high = 5; while(add_speed != 0) 7.3 测速软件设计图12 软件测速的方框图/*T1中断服务程序*单位时间(S)方波的个数*/void tim

30、e1_int(void) interrupt 3 count_speed+;if(count_speed = 20) count_speed = 0;num_display = num_medium;num_medium = 0;7.4 PID控制流程PID 控制程序:#ifndef _PID_H#define _PID_Htypedef struct double SetPoint; /* 设定目标 Desired Value */ double Proportion; /* 比例常数 Proportional Const */ double Integral; /* 积分常数 Integral Const */ double Derivative; /* 微分常数 Derivative Const */ double LastError; /* 前一项误差 */ double PrevError; /* 前第二项误差 */ double SumError; /* 总误差 */ PID; /* PID计算部分 */ double PIDCalc( PID *pp, double NextPoint ) double dError,Error; Error = pp-SetPoint - NextPoint; /* 计算当前偏差 */

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1