基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx

上传人:b****7 文档编号:9388410 上传时间:2023-02-04 格式:DOCX 页数:145 大小:419.10KB
下载 相关 举报
基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx_第1页
第1页 / 共145页
基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx_第2页
第2页 / 共145页
基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx_第3页
第3页 / 共145页
基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx_第4页
第4页 / 共145页
基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx_第5页
第5页 / 共145页
点击查看更多>>
下载资源
资源描述

基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx

《基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx(145页珍藏版)》请在冰豆网上搜索。

基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计.docx

基于单片机的微型直流电机的测速和控制系统软硬件版毕业设计

武汉工程大学

毕业论文(设计)开题报告

 

题目单片机电机测试系统的研制-电机控制板设计

 

 

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

小功率直流电机的测速和控制

[摘要]本设计采用两片MCU(AT89S52),完成了小型直流电机转速的采集、计算、显示、键盘设定,并将非均匀采样情况下的增量式积分分离PID控制算法应用于直流电机的PWM调速,实现了对电机转速的测量和控制,解决了通常低采样周期时系统的超调以及PID算法的积分饱和问题。

[关键词]转速PID控制mcuAT89S52PWM

 

MeasuringAndControllingTheRotationalSpeed

OfSmallPowerDCElectromotor

ZHANGWu-jiang

(Grade02,Class2,MajorElectronicandInformationEngineering,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)

Tutor,Luchao

[Abstract]ThisdesignusetwosetofMCU(AT89S52),hascompletedsmallDCelectromotorrotationalspeedsampling,calculating,displaying,thekeyboardsetting,AndhasappliedthePIDcontroltheoreticstothemodulationofPWMrotationalspeedofDCelectromotor,measuringandthecontrollingtherotationalspeedoftheelectromotor,hassolvedoutmodulationandPIDalgorithmintegralsaturatedproblem.

[Keywords]RotationalSpeed;PIDcontrol;mcu(AT89S52);PWM

 

 

引言

目前见到的许多关于直流电机的测速与控制类文献中,虽然能实现直流电机的无级调速,但还存在一些问题,如无法与计算机直接接口,许多较为复杂的控制算法无法在不增加硬件成本的情况下实现,控制器的人机界面不理想。

总的来讲,控制器的智能化程度不高,可移植性差。

虽然采用PWM芯片来实现电机无级调速的方案成本较低,但当控制器针对不同的应用场合增加多种附加功能时,其灵活性不够,而且反而增加硬件的成本[5]。

还有一些使用PLC控制器或高档处理器芯片(如DSP器件)的文献,它们虽然具有较高的控制性能,但由于这些高档处理器价格过高,需要更多的外围器件,因此也不具备在通常情况下大规模使用的条件。

从发展趋势上看,总体的研究方向是提出质量更高的算法和调速方案,以及在考虑成本要求的前提下选择适合这种算法的核心控制器。

1设计方案论证

根据设计任务,要求调速采用PID控制器,因此需要设计一个闭环直流电机控制系统。

该系统采用脉宽调速,使电机速度等于设定值,并且实时显示电极的转速值。

通过对设计功能分解,设计方案论证可以分为:

系统结构方案论证,速度测量方案论证,电机驱动方案论证,键盘显示方案论证,PWM软件实现方案论证。

1.1系统结构方案论证

方案一:

采用一片单片机(AT89S52)完成系统所有测量、控制运算,并输出PWM控制信号。

方案二:

采用两片单片机(AT89S52),其中一片做成PID控制器,专门进行PID运算和PWM控制信号输出;另一片则系统主芯片,完成电机速度的键盘设定、测量、显示,并向PID控制器提供设定值和测量值,设定PID控制器的控制速度等。

方案一的优点是系统硬件简单,结构紧凑。

但是其造成CPU资源紧张,程序的多任务处理难度增大,不利与提高和扩展系统性能,也不利于向其他系统移植。

方案二则与方案一相反,虽然硬件增加,但在程序设计上有充分的自由去改善速度测量精度,缩短测量周期,优化键盘,显示及扩展其它功能。

与此同时,PID控制算法的实现可以精益求精,对程序算法或参数稍加改动即可移植到其他PID控制系统中。

