PID电动机转速控制与显示
摘要:在运动控制系统中,电机转速控制占有至关重要的作用。本文以ATS51单片机为控制核心,产生占空比受数字PID算法控制的PWM脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。在系统中采128×LCD显示器作为显示部件,通过4×4键盘设置P、I、D、V四个参数和正反转控制,启动后可以通过显示部件了解电机当前的转速和运行时间。该系统控制精度高,具有很强的抗干扰能力。
关键词:数字PID;PWM脉冲;占空比;无静差调节
1.PID控制技术简介
1.1 PID算法
控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P)、积分(I)、微分(D)进行的控制,称为PID控制。实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。下面分别介绍模拟PID、数字PID及其参数整定方法。
1.1.1 模拟PID
在模拟控制系统中,调节器最常用的控制规律是PID控制,常规PID控制系统原理框图如图1.1所示,系统由模拟PID调节器、执行机构及控制对象组成。
r(t)比 例+e(t)-微 分积 分++u(t)执行机构对象c(t)
图1.1 模拟PID控制系统原理框图
PID调节器是一种线性调节器,它根据给定值r(t)与实际输出值c(t)构成的控制偏差:
e(t)=r(t)-c(t) (1.1)
将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为PID调节器。在实际应用中,常根据对象的特征和控制要求,将P、I、D基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如,P调节器,PI调节器,PID调节器等。
模拟PID调节器的控制规律为
1u(t)K[e(t) pTIe(t)dtTD0tde(t)] (1.2) dt
式中,KP为比例系数,TI为积分时间常数,TD为微分时间常数。
简单的说,PID调节器各校正环节的作用是:
(1)比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即
产生控制作用以减少偏差;
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时
间常数TI,TI越大,积分作用越弱,反之则越强;
(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太
大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
由式1.2可得,模拟PID调节器的传递函数为 D(S)U(S)1KP(1TDS) (1.3) E(S)TIS由于本设计主要采用数字PID算法,所以对于模拟PID只做此简要介绍。
1.1.2 数字PID
在DDC系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的设计,实际上是计算机算法的设计。
由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对控制规律进行离散化的算法设计。
为将模拟PID控制规律按式(1.2)离散化,我们把图1.1中r(t)、e(t)、u(t)、c(t)在第n次采样的数据分别用r(n)、e(n)、u(n)、c(n)表示,于是式(1.1)变为 :
e(n)=r(n)-c(n) (1.4)
当采样周期T很小时dt可以用T近似代替,de(t)可用e(n)e(n1)近似代替,“积分”用“求和”近似代替,即可作如下近似
de(t)e(n)e(n1) (1.5) dtTnt e(t)dte(i)T (1.6)
0i1这样,式(1.2)便可离散化以下差分方程
T u(n)KP{e(n)TI即
TDe(n)[e(n)e(n1)]}u0 (1.7) Ti1n上式中u0是偏差为零时的初值,上式中的第一项起比例控制作用,称为比例(P)项uP(n),
up(n)KPe(n) (1.8)
第二项起积分控制作用,称为积分(I)项uI(n)即
Tu(n)K IPTIuD(n)KP
e(i) (1.9)
i1n第三项起微分控制作用,称为微分(D)项uD(n)即
TD[e(n)e(n1)] (1.10) T这三种作用可单独使用(微分作用一般不单独使用)或合并使用,常用的组合有:
P控制: u(n)uP(n)u0 (1.11) PI控制: u(n)uP(n)uI(n)u0 (1.12)
PD控制: u(n)uP(n)uD(n)u0 (1.13)
PID控制: u(n)uP(n)uI(n)uD(n)u0 (1.14)
式(1.7)的输出量u(n)为全量输出,它对于被控对象的执行机构每次采样时刻应达到的位置。因此,式(1.7)又称为位置型PID算式。
由(1.7)可看出,位置型控制算式不够方便,这是因为要累加偏差e(i),不仅要占用较多的存储单元,而且不便于编写程序,为此对式(1.7)进行改进。
根据式(1.7)不难看出u(n-1)的表达式,即
Tu(n1)KP{e(n1)TIe(n)i1n1TD[e(n1)e(n2)]}u0 (1.15) T将式(1.7)和式(1.15)相减,即得数字PID增量型控制算式为
u(n)u(n)u(n1)
KP[e(n)e(n1)]KIe(n)KD[e(n)2e(n1)e(n2)] (1.16)
从上式可得数字PID位置型控制算式为
u(n)KP[e(n)e(n1)]KIe(n)KD[e(n)2e(n1)e(n2)]u0 (1.17)
式中: KP称为比例增益;
T称为积分系数; TITDKK D称为微分系数[1]。 PT KIKP数字PID位置型示意图和数字PID增量型示意图分别如图1.2和1.3所示:
r(t)+-e(t)PID位置算法uc(t)控制器被控对象图1.2 数字PID位置型控制示意图
r(t)+-e(t)PID增量算法u控制器被控对象c(t) 图1.3 数字PID增量型控制示意图
1.1.3 数字PID参数整定方法
如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。
PID调节器的参数整定方法有很多,但可归结为理论计算法和工程整定法两种。用理论
计算法设计调节器的前提是能获得被控对象准确的数学模型,这在工业过程中一般较难做到。因此,实际用得较多的还是工程整定法。这种方法最大优点就是整定参数时不依赖对象的数学模型,简单易行。当然,这是一种近似的方法,有时可能略嫌粗糙,但相当适用,可解决一般实际问题。下面介绍两种常用的简易工程整定法。
(1)扩充临界比例度法
这种方法适用于有自平衡特性的被控对象。使用这种方法整定数字调节器参数的步骤是:
①选择一个足够小的采样周期,具体地说就是选择采样周期为被控对象纯滞后时间的十分
之一以下。
②用选定的采样周期使系统工作:工作时,去掉积分作用和微分作用,使调节器成为纯比
例调节器,逐渐减小比例度(1/KP)直至系统对阶跃输入的响应达到临界振荡状态,记下此时的临界比例度K及系统的临界振荡周期Tk。
③选择控制度:所谓控制度就是以模拟调节器为基准,将DDC的控制效果与模拟调节器
的控制效果相比较。控制效果的评价函数通常用误差平方面积
控制度=
[e(t)dt]DDC[e(t)dt]模拟00220e2(t)表示。
(1.18)
实际应用中并不需要计算出两个误差平方面积,控制度仅表示控制效果的物理 概念。通常,当控制度为1.05时,就可以认为DDC与模拟控制效果相当;当控制度为2.0时,DDC比模拟控制效果差。
④根据选定的控制度,查表1.1求得T、KP、TI、TD的值[1]。
表1.1 扩充临界比例度法整定参数
控制度 控制规律 T 0.03TK 0.014TK 0.05TK KP TI TD 1.05 1.05 1.20 1.20 1.50 1.50 2.00 2.00 PI PID PI PID PI PID PI PID 0.53K 0.63K 0.49K 0.42K 0.34K 0.36K 0.27K 0.88TK 0.49TK 0.91TK 0.47TK 0.99TK 0.43TK 1.05TK 0.40TK 0.14TK 0.16TK 0.20TK 0.22TK 0.043TK 0.047K 0.14TK 0.09TK 0.22TK 0.16TK (2)经验法
经验法是靠工作人员的经验及对工艺的熟悉程度,参考测量值跟踪与设定值曲 线,来调整P、I、D三者参数的大小的,具体操作可按以下口诀进行:
参数整定找最佳,从小到大顺序查; 先是比例后积分,最后再把微分加; 曲线振荡很频繁,比例度盘要放大; 曲线漂浮绕大湾,比例度盘往小扳; 曲线偏离回复慢,积分时间往下降; 曲线波动周期长,积分时间再加长; 曲线振荡频率快,先把微分降下来; 动差大来波动慢,微分时间应加长。
下面以PID调节器为例,具体说明经验法的整定步骤:
①让调节器参数积分系数KI=0,实际微分系数KD=0,控制系统投入闭环运行,由小到
大改变比例系数KP,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。
②取比例系数KP为当前的值乘以0.83,由小到大增加积分系数KI,同样让扰动信号作
阶跃变化,直至求得满意的控制过程。
③积分系数KI保持不变,改变比例系数KP,观察控制过程有无改善,如有改善则继续
调整,直到满意为止。否则,将原比例系数KP增大一些,再调整积分系数KI,力求改善控制过程。如此反复试凑,直到找到满意的比例系数KP和积分系数KI为止。
④引入适当的实际微分系数KD和实际微分时间TD,此时可适当增大比例系数KP和积
分系数KI。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。
PID参数是根据控制对象的惯量来确定的。大惯量如:大烘房的温度控制,一般P可
在10以上,I在(3、10)之间,D在1左右。小惯量如:一个小电机闭环控制,一般P在
(1、10)之间,I在(0、5)之间,D在(0.1、1)之间,具体参数要在现场调试时进行
修正。
1.2 PWM脉冲控制技术
PWM(Pulse Width Modulation)控制就是对脉冲的宽度进行调制的技术。即通过对一
系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。
1.2.1 PWM控制的基本原理
在采样控制理论中有一个重要的结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量即指窄脉冲的面积。这里所说的效果基本相同,是指环节的输出响应波形基本相同。如果把各输出波形用傅立叶变换分析,则其低频段非常接近,仅在高频段略有差异。例如图1.4中a、b、c所示的三个窄脉冲形状不同,其中图1.4的a为矩形脉冲,图1.4的b为三角脉冲,图1.4的c为正弦半波脉冲,但它们的面积(即冲量)都等于
1,那么,当它们分别加在具有惯性的同一环节上时,其输出响应基本相同。当窄脉冲变为如
图1.4的d所示的单位脉冲函数(t)时,环节的响应即为该环节的脉冲过渡函数。
图1.4 形状不同而冲量相同的各种窄脉冲
图1.5a的电路是一个具体的例子。图中e(t)为窄脉冲,其形状和面积分别如图1.4的
a、b、c、d所示,为电路的输入。该输入加在可以看成惯性环节的R-L电路上,设其电流i(t)为电路的输出。图1.5b给出了不同窄波时i(t)的响应波形。从波形可以看出,在i(t)的上升段,脉冲形状不同时i(t)的形状也略有不同,但其下降段几乎完全相同。脉冲越窄,各i(t)波形的差异也越小。如果周期性的施加上述脉冲,则响应i(t)也是周期性的。用傅立叶级数分解后将可看出,各i(t)在低频段的特性非常接近,仅在高频段有所不同[2]。
图1.5 冲量相同的各种窄脉冲的响应波形
1.2.2 直流电机的PWM控制技术
直流电动机具有优良的调速特性,调速平滑、方便,调速范围广,过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起动、制动和反转;能满足生产过程自动化系统各种不同的特殊运行要求,在许多需要调速或快速正反向的电力拖动系统领域中得到了广泛的应用。
直流电动机的转速调节主要有三种方法:调节电枢供电的电压、减弱励磁磁通和改变电枢回路电阻。针对三种调速方法,都有各自的特点,也存在一定的缺陷。例如改变电枢回路电阻调速只能实现有级调速,减弱磁通虽然能够平滑调速,但这种方法的调速范围不大,一般都是配合变压调速使用。所以在直流调速系统中,都是以变压调速为主。其中,在变压调速系统中,大体上又可分为可控整流式调速系统和直流PWM调速系统两种。直流PWM调速系统与可控整流式调速系统相比有下列优点:由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好、稳速精度高、调速范围宽。同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;开关器件只工作在开关状态,因此主电路损耗小、装置效率高;直流电源采用不可控整流时,电网功率因数比相控整流器高。正因为直流PWM调速系统有以上优点,并且随着电力电子器件开关性能的不断提高,直流脉宽调制( PWM) 技术得到了飞速的发展。
随着科学技术的迅猛发展传统的模拟和数字电路已被大规模集成电路所取代,这就使得数字调制技术成为可能。目前,在该领域中大部分应用的是数字脉宽调制技术。电动机调速系统采用微机实现数字化控制,是电气传动发展的主要方向之一。采用微机控制后,整个调速系统实现全数字化,并且结构简单、可靠性高、操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要求。下面主要介绍直流电机PWM调速系统的算法实现。
根据PWM控制的基本原理可知,一段时间内加在惯性负载两端的PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,那么如果在短时间T内脉冲宽度为t0,幅值为U,由图1.6可求得此时间内脉冲的等效直流电压为:
0t0TtU(t)U 图1.6 PWM脉冲
t0t0UU0,若令,即为占空比,则上式可化为:
TT U0U (U为脉冲幅值) (1.19)
若PWM脉冲为如图1.7所示周期性矩形脉冲,那么与此脉冲等效的直流电压的计算
方法与上述相同,即
U0
nt0Ut0UU (为矩形脉冲占空比) (1.20) nTTUU(t)
0t0T2t02T3t03T4t0nT(n+1)t0t图1.7 周期性PWM矩形脉冲
由式1.20可知,要改变等效直流电压的大小,可以通过改变脉冲幅值U和占空比来实现,因为在实际系统设计中脉冲幅值一般是恒定的,所以通常通过控制占空比的大小实现等效直流电压在0~U之间任意调节,从而达到利用PWM控制技术实现对直流电机转速进行调节的目的。
2.设计要求与方案论证
2.1设计要求
(1)电机转速可以键盘设计
(2)使用光电传感器将电机转速转换为脉冲频率,比较精确的反映出电机的转速,从而与设定值进行比较产生偏差,实现比例、积分、微分的控制,达到转速无静差调节的目的;
(3)使用光电耦合器将主电路和控制电路利用光隔开,使系统更加安全可靠; (4)128×LCD显示模块提供一个人机对话界面,并实时显示电机运行速度和运行时间;
(5)利用Proteus软件进行系统整体仿真,从而进一步验证电路和程序的正确性,避免不必要的损失;
(6)采用数字PID算法,利用软件实现控制,具有更改灵活,节约硬件等优点; (7)系统性能指标:超调量8%;调节时间4s;转速误差1r/min。
2.2方案论证 2.2.1系统总体方案
根据系统设计的任务和要求,设计系统方框图如图3.1所示。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生PWM脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字PID运算后改变PWM脉冲的占空比,实现电机转速实时控制的目的。
图2-1 系统方案框图
2.2.2 控制器模块方案
根据设计任务,控制器主要用于产生占空比受数字PID算法控制的PWM脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比脉冲。对于控制器的选择有以下三种方案。
方案一:采用FPGA(现场可编辑门列阵)作为系统的控制器,FPGA可以实现各种复杂的逻辑功能[3],模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能控制。FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。通过输入模块将参数输入给FPGA,FPGA通过程序设计控制PWM脉冲的占空比,但是由于本次设计对数据处理的时间要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使
其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。
方案二:采用ATS51作为系统控制的方案。ATS51单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制[4]。相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用广泛。
方案三:采用传统的ATC51单片机作为运动物体的控制中心。它和ATS51一样都具有软件编程灵活、体积小、成本低,使用简单等特点,但是它的频率较低、运算速度慢,
RAM、ROM空间小等缺点。本题目在确定圆周坐标值时,需要进行大量的运算。若采用C51需要做RAM,ROM来扩展其内存空间,其硬件工作量必然大大增多。
综合上述三种方案比较,采用ATS51作为控制器处理输入的数据并控制电机运动较为简单,可以满足设计要求。因此在本次设计选用方案二。
2.2.3 电机驱动模块设计方案
本次设计的主要目的是控制电机的转速,因此电机驱动模块是必不可少,其方案有一下两种。
方案一:采用大功率晶体管组合电路构成驱动电路,这种方法结构简单,成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,我们知道在实际的生产实践过程中可靠性是一个非常重要的方面。因此此中方案不宜采用。
方案二:采用专用的电机驱动芯片,例如L298N、L297N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠行,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。
基于上述理论分析和实际情况,电机驱动模块选用方案二。
2.2.4 速度采集模块设计方案
本系统是一闭环控制系统,在调节过程中需要将设定与当前实际转速进行比较,速度采集模块就是为完成这样功能而设计的,其设计方案以下三种:
方案一:采用霍尔集成片。该器件内部由三片霍尔金属板组成。当磁铁正对金属板时,由于霍尔效应,金属板发生横向导通[5],因此可以在电机上安装磁片,而将霍尔集成片安装在固定轴上,通过对脉冲的计数进行电机速度的检测。
方案二:采用对射式光电传感器。其检测方式为:发射器和接受器相互对射安装,发射器的光直接对准接受器,当测物挡住光束时,传感器输出产生变化以指示被测物被检测到。通过脉冲计数,对速度进行测量。
方案三:采用测速发电机对直流电机转速进行测量。该方案的实现原理是将测速发电机固定在直流电机的轴上,当直流电机转动时,带动测速电机的轴一起转动,因此测速发电机
会产生大小随直流电机转速大小变化的感应电动势,因此精度比较高,但由于该方案的安装比较复杂、成本也比较高,在本次设计没有采用此方案。
以上三种方案中,第三种方案不宜采用,第一种和第二种方案的测速原理基本相同都是将电机转速转换为电脉冲的频率进行测量,但考虑到市场中的霍尔元件比较难买,而且成本也比较高,所以综合考虑在设计中选用第二种方案进行设计。
2.2.5 显示模块设计方案
在电机转速控制系统中,系统需要对参数、工作方式以及电机当前运行状态的显示,因此在整个系统中必须设计一个显示模块,考虑有三种方案:
方案一:使用七段数码管(LED)显示。数码管具有亮度高、工作电压低、功耗小、易于集成、驱动简单、耐冲击且性能稳定等特点,并且它可采用BCD编码显示数字,编程容易,硬件电路调试简单。但由于在此次设计中需要设定的参数种类多,而且有些需要进行汉字和字符的显示,所以使用LED显示器不能完成设计任务,不宜采用。
方案二:采用1602LCD液晶显示器,该显示器控制方法简单,功率低、硬件电路简单、可对字符进行显示,但考虑到1602LCD液晶显示器的屏幕小,不能显示汉字,因此对于需要显示大量参数的系统来说不宜采用。
方案三:采用128×LCD液晶显示器,该显示器功率低,驱动方法和硬件连接电路较上面两种方案复杂,显示屏幕大、可对汉字和字符进行显示。
根据本次设计的设计要求,显示模块选用方案三。
2.2.6 键盘模块设计方案
在电机转速控制系统中,系统需要按键进行参数的输入、工作方式的设定以及电机起停的控制,因此键盘在整个系统中是不可缺少的一部分,考虑有二种方案:
方案一:采用式键盘,这种键盘硬件连接和软件实现简单,并且各按键相互,每个按键均有一端接地,另一端接到输入线上。按键的工作状态不会影响其它按键上的输入状态。但是由于式键盘每个按键需要占用一根输入口线,所以在按键数量较多时,I/O口浪费大,故此键盘只适用于按键较少或操作速度较高的场合。
方案二:采用行列式键盘,这种键盘的特点是行线、列线分别接输入线、输出线。按键设置在行、列线的交叉点上,利用这种矩阵结构只需m根行线和n根列线就可组成mn个按键的键盘,因此矩阵式键盘适用于按键数量较多的场合。但此种键盘的软件结构较为复杂[6]。
根据上面两种方案的论述,由于本次设计的系统硬件连接比较复杂,对软件的运行速度要求不高,所以采用方案二矩阵式键盘进行设计。
2.2.7 电源模块设计方案
电源是任何系统能否运行的能量来源,无论那种电力系统电源模块都是不可或缺的,对于该模块考虑一下两种方案。
方案一:通过电阻分压的形式将整流后的电压分别降为控制芯片和电机运行所需的电压,此种方案原理和硬件电路连接都比较简单,但对能量的损耗大,在实际应用系统同一般不宜采用。
方案二:通过固定芯片对整流后的电压进行降压、稳压处理(如7812、7805等),此种方案可靠性、安全性高,对能源的利用率高,并且电路简单容易实现。
根据系统的具体要求,采用方案二作为系统的供电模块。
3 单元电路设计
3.1 硬件资源分配
本系统电路连接及硬件资源分配见图3.1所示。采用ATS51单片机作为核心器件,转速检测模块作为电机转速测量装置,通过ATS51的P3.3口将电脉冲信号送入单片机处理,L298作为直流电机的驱动模块,利用128×LCD显示器和4×4键盘作为人机接口。
图3.1 系统电路连接及硬件资源分配图
3.2 电源电路
电源是整个系统的能量来源,它直接关系到系统能否运行。在本系统中直流电机需要12V电源,而单片机、显示模块等其它电路需要5V的电源,因此电路中选用7805和7812两种稳压芯片,其最大输出电流为1.5A,能够满足系统的要求,其电路如图3.2所示。
图3.2 电源电路
3.3 电机驱动电路
驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里选用L298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替
导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速。其中输出脚(SENSEA和SENSEB)用来连接电流检测电阻,Vss接逻辑控制的电源。Vs为电机驱动电源。IN1-IN4输入引脚为标准TTL 逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入PWM信号实现电机调速。其电路如图3.3所示,利用两个光电耦合器将单片机的I/O与驱动电路进行隔离,保证电路安全可靠。这样单片机产生的PWM脉冲控制L298N的选通端[7],使电机在PWM脉冲的控制下正常运行,其中四个二极管对芯片起保护作用。
图3.3 电机驱动电路
3.4 电机速度采集电路
在本系统中由于要将电机本次采样的速度与上次采样的速度进行比较,通过偏差进行
PID运算,因此速度采集电路是整个系统不可缺少的部分。本次设计中应用了比较常见的光电测速方法来实现,其具体做法是将电机轴上固定一圆盘,且其边缘上有N个等分凹槽如图3.5(a)所示,在圆盘的一侧固定一个发光二极管,其位置对准凹槽处,在另一侧和发光二
极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处时,发光二极管通过缝隙将光照射到光敏三极管上,三极管导通,反之三极管截止,电路如图3.4(b)所示,从图中可以得出电机每转一圈在P3.3的输出端就会产生N个低电平。这样就可根据低电平的数量来计算电机此时转速了。例如当电机以一定的转速运行时,P3.3将输出如图3.5所示的脉冲,若知道一段时间t内传感器输出的低脉冲数为n,则电机转速v=r/s。
图3.4 电机速度采集方案
图3.5 传感器输出脉冲波形
3.5 显示电路设计
根据设计要求要对系统各项参数和电机运行状态进行显示,因此在电路中加入显示模块是非常必要的。在系统运行过程中需要显示的数据比较都,而且需要汉字显示,在这里选用
128×液晶显示器比较适合,它是一种图形点阵液晶显示器,主要由行驱动器/列驱动器及128×全点阵液晶显示器组成,可完成汉字(16×16)显示和
图形显示共有20个引脚[8],其引脚名称及引脚编号的对应关系如图3.6,引脚功能如表3.1所示。
20191817161514131211109876321KAVEE/RSTCS2CS1DB7DB6DB5DB4DB3DB2DB1DB0ER/WRSVOVDDVSS 图3.6 128×LCD引脚分布 表3.1 128液晶显示模块引脚功能
引脚 符 号 引 脚 功 能 电源地 电源正+5V 液晶显示驱动电源 引脚 符 号 引 脚 功 能 1 2 3 4 VSS VDD VO RS 15 16 17 18 CS1 CS2 /RST VEE CS1=1芯片选择左边*点 CS2=1芯片选择右边*点 复位(低电平有效) H:数据输入; L:指令码输入 H:数据读取; L:数据写入 使能信号。 数据线 LCD驱动负电源 5 6 R/W E 19 20 A K 背光电源(+) 背光电源(-) 7-14 DB0-DB7 有些型号的模块19、20脚为空脚 128×液晶显示器与单片机的连接电路如图3.7所示:
图3.7 显示模块电路图
3.6 键盘电路设计
根据设计需求,本系统中使用了4×4键盘用以实现对P、I、D三个参数和电机正反转的设定,以及对电机启动、停止、暂停、继续的控制,其电路原理图如图4.8所示。图中L0~
L3为4×4键盘的列信号,H0~H3为4×4键盘的行信号。在本系统中,用P1.0~P1.3连
接键盘的列信号L0~L3;用P0.4~P0.7连接键盘的行信号H0~H3[9]。按照要求设计操作面板如图3.8所示:
图3.8 键盘模块
键盘操作说明:在系统开始运行时,128×LCD将显示开机界面,若按下设置键显示屏进入参数设置界面,此时按1、2、3、4进入相应参数的设置的状态,输入相应的数字即可完成该参数的设置,待所有量设置完成后按正/反控制键设置正反转,最后按启动键启动系统,在运行过程中可按下相应键对电机进行暂停、继续、停止运行的控制。
4 软件设计
4.1 算法实现
4.1.1 PID算法
本系统设计的核心算法为PID算法,它根据本次采样的数据与设定值进行比较得出偏差e(n),对偏差进行P、I、D运算最终利用运算结果控制PWM脉冲的占空比来实现对加在电机两端电压的调节[10],进而控制电机转速。其运算公式为:
计算e(n)计算KIe(n)计算KP(e(n)-e(n-1))计算KD(e(n)-2e(n-1)+e(n-2))计算Δu(n)计算Δu(n)+u(n-1)e(n-1)→e(n-2)e(n)→e(n-1)u(n)→u(n-1)返回图4.1u(n) KP[e(n)e(n1)]KIe(n)KD[e(n)
2e(n1)e(n2)]u0因此要想实现PID控制在单片机就必须存在上述算法, 其程序流程如图4.1所示。 4.2.2 电机速度采集算法
本系统中电机速度采集是一个非常重要的部分,它的精度直接影响到整个控制的精度。在设计中采用了光电传感器做为测速装置,其计算公式为:
n60 r/min v=
Nt从这里可以看出速度
v
的误差主要是由圆盘边缘上的凹槽数的
PID程序流程
多少决定的,为了减少系统误差应尽量提高凹槽的数量,在本次设计中取凹槽数N为120,采样时间t为0.5s,则速度计算具体程序流程如图4.2所示。
图4.2 测速程序流程
4.2 程序流程 4.3.1 主流程图
在一个完整的系统中,只有硬件部分是不能完成相应设计任务的,所以在该系统中软件部分是非常重要的,按照要求和系统运行过程设计出主程序流程如图4.3所示。
t=0.5s?NY计算r=n/120计算v=(r/0.5)*60返回开始初始化调用清屏子程序开始界面显示设置键N按下?Y调用清屏子程序设置界面显示启动键N按下?Y根据设置计算参数调用清屏子程序电机运行状态显示PWM脉冲输出图4.3 主程序流程
4.2.2 键盘程序程序流程
键盘中断程序是用来设在系统相应参数和控制系统进入相应的运行状态,其程序流程图如图4.4所示。
延时去抖动P1口低四位置1读P1口低四位数据到KEYLP1口高四位置1读P1口高四位数据到KEYHKEYL、KEYH相与为KEYKEY=0XEE ?NKEY=0XED ?NKEY=0XEB ?NKEY=0XE7 ?NKEY=0XDE ?NKEY=0XDD ?NKEY=0XDB ?NKEY=0XD7 ?NKEY=0XBE ?NKEY=0XBD ?NKEY=0XBB ?NKEY=0XB7 ?NKEY=0X7E ?NKEY=0X7D ?NKEY=0X7B ?NKEY=0X77 ?NRETIYYYYYYYYYYYYYYYY数字键0数字键1数字键2数字键3数字键4数字键5数字键6数字键7数字键8数字键9正/反功能键暂停功能键继续功能键启动功能键停止功能键设置功能键
图4.4 键盘程序流程
4.2.3 定时程序流程
在本系统中定时器T0中断子程序是用来控制电机运行时间和进行速度计算和PID 运算,其程序流程如图4.5所示。
定时器T0赋初值RETI图4.5 定时程序流程
脉冲计数时间=0.5s?Y速度计算PID运算各变量重新赋值显示数据刷新N4.2.4 显示程序流程
显示模块是实现人机对话的重要部分,在这里选用128×LCD显示器可实现对汉字和字符的显示,该显示器的引脚功能在上面已经做了说明。其显示子程序流程如图4.6所示。
初始化循环次数j=2 ?N设置显示起始页、起始列j=j+1;i=0Y写入数据字节数i=16?N调用写入数据子程序i=i+1RETIa) 写入16*16汉字程序流程YY初始化循环次数j=2 ?N设置显示起始页、起始列j=j+1;i=0写入数据字节数i=8?N调用写入数据子程序i=i+1RETIb)写入8*16数字Y
图4.6 显示程序流程
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务