基于单片机的直流电机智能调速系统设计Word格式文档下载.docx
《基于单片机的直流电机智能调速系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的直流电机智能调速系统设计Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
总结24
参考文献25
附录26
附录126
附录229
摘要
本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。
文章中采用了专门的芯片组成了PWM信号的发生系统并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节从而控制其输入信号波形等均作了详细的阐述。
此外本文中还采用了芯片L298N作为直流电机正转调速功率放大电路的驱动模块并且把它与延时电路相结合完成了在主电路中对直流电机的控制。
另外本系统中使用了红外传感器对直流电机的转速进行测量后将测量值送到A/D转换器并且最终作为反馈值输入到单片机进行PID运算从而实现了对直流电机速度的控制。
文章中详细介绍了PID运算程序初始化程序等的编写思路和具体的程序实现。
关键词:
PWM信号红外传感器PID运算
Abstract
ThisarticlemainlyintroducesthemethodtogeneratethePWMsignalbyusingMCS-51single-chipcomputertocontrolthespeedofaD.C.motor.ItalsoclarifiestheprinciplesofPWMandthewaytoadjustthedutycycleofPWMsignal.Inaddition,L298NhasbeenusedasanactuatingdeviceofthepoweramplifiercircuitwhichcontrolsthespeedofrotationofD.C.motor.What’smore,infraredsensorisusedinthissystemtomeasurethespeedofD.C.motor.TheresultofthemeasurementissenttoA/Dconverterafterpassingthefilteringcircuit,andfinallythefeedbacksingleisstoredinthesingle-chipcomputerandparticipatesinaPIDcalculation.Asforthesoftware,thisarticleintroducesindetailtheideaoftheprogrammingandhowtomakeit.
Keywords:
PWMsignal;
infraredsensor;
PIDcalculation
1引言
早期直流传动的控制系统采用模拟分离器件构成,由于模拟器件有其固有的缺点,如存在温漂、零漂电压,构成系统的器件较多,使得模拟直流传动系统的控制精度及可靠性较低。
随着计算机控制技术的发展,微处理器已经广泛使用于直流传动系统,实现了全数字化控制。
由于微处理器以数字信号工作,控制手段灵活方便,抗干扰能力强。
所以,全数字直流调速控制精度、可靠性和稳定性比模拟直流调速系统大大提高。
所以,直流传动控制采用微处理器实现全数字化,使直流调速系统进入一个崭新的阶段。
微处理器诞生于上个世纪七十年代,随着集成电路大规模及超大规模集成电路制造工艺的迅速发展,微处理器的性价比越来越高。
此外,由于电力电子技术的发展,制作工艺的提升,使得大功率电子器件的性能迅速提高。
为微处理器普遍用于控制电机提供了可能,利用微处理器控制电机完成各种新颖的、高性能的控制策略,使电机的各种潜在能力得到充分的发挥,使电机的性能更符合工业生产使用要求,还促进了电机生产商研发出各种如步进电机、无刷直流电机、开关磁阻电动机等便于控制且实用的新型电机,使电机的发展出现了新的变化。
对于简单的微处理器控制电机,只需利用用微处理器控制继电器、电子开关元器件,使电路开通或关断就可实现对电机的控制。
现在带微处理器的可编程控制器,已经在各种的机床设备和各种的生产流水线中普遍得到应用,通过对可编程控制器进行编程就可以实现对电机的规律化控制。
对于复杂的微处理器控制电机,则要利用微处理器控制电机的电压、电流、转矩、转速、转角等,使电机按给定的指令准确工作。
通过微处理器控制,可使电机的性能有很大的提高。
目前相比直流电机和交流电机他们各有所长,如直流电机调速性能好,但带有机械换向器,有机械磨损及换向火花等问题;
交流电机,不论是异步电机还是同步电机,结构都比直流电机简单,工作也比直流电机可靠,但在频率恒定的电网上运行时,它们的速度不能方便而经济地调节[2]。
高性能的微处理器如DSP(DIGITALSIGNALPROCESSOR即数字信号处理器)的出现,为采用新的控制理论和控制策略提供了良好的物质基础,使电机传动的自动化程度大为提高。
在先进的数控机床等数控位置伺服系统,已经采用了如DSP等的高速理器,其执行速度可达数百万兆以上每秒,且具有适合的矩阵运算。
2总体方案设计
2.1硬件方案论证
要控制直流电机转速,硬件电路要求比较高,它决定直流电机调速的精度。
采用PID控制器,因此需要设计一个闭环直流电机控制系统。
该系统采用脉宽调速,使电机速度等于设定值,并且实时显示电极的转速值。
通过对设计功能分解,设计方案论证可以分为:
系统结构方案论证,速度测量方案论证,电机驱动方案论证,键盘显示方案论证,PWM软件实现方案论证。
2.1.1微处理器的选择
方案一:
采用一片单片机(AT89S52)完成系统所有测量、控制运算,并输出PWM控制信号。
方案二:
采用两片单片机(AT89S52),其中一片做成PID控制器,专门进行PID运算和PWM控制信号输出;
另一片则系统主芯片,完成电机速度的键盘设定、测量、显示,并向PID控制器提供设定值和测量值,设定PID控制器的控制速度等。
方案一的优点是系统硬件简单,结构紧凑。
但是其造成CPU资源紧张,程序的多任务处理难度增大,不利与提高和扩展系统性能,也不利于向其他系统移植。
考虑到设计时的简单程度与结构的紧凑,选择方案二。
2.1.2测速传感器的选择
使用测速发电机,输出电动势E和转速n成线性关系,即E=kn,其中k是常数。
改变旋转方向时,输出电动极性即相应改变。
采用霍尔传感器,霍尔元件是磁敏元件,在被测的旋转体上装一磁体,旋转时,每当磁体经过霍尔元件,霍尔元件就发出一个信号,经放大整形得到脉冲信号,送运算。
方案三:
在电机的转轴端开一小洞,利用红外光电耦合器,每转半圈OUT端输出一个上脉冲。
经比较,方案一中的测速放电机安装不如方案二中霍尔元件安装方便,并且准确率也没方案二的高,并且方案二不需A/D转换,直接可以被单片机接收。
但方案二的霍尔传感器的采购不是很方便,故采用方案三,它具有方案二的几乎所有的优点。
方案三中可以采用记数的方法:
具体是通过单片机记单位时间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(转/分)。
由此明显看出,方法二在测量精度及提高系统控制灵敏度等方面优于方法一,所以采用方法二计数。
故选方案三。
2.1.3键盘显示方案论证
采用4×
4键盘,可直接输入设定值。
显示部分使用4位数码管,优点是显示亮度大,缺点是功耗大,不符合智能化趋势而且不美观。
使用4个按键,进行逐位设置。
显示部分是使用支持中文显示的LCD,优点是美观大方,有利于人与系统的交互,及显示内容的扩展;
缺点是成本高,抗干扰能力较差。
为了系统容易扩展、操作以及美观,本设计完全采用方案二。
2.1.4电机驱动方案论证
采用专用小型直流电机驱动芯片。
这个方案的优点是驱动电路简单,几乎不添加其它外围元件就可以实现稳定的控制,使得驱动电路功耗相对较小,而且目前市场上此类芯片种类齐全,价格也比较便宜。
采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。
这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
采用由达林顿管组成的H型PWM电路。
用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高;
H型电路保证了可以简单地实现转速和方向的控制;
电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。
通过比较和对市场因素的考虑,本设计采用方案一,使系统的设计核心在PID控制上。
2.1.5输入输出通道
由于选用了霍尔式传感器,故输入的信号经调理放大后直接是脉冲信号,无需经过A/D转换就可以输入到单片机中。
由于采用PWM控制直流电机的电枢电压,故单片机的输出经放大驱动电路就可以直接控制电机的电枢电压,以此来控制电机的转速。
2.1.6PWM实现方案论证
PWM信号的产生通常有两种方法:
一种是软件的方法;
另一种是硬件的方法。
基于NE555,SG3525等一系列的脉宽调速系统:
此种方式采用NE555作为控制电路的核心,用于产生控制信号。
NE555产生的信号要通过功率放大才能驱动后级电路。
NE555、SG3525构成的控制电路较为复杂,且智能化、自动化水平较低,在工业生产中不利于推广和应用。
基于单片机类由软件来实现PWM:
在PWM调速系统中占空比D是一个重要参数在电源电压dU不变的情况下,电枢端电压的平均值取决于占空比D的大小,改变D的值可以改变电枢端电压的平均值从而达到调速的目的。
改变占空比D的值有三种方法:
A、定宽调频法:
保持1t不变,只改变2t,这样使周期(或频率)也随之改变。
(图2-1)
B、调宽调频法:
保持2t不变,只改变1t,这样使周期(或频率)也随之改变。
C、定频调宽法:
保持周期T(或频率)不变,同时改变1t和2t。
1t2t
T
图2-1电枢电压占空比图
前两种方法在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此常采用定频调宽法来改变占空比从而改变直流电动机电枢两端电压。
利用单片机的定时计数器外加软件延时等方式来实现脉宽的自由调整,此种方式可简化硬件电路,操作性强等优点。
所以选方案二,采用定频调宽法。
2.2系统原理框图设计
显示器
单片机(速度的测量计算,输入设定及系统控制,PWM模拟发生器)
速度采集传感器
键盘
电机
电机驱动电路
图2.1系统原理图
系统原理框图如图2.1所示,是一个带键盘输入和显示的闭环测量控制系统。
主体思想是通过系统设定信息和测量反馈信息计算输出控制信息。
3系统硬件电路的设计
本设计因为输入的为脉冲信号、输出的是PWM信号,故无需A/D、D/A转换就可以直接进行工作。
3.1速度测量电路的设计
3.1.1转速/频率转换电路的设计
理论上,是先将转速转化为某一种电量来测量,如电压,电流等。
设计中将转速测量转化为电脉冲频率的测量。
基于这一思想,三极管输出型红外光电耦合器。
如图3.1所示,在电机转轮一处开孔,这样,每转一圈,三级管(红外接收
头)透光导通一次,OUT端输出一个上脉冲,即完成了转速/频率的转换。
图3.1转速/频率转化电路
3.1.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值解不等式可得:
0.000017F。
单位换算得C<
0.017μF,为了方便整形,实际设计中C=0.001μF。
3.2电机驱动电路的设计
本设计采用目前市场上较容易买到的L298N直流或步进电机驱动芯片,它采用单片集成塑装,是一个高电压、大电流全双桥驱动器,由标准的TTL电平控制。
L298N支持50V以内的电机控制电压,在直流运转条件下,可以通过高达2A
的电流,因此它满足了一般小型电机的控制要求。
接法见图3.2,图中二极管的用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。
PWM控制信号由in1、in2输入。
如果in1为高电平,in2为低电平时电机为正向转速,反之in1为低电平,in2为高电平时,电机为反向转速。
本设计将in2直接接地,即采用单向制动的方式。
图3.2电机驱动电路
3.3LCD显示电路和键盘与单片机的接口设计
采用技术成熟价格便宜的1602液晶显示器做为输出显示。
本次设计使用的1602液晶显示器为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置128个字符的ASCII字符集字库只有并行接口,无串行接口。
本设计采用并行方式控制,LCD与单片机的通讯接口电路如图3.3所示采用直连的方法,这样设计的优点是在不影响性能的条件下还不用添加其它硬件,简化了电路,降低了成本。
图3.3LCD显示电路与单片机的接口
本设计采用四个键作为键盘,分别为选择、加、减、确定。
它们分别与P0.4、P0.5、P0.6、P0.7接口相连。
作为设置速度的输入。
图3.4键盘电路
4系统软件设计
4.1系统总程序框图设计
系统程序程序框图如图4.1和4.2所示。
开始
系统初始化
显示初始化
中断处理
调用按键子程序
定时中断为1
定时中断为0
外中断为0
是否有键按下
无
系统时间计时,处理
测量计算转速
有
键处理子程序
发送测量值到处理器
发送数据至处理器
中断返回
图4.1单片机总程序框图
系统初始化
PID参数初始化
查看中断
中断1
中断0
接受测量值子程序
接受设定值子程序
PID计算处理
计算PWM定时值
输出PWM信号
图4.2PID控制器程序框图
当系统被启动后,主从单片机初始化。
主单片机检测是否有键按下,再执行键子程序,将输入的值传送到PID控制器,PID控制器经PID计算处理,再计算出PWM的定时值,PID再送出相应的PWM信号,驱动电机转动,单片机将传感器输入的信号进行计算,再将得出的值输出到PID控制器,PID控制器经计算输出相应的PWM信号控制电机转速趋于设定的转速。
依次循环使电机趋于稳定值。
4.2电机转速测量程序设计
设计中考虑到电机的工作环境一般比较恶劣,因此除了硬件外,从程序上除了要更高的精确度也需要进行更多的抗干扰设计,从而实现软件的大范围检错、纠错或丢弃错误等。
在程序的设计过程中,对严重不符合要求的测量数据(如大
于6000转对应的数据)进行了丢弃处理,而对于正常范围内的数据错误采用了采5取3求平均的算法(即采集5个数据,去掉一个最大值一个最小值,然后将剩余3数据求平均)。
实验表明,此方法降低了系统采集转速中出现的错误。
对于转速的测量方法,是通过速度脉冲信号下降沿触发单片机的外中断,中断服务子程序在某一个脉冲的下降沿开启定时器记时,然后在下一个下降沿关闭定时器,通过对定时器数据进行运算处理可以得到信号周期进而得到速度值。
其程序框图如图5.1。
可以看出,此方法下的采样周期是随转速变化的,转速越高采样越快。
通过这种非均匀的速度采样方式可以使电机在高速情况下,实现高速度高精度的控制。
进入中断
检测中断标志
为“0”为“1”
关闭定时器及总中断
判断数据是否正常
开定时器计时
否
是否采5处理
社中断标志为1
是
系统时间初始化
保存数据
发送到PID控制器
完成5组数据采集
中断返回
取3求平均值
定时器初值初始化
计算速度值
速度值是否正常
是否
图4.3外中断程序框图
4.3键盘程序设计
键盘程序设计的任务是赋予各按键相应的功能,完成速度设定值的输入和向PID控制器的发送。
4只按键一只用来位循环选择,告诉单片机要调整的是设定值的个位、十位、百位还是千位。
第二、三只按键分别是减1、加1减。
在没有位选择的情况下对设定值整体进行减1、加1;
在有位选择的情况下仅对相应位进行减1、加1,并且当按着不释放按键时可以实现快速连续减1、加1,同时允许循环减、加(既当某位为0时,在减1则为9,某位为9时,加1则为0)。
最后一只按键是确认发送键,按下它后,单片机将设定值送给PID控制器,从而实现设定控制。
程序框图如图4.4。
键盘子程序
调用减“1”子程序
位键按下否
发送键按下否
否
位选循环右移
键值处理保存显示
向PID控制器发送
加“1”键按下否
返回
调用加“1”子程序
减“1”键按下否
否图4.4键盘程序框图
4.4显示电路的设计
LCD的详细使用过程可参阅对应型号的使用手册。
仅在本小节强调以下内容:
LCD使用的关键是根据显示需要正确地对其进行初始化设置,而一般情况下不用考虑如何向它读写指令或数据,因为制造厂商所给的使用资料里就附有驱动程序,如果没有也可以从网上搜索下载得到。
然而我们必须清楚那些初始化设置之间的关系,以及它是如何利用设置读取、显示数据字符的,不然就会发生一些不可预料的错误。
因此,熟读LCD驱动芯片使用手册也是一个关键环节。
通常LCD的初始化包括复位设置、清除显示、地址归位、显示开关、游标设
置、读写地址设置、反白选择以及睡眠模式等等。
实际中根据需要,正确、灵活
地修改这些设置可以达到较为满意的显示效果。
LCD中所有汉字、数字和字符都
可以通过它的ASCII码来访问显示;
图象的显示是通过将相关软件(提取汉字、
图象点阵数据程序)产生的数据按照LCD手册的要求完成响应设置后写入即可。
由于本设计中没有使用到图形显示,所以没有详述。
对于系统使用的汉字、字符
和数据的LCD显示初始化程序和写数据程序框图见图4.5。
调入待显示数据指针
系统延迟
调待显示屏幕位置数据
计算DDRAM地址
设定使用基本指令集
调用写入指令子程序写入DDRAM地址
清屏,地址指针归位
调用数据输入子程序
设定游标的移动方向及指定显示的移位
待显示数据指针加1
一行数据显示完?
显示完所有行?
LCD初始化子程序否
是LCD写入显示数据子程序
图4.5LCD显示初始化程序和写数据程序框图
4.5PWM信号的单片机程序实现
理论上,只要PWM脉冲的周期正比于PID控制算法的输出结果结果。
具体实现过程中,取u(k)的整数部分(记为:
UT)保存,然后用PWM信号的周期值减去UT所得值即为定时器1的初值(记为:
INIT)。
其程序框图见图4.6。
定时器1中断
定时器0中断
设定时器0中断优先级最高
设定时器1中断优先级最高
将PWM输出端置0
将PWM输出端置高电平“1”
装入PWM信号初值INIT
装入50ms初值
图4.6产生PWM控制信号程序框图
5数字PID及其算法的改进
5.1PID控制基本原理
控制基本原理PID控制即比例(Proportional)、积分(Integrating)、微分(Differentiation)控制。
在PID控制系统中,完成PID控制规律的部分称为PID控制器。
它是一种线形控制器,用输出y(t)和给定量r(t)之间的误差的时间函数e(t)=r(t)-y(t).PID控制器框图如图5.1。
实际应用中,可以根据受控对象的特性和控制的性能要求,灵活地采用不同的控制组合,如:
Kp
Ki/S
控制对象
+U(t)C(t)
R(t)E(t)+
Kd*S
_+
图5.1PID控制器框图
比例(P)控制器:
u(t)=Kp*e(t)
比例+积分(PI)控制器:
u(t)=Kp[e(t)+
]
比例+积分+微分(PID)控制器:
+
de(t)/dt]
式中Kp为比例运算放大系数,Ti为积分时间,Td为微分时间。
5.2三个基本参数Kp,,Ti,Td在实际控制中的作用研究
比例调节作用:
是按比例反映系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差,属于“即时”型调节控制。
比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降甚至造成系统的不稳