因此通过比较,选择方案二。

1.2转速测量方案论证

方案一:

采用记数的方法。

具体是通过单片机记单位时间S(秒)内的脉冲数N,每分钟的转速:

M=N/S×60。

方案二:

采用定时的方法。

是通过定时器记录脉冲的周期T,这样每分钟的转速:

M=60/T。

比较两个方案,方案一的误差主要是±1误差(量化误差),设电机的最低设计转速为120转/分,则记数时间S=1s,所以其误差得绝对值|γ|=|(N±1)/S×60-N/S×60|=60(转/分),误差计算公式表明,增大记数时间可以提高测量精度,但这样做却增大了速度采样周期,会降低系统控制灵敏度。

而方案二所产生的误差主要是标准误差,并且使采样时间降到最短,误差γ=[60/(T±1)-60/T],设电机速度在120—6000转/分之间,那么0.01s≤T≤0.5s,代入公式得:

0.00024≤|γ|≤0.6(转/分)。

由此明显看出,方案二在测量精度及提高系统控制灵敏度等方面优于方案一,所以本设计采用方案二。

1.3电机驱动方案论证

方案一:

采用专用小型直流电机驱动芯片。

这个方案的优点是驱动电路简单,几乎不添加其它外围元件就可以实现稳定的控制,使得驱动电路功耗相对较小,而且目前市场上此类芯片种类齐全,价格也比较便宜。

方案二:

采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。

这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。

方案三:

采用由达林顿管组成的H型PWM电路。

用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。

这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。

通过比较和对市场因素的考虑,本设计采用方案一,使系统的设计核心在PID控制上。

1.4键盘显示方案论证

方案一:

采用4×4键盘,可直接输入设定值。

显示部分使用4位数码管,优点是显示亮度大,缺点是功耗大,不符合智能化趋势而且不美观。

方案二:

使用4个按键,进行逐位设置。

显示部分是使用支持中文显示的LCD,优点是美观大方,有利于人与系统的交互,及显示内容的扩展;缺点是成本高,抗干扰能力教差。

为了系统容易扩展、操作以及美观,本设计完全采用方案二。

1.5PWM软件实现方案论证

脉宽调制的方式有三种:

定频调宽、定宽调频和调宽调频。

本设计采用了定频调宽方式,采用这种方式的优点是电动机在运转时比较稳定,并且在采用单片机产生PWM脉冲的软件实现上比较方便。

对于实现方式则有两种方案。

方案一:

采用定时器做为脉宽控制的定时方式,这一方式产生的脉冲宽度极其精确,误差只在几个us。

方案二:

采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。

但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围。

由于本设计采用了两片AT89S52单片机,MCU资源充足,因此选择方案一。

2系统原理框图设计

系统原理框图如图2.1所示,是一个带键盘输入和显示的闭环测量控制系统。

主体思想是通过系统设定信息和测量反馈信息计算输出控制信息。

 

图2.1系统原理框图

3各模块的分析、计算与硬件电路设计

3.1速度测量电路的设计

3.1.1转速/频率转换电路的设计

理论上,是先将转速转化为某一种电量来测量,如电压,电流等。

设计中将转速测量转化为电脉冲频率的测量。

基于这一思想,可以采用一对霍尔感应传感器,使输出信号的一只在转轮一侧固定,另一只则粘在对应位置的转轮上,这样,电机每转一圈,传感器将会输出一个脉冲,然后将脉冲放大、整形后即可通过单片机测量其频率求出转速。

实际实验中,由于市场采购原因,暂用三极管输出型红外光电耦合器代替霍尔传感器。

如图3.1所示,在电机转轮一处开孔,这样,每转一圈,三级管(红外接收头)透光导通一次,OUT端输出一个上脉冲,即完成了转速/频率的转换

3.1.2脉冲滤波整形电路的设计

由于电机在转动的过程中有很大的晃动,而且本设计中测量装置做工粗糙,因此所获得的脉冲信号参杂有高频噪声或误动脉冲。

为了提高测量的准确,且尽可能地减少错误,设计中如图3.2所示OUT输出端加一电容接地。

为了既能抑制噪声又不影响测量,电容值C的选择很重要。

根据实际测量,设计中所使用的直流电机转速可达6000转/分。

其所产生的脉冲周期T=1/(6000/60)S=0.01S,一个周期内,脉冲持续时间约为1/8T=0.00125S,低电平时间约为7/8T=0.00875S,由于接收头感光导通电阻很小,所以电容迅速充电,当低电平到来时开始放电,为保证下一个脉冲的检测,放电时间t应小于低电平持续时间7/8T,根据电路,t=R2×C<0.00875,代入R2值解不等式可得:

C<0.000017F。

单位换算得C<0.017μF,为了方便整形,实际设计中C=0.001μF。

由于单片机中断I/O口的需要输入信号是正规的矩形脉冲,所以电路的脉冲整形电路采用74系列反向器74LS06进行两次反向后输入单片机。

 

图3.1转速/频率转化电路

 

图3.2脉冲滤波整形电路

3.2电机驱动电路的设计[3]

本设计采用目前市场上较容易买到的L298N直流或步进电机驱动芯片,它采用单片集成塑装,是一个高电压、大电流全双桥驱动器,由标准的TTL电平控制。

L298N支持50V以内的电机控制电压,在直流运转条件下,可以通过高达2A的电流,因此它满足了一般小型电机的控制要求。

其内部原理结构如图3.3。

接法见图3.4,图中二极管的作用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。

PWM控制信号由in1、in2输入。

如果in1为高电平,in2为低电平时电机为正向转速,反之in1为低电平,in2为高电平时,电机为反向转速。

本设计将in2直接接地,即采用单向制动的方式。

通过实验,本设计中不必使用双向制动也可达到设计要求。

 

图3.3:

L298N内部原理结构图

 

图3.4:

电机驱动电路

3.3LCD显示电路与单片机的接口设计

设计中采用的LCD——RT12232F是一种内置8192个16*16点汉字库和128个16*8点ASCII字符集图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×32全点阵液晶显示器组成。

可完成图形显示,也可以显示7.5×2个(16×16点阵)汉字,与外部CPU接口采用并行或串行方式控制。

本设计采用并行方式控制,LCD与单片机的通讯接口电路如图3.5所示采用直连的方法,这样设计的优点是在不影响性能的条件下还不用添加其它硬件,简化了电路,降低了成本。

4系统总程序框图设计

系统程序程序框图如图4.1所示,概述了程序的总体结构和工作过程。

 

图3.5:

LCD显示电路与单片机的接口

 

图4.1系统总程序框图

5系统各部分子功能程序设计

5.1电机转速测量程序设计

设计中考虑到电机的工作环境一般比较恶劣,因此除了硬件外,从程序上除了要更高的精确度也需要进行更多的抗干扰设计,从而实现软件的大范围检错、纠错或丢弃错误等。

在程序的设计过程中,对严重不符合要求的测量数据(如大于6000转对应的数据)进行了丢弃处理,而对于正常范

 

图5.1外中断0服务子程序框图

围内的数据错误采用了采5取3求平均的算法(即采集5个数据,去掉一个最大值一个最小值,然后将剩余3数据求平均)。

实验表明,此方法降低了系统采集转速中出现的错误。

对于转速的测量方法,是通过速度脉冲信号下降沿触发单片机的外中断,中断服务子程序在某一个脉冲的下降沿开启定时器记时,然后在下一个下降沿关闭定时器,通过对定时器数据进行运算处理可以得到信号周期进而得到速度值。

其程序框图如图5.1。

可以看出,此方法下的采样周期是随转速变化的,转速越高采样越快。

通过这种非均匀的速度采样方式可以使电机在高速情况下,实现高速度高精度的控制。

5.2键盘程序设计

键盘程序设计的任务是赋予各按键相应的功能,完成速度设定值的输入和向PID控制器的发送。

4只按键一只用来位循环选择,告诉单片机要调整的是设定值的个位、十位、百位还是千位。

第二、三只按键分别是减1、加1减。

在没有位选择的情况下对设定值整体进行减1、加1;在有位选择的情况下仅对相应位进行减1、加1,并且当按着不释放按键时可以实现快速连续减1、加1,同时允许循环减、加(既当某位为0时,在减1则为9,某位为9时,加1则为0)。

最后一只按键是确认发送键,按下它后,单片机将设定值送给PID控制器,从而实现设定控制。

程序框图如图5.2。

 

图5.2:

键盘电路程序框图

5.3LCD显示子程序的设计[4]

LCD的详细使用过程可参阅对应型号的使用手册。

仅在本小节强调以下内容:

LCD使用的关键是根据显示需要正确地对其进行初始化设置,而一般情况下不用考虑如何向它读写指令或数据,因为制造厂商所给的使用资料里就附有驱动程序,如果没有也可以从网上搜索下载得到。

然而我们必须清楚那些初始化设置之间的关系,以及它是如何利用设置读取、显示数据字符的,不然就会发生一些不可预料的错误,例如表5.3所示。

因此,熟读LCD驱动芯片使用手册也是一个关键环节。

表5.3LCD中文字型的编码写入地址对照

在RT12232F中,CGRAM字型与中文字型的编码只可出现在每一AddressCounter的开始位置,图表中最后一行为错误的填入中文码位置,其结果会产生乱码象。

80

81

82

83

84

85

86

87

88

89

H

L

H

L

H

L

H

L

H

L

H

L

H

L

H

L

H

L

H

L

S

H

A

A

N

X

I

.

.

L

I

G

O

N

G

X

U

E

.

.

西

.

.

0

2

.

西

.

.

.

0

2

.

 

图5.4LCD显示初始化程序和写数据程序框图

通常LCD的初始化包括复位设置、清除显示、地址归位、显示开关、游标设置、读写地址设置、反白选择以及睡眠模式等等。

实际中根据需要,正确、灵活地修改这些设置可以达到较为满意的显示效果。

LCD中所有汉字、数字和字符都可以通过它的ASCII码来访问显示;图象的显示是通过将相关软件(提取汉字、图象点阵数据程序)产生的数据按照LCD手册的要求完成响应设置后写入即可。

由于本设计中没有使用到图形显示,所以没有详述。

对于系统使用的汉字、字符和数据的LCD显示初始化程序和写数据程序框图见图5.4。

6数字PID及其算法的改进

6.1PID控制基本原理

PID控制即比例(Proportional)、积分(Integrating)、微分(Differentiation)控制。

在PID控制系统中,完成PID控制规律的部分称为PID控制器。

它是一种线形控制器,用输出y(t)和给定量r(t)之间的误差的时间函数e(t)=r(t)-y(t).PID控制器框图如图6.1。

实际应用中,可以根据受控对象的特性和控制的性能要求,灵活地采用不同的控制组合,如:

 

6.1PID控制算法框图

比例(P)控制器:

比例+积分(PI)控制器:

比例+积分+微分(PID)控制器:

比例+微分(PD)控制器:

式中,Kp为比例运算放大系数,Ti为积分时间,Td为微分时间。

6.2三个基本参数Kp,Ti,Td在实际控制中的作用研究

通过使用MATLAB软件中SIMULINK的系统仿真功能对PID算法进行仿真,现将结果作以下概括。

比例调节作用:

是按比例反映系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差,属于“即时”型调节控制。

比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降甚至造成系统的不稳定。

积分调节作用:

使系统消除静态误差,提高无误差度。

因为有误差,积分调节就进行,直至无误差,积分调节停止,积分调节输出一常值,属于“历史积累”型调节控制。

积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。

反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。

积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。

微分调节作用:

微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差的变化趋势,因此能产生超前的控制作用,在偏差还没有形成之前,以被微分调节作用消除,因此属于“超前或未来”型调节控制。

因此,可以改善系统的动态性能。

在微分时间选择合适的情况下,可以减少超调,减少调节时间。

微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。

此外,微分反映的是变化率,而当输入没有变化时,微分作用输出为零。

微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。

6.3数字PID控制算法[1]

在单片机数字控制系统中,PID控制算法是通过单片机程序来实现的。

对于数字信号处理,不论是积分还是微分,只能用数值计算去逼近。

当采样周期相当短时,用求和代替积分,用差商来代替微商,使PID算法离散化,将描述连续时间PID算法的微积分方程,变为描述离散时间PID算法的差分方程。

其算法变换如图6.2[注释1]。

 

图6.2数字PID算法

图中PID算法为非递推形式,称为全量算法。

为了求和,必须将系统偏差的全部过去值e(j)

(j=0,1,2……)值都存储起来。

这种算法得出了控制量的全量输出u(k),是控制量的绝对数值。

在控制系统中,这种控制量决定了执行机构的的位置,比如,在本设计电机控制系统中,这种算法的输出对应了相应的速度值。

因此,人们将这种算法称为“位置PID算法”。

除了“位置PID算法”以外,常见的还有增量式PID控制算法。

当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID“增量算法”。

此算法可由“位置PID算法”求出。

如图6.3所示增量式PID算法推理过程。

综合两种算法,本设计是产生一个PWM信号去控制直流电机,PWM信号的高电平持续时间对应的控制量是一个绝对值,而不是一个控制量的增量。

但是如果采用“位置PID算法”则需要考虑控制量的基值u0,即Kp=0时的控制量,而直接用增量式PID算法只能计算出控制量的增量。

所以,设计中,先采用增量式控制控制算法计算出控制量的增量,然后加上上一次的控制量即可以得到本次的控制量,其表达式见图6.4。

综合来说,本系统的PID算法是以增量式算法实现“位置PID算法”的结果,使控制得到简化、容易实现。

 

图6.3增量式PID算法

图6.4本设计PID算法表达式

6.4PID算法的改进,“饱和”作用的抑制[2]

抑制PID算法的“饱和”作用,通常有两种方法。

一种算法是遇限削弱积分法,其基本思想是:

一旦控制变量进入饱和区,将只执行削弱积分项的运算而停止进行增大积分项的运算。

具体地说,在计算u(k)时,将判断上一时刻的控制量u(k)是否已超出限制范围,如果已超出,那么将根据偏差的符号,判断系统输出是否在超调区域,由此决定是否将相应偏差计入积分项。

另一种算法是积分分离法。

减小积分饱和的关键在于不能使积分项累积过大。

第一种修正方法是一开始就积分,但进入限制范围后即停止累积。

后者介绍的积分分离法正好与其相反,它在开始时不进行积分,直到偏差达到一定的阀值后才进行积分累计,算法流程图见图6.5。

图中,A,B,C分别代表q0,q1,q2。

这样,一方面防止了一开始有过大的控制量,另一方面即使进入饱和后,因积分累积小,也能较快退出,减少了超调。

由于本系统的控制对象是一个具有惯性或称其为滞后特性的直流电机,一方面要求控制要尽可能高的反映速度,另一方面也要尽可能减少超调。

因此,积分分离法比较适合本系统。

综合上面关于PID算法的研究,已经得出一个针对本系统的PID算法——“增量式积分分离PID控制算法”。

在此控制算法中,误差较大时采用的是PD算法控制。

在PID控制器的实现过程中,发现不同的电机除了惯性不同外,还有一个参数不容忽略,那就是电机在转动过程中的摩擦力。

由于摩擦力总是阻碍电机转动,所以相当于额外的给控制量对应的电动机转矩加了一不定量的负转矩。

如果PID的输出的控制增量对应的转矩为正,则会抵消一部分增量,但如果PID输出的控制增量对应的转矩为负,则会助长这一增量。

如此以来,如果电机在加速过程中使用和减速过程中同样的PID参数,就有可能出现加速欠条,减速超调的情况。

实验中,也证明了这一分析的正确性。

解决这一问题的方法是利用微分项的校正作用,在电机加速状态,和减速状态采用不同的微分系数,即在不同的时段采用不同的微分系数,其中加速时微分系数为Kd1,减速时微分系数为Kd2。

这样系统的控制算法就成为“变系数增量式积分分离控制算法”了,可以通过设定参数得到更佳的校正作用。

 

图6.5增量式积分分离PID算法流程图

6.5PID控制算法的单片机程序实现

要编写一个已知算法的单片机程序,首先要考虑的就是数据的结构和存储方式了。

因为它直接影响到系统的

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

当前位置:首页 > 初中教育 > 科学

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

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