找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12985|回复: 0
收起左侧

基于单片机的直流电机控制系统毕业设计论文

[复制链接]
ID:301092 发表于 2018-4-2 20:18 | 显示全部楼层 |阅读模式
摘要
在运动控制系统中,电机转速控制占有至关重要的作用,其控制算法和手段有很多,模拟PID控制是最早发展起来的控制策略之一,长期以来形成了典型的结构,并且参数整定方便,能够满足一般控制的要求,但由于在模拟PID控制系统中,参数一旦整定好后,在整个控制过程中都是固定不变的,而在实际中,由于现场的系统参数、温度等条件发生变化,使系统很难达到最佳的控制效果,因此采用模拟PID控制器难以获得满意的控制效果。随着计算机技术与智能控制理论的发展,数字PID技术渐渐发展起来,它不仅能够实现模拟PID所完成的控制任务,而且具备控制算法灵活、可靠性高等优点,应用面越来越广。
本设计以上面提到的数字PID为基本控制算法,以AT89S51单片机为控制核心,产生占空比受数字PID算法控制的PWM脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,实现转速闭环控制,达到转速无静差调节的目的。在系统中采数码管显示器作为显示部件,通过2×2键盘设置P、I、D、V四个参数,启动后可以通过显示部件了解电机当前的转速。该系统控制精度高,具有很强的抗干扰能力。
关键词:数字PID;PWM脉冲;占空比;无静差调节


Abstract
In the motion control system,the control of electromotor's rotate speed is of great importance,there are a lot of speed control arithmetics and methods ,the analog PID control is one of the earliest developed control policies which has formed typical structure ,its parametric setting is convenient and it's easy to meet normal control's demand,but as the whole control process is fixed once the parameter has been set while practically the changes of those conditions like the system parameters and temperature of the environment prohibit the system from reaching its best control effect,so the analog PID controller barely has satisfied effect.With the development of computer technology and intelligent control theory ,the digital PID technology is thriving which can achieve the analog PID's control tasks and consists of many advantages like flexible control arithmetics and high reliability,it is widely used now.
This design is based on the digital PID mentioned above as basic control arithmetic and AT89S51 SCM as control core,the system produces PWM impulse whose duty ratio is controlled by digital PID arithmetic to make sure the running of direct current machine's rotate speed.Meanwhile,the design uses  photoelectric sensor to transduce the electromotor speed into impulse frequency and feed  it back to SCM,this process implements rotate speed's closed loop control to attain the purpose of rotate speed's  astatic  modulation.In this system, the  128×64LCD  is used as display unit , the  4×4  keyboard  sets those four parameters  P、I、D、V  and obverse and reverse control,after starting up,the display unit shows the electromotor's current rotate speed and runtime.The system has great control precision and anti-jamming capability.
Keywords: digital PID;PWM impulse;dutyfactor;astatic modulation


前言
21世纪,科学技术日新月异,科技的进步带动了控制技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已进入高速发展的信息时代,控制技术成为当今科技的主流之一,广泛深入到研究和应用工程等各个领域。
控制理论的发展经历了古典控制理论、现代控制理论和智能控制理论三个阶段。其控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。控制器的输出经过输出接口﹑执行机构、加到被控系统上;控制系统的被控量、经过传感器、变送器、通过输入接口送到控制器。不同的控制系统、传感器﹑变送器﹑执行机构是不一样的。比如压力控制系统要采用压力传感器。电加热控制系统的传感器是温度传感器。目前,PID控制及其控制器或智能PID控制器已经很多,产品已在工程实际中得到了广泛的应用。
受益于数十年来全球经济高速成长所获得的PID控制成果,在中国市场,一大批机器设备制造商正处于蓬勃发展阶段,除满足本土市场庞大的机器设备需求外,走向国际市场,参与国际竞争也成为现实需求。在应用方面,这种控制技术已经渗透到了医疗、汽车制造、铁道运输、航天航空、钢铁生产、物流配送、饮料生产等多个方面。但是由于中国科技落后,为此,我们需要更进一步的学习、掌握与应用先进的控制技术与解决方案,以提升设备性能、档次与市场竞争力。在国外,尤其在运动控制及过程控制方面PID控制技术的应用更是越来越广泛和深入。随着科技的进步,人们对生活舒适性的追求将越来越高,PID控制技术作为一项具有发展前景和影响力的新技术,正越来越受到国内外各行业的高度重视。
PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。实际中也有PI和PD控制。PID控制器就是根据偏差的比例、积分、微分进行控制的。比例控制是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。当仅有比例控制时系统输出存在稳态误差(Steady-state error)。在积分控制中,控制器的输出与输入偏差信号的积分成正比关系。对一个自动控制系统,如果在进入稳态后存在稳态误差,则称这个控制系统是有稳态误差的或简称有差系统(System with Steady-state Error)。为了消除稳态误差,在控制器中必须引入“积分项”。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。这样,即便误差很小,积分项也会随着时间的增加而加大,它推动控制器的输出增大使稳态误差进一步减小,直到等于零。因此,比例+积分(PI)控制器,可以使系统在进入稳态后无稳态误差。在微分控制中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。因此在运动控制系统中PID控制技术应用更为广泛,是机器人等高技术领域的技术基础,它可以对运动部件的位置、速度等进行实时控制管理,使其符合相应的控制要求。被广泛应用于汽车制造、医疗、铁道运输、航天航空、钢铁生产等领域,并受到各行各业地重视。其中电机速度的控制在运动控制理论中占有至关重要的作用,本设计主要应用数字PID算法,利用PWM调制技术实现电机转速的控制。随着社会的发展用户对其性能提出了越来越高的要求,借助于数字和网络技术的智能控制已经深入到运动控制系统的各个方面,各种新技术的应用也大大提高了运动控制系统的性能,高频化、交流化和网络化成为今后的发展方向。
本次设计主要研究的是PID控制技术在运动控制领域中的应用,纵所周知运动控制系统最主要的控制对象是电机,在不同的生产过程中,电机的运行状态要满足生产要求,其中电机速度的控制在占有至关重要的作用,因此本次设计主要是利用PID控制技术对直流电机转速的控制。其设计思路为:以AT89S51单片机为控制核心,产生占空比受PID算法控制的PWM脉冲实现对直流电机转速的控制。同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,构成转速闭环控制系统,达到转速无静差调节的目的。在系统中采128×64LCD显示器作为显示部件,通过4×4键盘设置P、I、D、V四个参数和正反转控制,启动后通过显示部件了解电机当前的转速和运行时间。因此该系统在硬件方面包括:电源模块、电机驱动模块、控制模块、速度检测模块、人机交互模块。软件部分采用C语言进行程序设计,其优点为:可移植性强、算法容易实现、修改及调试方便、易读等。
本次设计系统的主要特点:
(1)优化的软件算法,智能化的自动控制,误差补偿;
(2)使用光电传感器将电机转速转换为脉冲频率,比较精确的反映出电机的转速,从而与设定值进行比较产生偏差,实现比例、积分、微分的控制,达到转速无静差调节的目的;
(3)使用光电耦合器将主电路和控制电路利用光隔开,使系统更加安全可靠;
(4)128×64LCD显示模块提供一个人机对话界面,并实时显示电机运行速度和运行时间;
(5)利用Proteus软件进行系统整体仿真,从而进一步验证电路和程序的正确性,避免不必要的损失;
(6)采用数字PID算法,利用软件实现控制,具有更改灵活,节约硬件等优点;
(7)系统性能指标:超调量 8%;
调节时间 4s;
转速误差  1r/min。

1 PID算法及PWM控制技术简介
1.1 PID算法
控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P)、积分(I)、微分(D)进行的控制,称为PID控制。实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。下面分别介绍模拟PID、数字PID及其参数整定方法。
1.1.1 模拟PID
在模拟控制系统中,调节器最常用的控制规律是PID控制,常规PID控制系统原理框图如图1.1所示,系统由模拟PID调节器、执行机构及控制对象组成。



图1.1  模拟PID控制系统原理框图
PID调节器是一种线性调节器,它根据给定值 与实际输出值 构成的控制偏差:                      = -                        (1.1)
将偏差的比例、积分、微分通过线性组合构成控制量,对控制对象进行控制,故称为PID调节器。在实际应用中,常根据对象的特征和控制要求,将P、I、D基本控制规律进行适当组合,以达到对被控对象进行有效控制的目的。例如,P调节器,PI调节器,PID调节器等。
模拟PID调节器的控制规律为
                                  (1.2)
式中, 为比例系数, 为积分时间常数, 为微分时间常数。
简单的说,PID调节器各校正环节的作用是:
(1)比例环节:即时成比例地反应控制系统的偏差信号 ,偏差一旦产生,调节器立即产生控制作用以减少偏差;
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数 , 越大,积分作用越弱,反之则越强;
(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
由式1.2可得,模拟PID调节器的传递函数为
                                     (1.3)
由于本设计主要采用数字PID算法,所以对于模拟PID只做此简要介绍。
1.1.2 数字PID
在DDC系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。因此,系统中数字控制的设计,实际上是计算机算法的设计。
由于计算机只能识别数字量,不能对连续的控制算式直接进行运算,故在计算机控制系统中,首先必须对控制规律进行离散化的算法设计。
为将模拟PID控制规律按式(1.2)离散化,我们把图1.1中 、 、 、 在第n次采样的数据分别用 、 、 、 表示,于是式(1.1)变为 :
= -                        (1.4)
当采样周期T很小时 可以用T近似代替, 可用 近似代替,“积分”用“求和”近似代替,即可作如下近似
                                                (1.5)
                                          (1.6)
这样,式(1.2)便可离散化以下差分方程
                     (1.7)
上式中 是偏差为零时的初值,上式中的第一项起比例控制作用,称为比例(P)项 ,即
                                          (1.8)
第二项起积分控制作用,称为积分(I)项 即
                                               (1.9)
第三项起微分控制作用,称为微分(D)项 即
                  (1.10)
这三种作用可单独使用(微分作用一般不单独使用)或合并使用,常用的组合有:
P控制:                                (1.11)
PI控制:                         (1.12)
           PD控制:                         (1.13)
PID控制:                   (1.14)
式(1.7)的输出量 为全量输出,它对于被控对象的执行机构每次采样时刻应达到的位置。因此,式(1.7)又称为位置型PID算式。
由(1.7)可看出,位置型控制算式不够方便,这是因为要累加偏差 ,不仅要占用较多的存储单元,而且不便于编写程序,为此对式(1.7)进行改进。
根据式(1.7)不难看出u(n-1)的表达式,即
  (1.15)
将式(1.7)和式(1.15)相减,即得数字PID增量型控制算式为

    (1.16)
    从上式可得数字PID位置型?控制算式为
    (1.17)
式中:   称为比例增益;
         称为积分系数;
         称为微分系数[1]。
数字PID位置型示意图和数字PID增量型示意图分别如图1.2和1.3所示:


图1.2  数字PID位置型控制示意图


图1.3  数字PID增量型控制示意图
1.1.3 数字PID参数整定方法
如何选择控制算法的参数,要根据具体过程的要求来考虑。一般来说,要求被控过程是稳定的,能迅速和准确地跟踪给定值的变化,超调量小,在不同干扰下系统输出应能保持在给定值,操作变量不宜过大,在系统和环境参数发生变化时控制应保持稳定。显然,要同时满足上述各项要求是很困难的,必须根据具体过程的要求,满足主要方面,并兼顾其它方面。
PID调节器的参数整定方法有很多,但可归结为理论计算法和工程整定法两种。用理论计算法设计调节器的前提是能获得被控对象准确的数学模型,这在工业过程中一般较难做到。因此,实际用得较多的还是工程整定法。这种方法最大优点就是整定参数时不依赖对象的数学模型,简单易行。当然,这是一种近似的方法,有时可能略嫌粗糙,但相当适用,可解决一般实际问题。下面介绍两种常用的简易工程整定法。
(1)扩充临界比例度法
这种方法适用于有自平衡特性的被控对象。使用这种方法整定数字调节器参数的步骤是:
①选择一个足够小的采样周期,具体地说就是选择采样周期为被控对象纯滞后时间的十分之一以下。
②用选定的采样周期使系统工作:工作时,去掉积分作用和微分作用,使调节器成为纯比例调节器,逐渐减小比例度 ( )直至系统对阶跃输入的响应达到临界振荡状态,记下此时的临界比例度 及系统的临界振荡周期 。
③选择控制度:所谓控制度就是以模拟调节器为基准,将DDC的控制效果与模拟调节器的控制效果相比较。控制效果的评价函数通常用误差平方面积 表示。
                  控制度=                     (1.18)
实际应用中并不需要计算出两个误差平方面积,控制度仅表示控制效果的物理
概念。通常,当控制度为1.05时,就可以认为DDC与模拟控制效果相当;当控制度为2.0时,DDC比模拟控制效果差。
④根据选定的控制度,查表1.1求得T、 、 、 的值[1]。
表1.1  扩充临界比例度法整定参数
控制度        控制规律        T         



1.05        PI        0.03
0.53
0.88

1.05        PID        0.014
0.63
0.49
0.14

1.20        PI        0.05
0.49
0.91

1.20        PID        0.043
0.047
0.47
0.16

1.50        PI        0.14
0.42
0.99

1.50        PID        0.09
0.34
0.43
0.20

2.00        PI        0.22
0.36
1.05

2.00        PID        0.16
0.27
0.40
0.22

(2)经验法
经验法是靠工作人员的经验及对工艺的熟悉程度,参考测量值跟踪与设定值曲
线,来调整P、I、D三者参数的大小的,具体操作可按以下口诀进行:
参数整定找最佳,从小到大顺序查;
先是比例后积分,最后再把微分加;
曲线振荡很频繁,比例度盘要放大;
曲线漂浮绕大湾,比例度盘往小扳;
曲线偏离回复慢,积分时间往下降;
曲线波动周期长,积分时间再加长;
曲线振荡频率快,先把微分降下来;
动差大来波动慢,微分时间应加长。
下面以PID调节器为例,具体说明经验法的整定步骤:
①让调节器参数积分系数 =0,实际微分系数 =0,控制系统投入闭环运行,由小到大改变比例系数 ,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。
②取比例系数 为当前的值乘以0.83,由小到大增加积分系数 ,同样让扰动信号作阶跃变化,直至求得满意的控制过程。
③积分系数 保持不变,改变比例系数 ,观察控制过程有无改善,如有改善则继续调整,直到满意为止。否则,将原比例系数 增大一些,再调整积分系数 ,力求改善控制过程。如此反复试凑,直到找到满意的比例系数 和积分系数 为止。
④引入适当的实际微分系数 和实际微分时间 ,此时可适当增大比例系数 和积分系数 。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。
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所示的单位脉冲函数 时,环节的响应即为该环节的脉冲过渡函数。
图1.4  形状不同而冲量相同的各种窄脉冲
图1.5a的电路是一个具体的例子。图中 为窄脉冲,其形状和面积分别如图1.4的a、b、c、d所示,为电路的输入。该输入加在可以看成惯性环节的R-L电路上,设其电流 为电路的输出。图1.5b给出了不同窄波时 的响应波形。从波形可以看出,在 的上升段,脉冲形状不同时 的形状也略有不同,但其下降段几乎完全相同。脉冲越窄,各 波形的差异也越小。如果周期性的施加上述脉冲,则响应 也是周期性的。用傅立叶级数分解后将可看出,各 在低频段的特性非常接近,仅在高频段有所不同[2]。

      
  图1.5  冲量相同的各种窄脉冲的响应波形
1.2.2 直流电机的PWM控制技术
直流电动机具有优良的调速特性,调速平滑、方便,调速范围广,过载能力大,能承受频繁的冲击负载,可实现频繁的无级快速起动、制动和反转;能满足生产过程自动化系统各种不同的特殊运行要求,在许多需要调速或快速正反向的电力拖动系统领域中得到了广泛的应用。
直流电动机的转速调节主要有三种方法:调节电枢供电的电压、减弱励磁磁通和改变电枢回路电阻。针对三种调速方法,都有各自的特点,也存在一定的缺陷。例如改变电枢回路电阻调速只能实现有级调速,减弱磁通虽然能够平滑调速,但这种方法的调速范围不大,一般都是配合变压调速使用。所以在直流调速系统中,都是以变压调速为主。其中,在变压调速系统中,大体上又可分为可控整流式调速系统和直流PWM调速系统两种。直流PWM调速系统与可控整流式调速系统相比有下列优点:由于PWM调速系统的开关频率较高,仅靠电枢电感的滤波作用就可获得平稳的直流电流,低速特性好、稳速精度高、调速范围宽。同样,由于开关频率高,快速响应特性好,动态抗干扰能力强,可以获得很宽的频带;开关器件只工作在开关状态,因此主电路损耗小、装置效率高;直流电源采用不可控整流时,电网功率因数比相控整流器高。正因为直流PWM调速系统有以上优点,并且随着电力电子器件开关性能的不断提高,直流脉宽调制( PWM) 技术得到了飞速的发展。
随着科学技术的迅猛发展传统的模拟和数字电路已被大规模集成电路所取代,这就使得数字调制技术成为可能。目前,在该领域中大部分应用的是数字脉宽调制技术。电动机调速系统采用微机实现数字化控制,是电气传动发展的主要方向之一。采用微机控制后,整个调速系统实现全数字化,并且结构简单、可靠性高、操作维护方便,电动机稳态运转时转速精度可达到较高水平,静动态各项指标均能较好地满足工业生产中高性能电气传动的要求。下面主要介绍直流电机PWM调速系统的算法实现。
根据PWM控制的基本原理可知,一段时间内加在惯性负载两端的PWM脉冲与相等时间内冲量相等的直流电加在负载上的电压等效,那么如果在短时间T内脉冲宽度为 ,幅值为U,由图1.6可求得此时间内脉冲的等效直流电压为:

                          图1.6  PWM脉冲
,若令 , 即为占空比,则上式可化为:                                             
                            (U为脉冲幅值)               (1.19)
若PWM脉冲为如图1.7所示周期性矩形脉冲,那么与此脉冲等效的直流电压的计算方法与上述相同,即
  ( 为矩形脉冲占空比)  (1.20)




图1.7  周期性PWM矩形脉冲
由式1.20可知,要改变等效直流电压的大小,可以通过改变脉冲幅值U和占空比 来实现,因为在实际系统设计中脉冲幅值一般是恒定的,所以通常通过控制占空比 的大小实现等效直流电压在0~U之间任意调节,从而达到利用PWM控制技术实现对直流电机转速进行调节的目的。

2 设计方案与论证
2.1 系统设计方案
根据系统设计的任务和要求,设计系统方框图如图2.1所示。图中控制器模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上。在运行过程中控制器产生PWM脉冲送到电机驱动电路中,经过放大后控制直流电机转速,同时利用速度检测模块将当前转速反馈到控制器中,控制器经过数字PID运算后改变PWM脉冲的占空比,实现电机转速实时控制的目的。

图2.1  系统方案框图
2.2 控制器模块设计方案
根据设计任务,控制器主要用于产生占空比受数字PID算法控制的PWM脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比脉冲。对于控制器的选择有以下三种方案。
方案一:采用FPGA(现场可编辑门列阵)作为系统的控制器,FPGA可以实现各种复杂的逻辑功能[3],模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能控制。FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。通过输入模块将参数输入给FPGA,FPGA通过程序设计控制PWM脉冲的占空比,但是由于本次设计对数据处理的时间要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。
方案二:采用AT89S51作为系统控制的方案。AT89S51单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制[4]。相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用广泛。
方案三:采用传统的AT89C51单片机作为运动物体的控制中心。它和AT89S51一样都具有软件编程灵活、体积小、成本低,使用简单等特点,但是它的频率较低、运算速度慢, RAM、ROM空间小等缺点。本题目在确定圆周坐标值时?,需要进行大量的运算。若采用89C51需要做RAM,ROM来扩展其内存空间,其硬件工作量必然大大增多。
综合上述三种方案比较,采用AT89S51作为控制器处理输入的数据并控制电机运动较为简单,可以满足设计要求。因此在本次设计选用方案二。
2.3 电机驱动模块设计方案
本次设计的主要目的是控制电机的转速,因此电机驱动模块是必不可少,其方案有一下两种。
方案一:采用大功率晶体管组合电路构成驱动电路,这种方法结构简单,成本低、易实现,但由于在驱动电路中采用了大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,我们知道在实际的生产实践过程中可靠性是一个非常重要的方面。因此此中方案不宜采用。
方案二:采用专用的电机驱动芯片,例如L298N、L297N等电机驱动芯片,由于它内部已经考虑到了电路的抗干扰能力,安全、可靠行,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。
基于上述理论分析和实际情况,电机驱动模块选用方案二。
2.4 速度采集模块设计方案
本系统是一闭环控制系统,在调节过程中需要将设定与当前实际转速进行比较,速度采集模块就是为完成这样功能而设计的,其设计方案以下三种:
方案一:采用霍尔集成片。该器件内部由三片霍尔金属板组成。当磁铁正对金属板时,由于霍尔效应,金属板发生横向导通[5],因此可以在电机上安装磁片,而将霍尔集成片安装在固定轴上,通过对脉冲的计数进行电机速度的检测。
方案二:采用对射式光电传感器。其检测方式为:发射器和接受器相互对射安装,发射器的光直接对准接受器,当测物挡住光束时,传感器输出产生变化以指示被测物被检测到。通过脉冲计数,对速度进行测量。
方案三:采用测速发电机对直流电机转速进行测量。该方案的实现原理是将测速发电机固定在直流电机的轴上,当直流电机转动时,带动测速电机的轴一起转动,因此测速发电机会产生大小随直流电机转速大小变化的感应电动势,因此精度比较高,但由于该方案的安装比较复杂、成本也比较高,在本次设计没有采用此方案。
以上三种方案中,第三种方案不宜采用,第一种和第二种方案的测速原理基本相同都是将电机转速转换为电脉冲的频率进行测量,但考虑到市场中的霍尔元件比较难买,而且成本也比较高,所以综合考虑在设计中选用第二种方案进行设计。
2.5 显示模块设计方案
在电机转速控制系统中,系统需要对参数、工作方式以及电机当前运行状态的显示,因此在整个系统中必须设计一个显示模块,考虑有三种方案:
   方案一:使用七段数码管(LED)显示。数码管具有亮度高、工作电压低、功耗小、易于集成、驱动简单、耐冲击且性能稳定等特点,并且它可采用BCD编码显示数字,编程容易,硬件电路调试简单。但由于在此次设计中需要设定的参数种类多,而且有些需要进行汉字和字符的显示,所以使用LED显示器不能完成设计任务,不宜采用。
方案二:采用1602LCD液晶显示器,该显示器控制方法简单,功率低、硬件电路简单、可对字符进行显示,但考虑到1602LCD液晶显示器的屏幕小,不能显示汉字,因此对于需要显示大量参数的系统来说不宜采用。
方案三:采用128×64LCD液晶显示器,该显示器功率低,驱动方法和硬件连接电路较上面两种方案复杂,显示屏幕大、可对汉字和字符进行显示。
根据本次设计的设计要求,显示模块选用方案三。
2.6 键盘模块设计方案
    在电机转速控制系统中,系统需要按键进行参数的输入、工作方式的设定以及电机起停的控制,因此键盘在整个系统中是不可缺少的一部分,考虑有二种方案:
方案一:采用独立式键盘,这种键盘硬件连接和软件实现简单,并且各按键相互独立,每个按键均有一端接地,另一端接到输入线上。按键的工作状态不会影响其它按键上的输入状态。但是由于独立式键盘每个按键需要占用一根输入口线,所以在按键数量较多时,I/O口浪费大,故此键盘只适用于按键较少或操作速度较高的场合。
方案二:采用行列式键盘,这种键盘的特点是行线、列线分别接输入线、输出线。按键设置在行、列线的交叉点上,利用这种矩阵结构只需m根行线和n根列线就可组成 个按键的键盘,因此矩阵式键盘适用于按键数量较多的场合。但此种键盘的软件结构较为复杂[6]。
根据上面两种方案的论述,由于本次设计的系统硬件连接比较复杂,对软件的运行速度要求不高,所以采用方案二矩阵式键盘进行设计。
2.7 电源模块设计方案
电源是任何系统能否运行的能量来源,无论那种电力系统电源模块都是不可或缺的,对于该模块考虑一下两种方案。
方案一:通过电阻分压的形式将整流后的电压分别降为控制芯片和电机运行所需的电压,此种方案原理和硬件电路连接都比较简单,但对能量的损耗大,在实际应用系统同一般不宜采用。
方案二:通过固定芯片对整流后的电压进行降压、稳压处理(如7812、7805等),此种方案可靠性、安全性高,对能源的利用率高,并且电路简单容易实现。
根据系统的具体要求,采用方案二作为系统的供电模块。
经过上述的分析与论证,系统各模块采用的方案如下:
(1)控制模块:     采用AT89S51单片机;
(2)电机驱动模块:采用直流电机驱动芯片L298N实现;
(3)速度采集模块:采用光电传感器;
(4)显示模块:    采用128×64LCD液晶显示模块;
(5)键盘模块:    采用标准的4×4矩阵式键盘;
(6)电源模块:    采用7805、7812芯片实现。

3 单元电路设计
3.1 硬件资源分配
本系统电路连接及硬件资源分配见图3.1所示。采用AT89S51单片机作为核心器件,转速检测模块作为电机转速测量装置,通过AT89S51的P3.3口将电脉冲信号送入单片机处理,L298作为直流电机的驱动模块,利用128×64LCD显示器和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?。

                (a)                                     (b)
图3.4  电机速度采集方案


图3.5  传感器输出脉冲波形
3.5 显示电路设计
根据设计要求要对系统各项参数和电机运行状态进行显示,因此在电路中加入显示模块是非常必要的。在系统运行过程中需要显示的数据比较多,而且需要汉字显示,在这里选用128×64液晶显示器比较适合,它是一种图形点阵液晶显示器,主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成,可完成汉字(16×16)显示和
图形显示共有20个引脚[8],其引脚名称及引脚编号的对应关系如图3.6,引脚功能如表3.1所示。


图3.6  128×64LCD引脚分布
表3.1  12864液晶显示模块引脚功能
引脚        符 号        引 脚 功 能        引脚        符 号        引 脚 功 能
1        VSS        电源地        15        CS1        CS1=1芯片选择左边64*64点
2        VDD        电源正+5V        16        CS2        CS2=1芯片选择右边64*64点
3        VO        液晶显示驱动电源        17        /RST        复位(低电平有效)
4        RS        H:数据输入;
L:指令码输入        18        VEE        LCD驱动负电源
5        R/W        H:数据读取;
L:数据写入        19        A        背光电源(+)
6        E        使能信号。        20        K        背光电源(-)
7-14        DB0-DB7        数据线        有些型号的模块19、20脚为空脚
128×64液晶显示器与单片机的连接电路如图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×64LCD将显示开机界面,若按下设置键显示屏进入参数设置界面,此时按1、2、3、4进入相应参数的设置的状态,输入相应的数字即可完成该参数的设置,待所有量设置完成后按正/反控制键设置正反转,最后按启动键启动系统,在运行过程中可按下相应键对电机进行暂停、继续、停止运行的控制。

4 软件设计
4.1 算法实现
4.1.1 PID算法
本系统设计的核心算法为PID算法,它根据本次采样的数据与设定值进行比较得出偏差 ,对偏差进行P、I、D运算最终利用运算结果控制PWM脉冲的占空比来实现对加在电机两端电压的调节[10],进而控制电机转速。其运算公式为:

因此要想实现PID控制在单片机就必须存在上述算法,
其程序流程如图4.1所示。
4.1.2 电机速度采集算法
本系统中电机速度采集是一个非常重要的部分,它的精度直接影响到整个控制的精度。在设计中采用了光电传感器做为测速装置,其计算公式为:     
v=  r/min
从这里可以看出速度v的误差主要是由圆盘边缘上的凹槽数的多少决定的,为了减少系统误差应尽量提高凹槽的数量,在本次设计中取凹槽数N为120,采样时间t为0.5s,则速度计算具体程序流程如图4.2所示。


                                 图4.2  测速程序流程
4.2 程序流程                                   
4.2.1 主流程图
在一个完整的系统中,只有硬件部分是不能完成相应设计任务的,所以在该系统中软件部分是非常重要的,按照要求和系统运行过程设计出主程序流程如图4.3所示。

图4.3  主程序流程
4.2.2 键盘程序程序流程
    键盘中断程序是用来设在系统相应参数和控制系统进入相应的运行状态,其程序流程图如图4.4所示。



图4.4  键盘程序流程
4.2.3 定时程序流程
    在本系统中定时器T0中断子程序是用来控制电机运行时间和进行速度计算和PID 运算,其程序流程如图4.5所示。

图4.5  定时程序流程
4.2.4 显示程序流程
显示模块是实现人机对话的重要部分,在这里选用128×64LCD显示器可实现对汉字和字符的显示,该显示器的引脚功能在上面已经做了说明,下面介绍128×64LCD的相关指令。
(1)读取状态字
D/I        R/W        DB7        DB6        DB5        DB4        DB3        DB2        DB1        DB0
0        1        BUSY        0        ON/OFF        RST        0        0        0        0
当R/W=1,D/I=0时,在E信号为高的作用下,状态分别输出到数据总线上。状态字是了解模块当前工作状态的唯一的信息渠道,在每次对模块操作之前,都要读出状态字判断BUSY是否为“0”。若不为“0”,则计算机需要等待,直至BUSY =0为止。
(2)显示开关设置  
D/I        R/W        DB7        DB6        DB5        DB4        DB3        DB2        DB1        DB0
0        0        0        0        1        1        1        1        1        D
D=1:开显示;D=0关显示。
(3)显示起始行设置
D/I        R/W        DB7        DB6        DB5        DB4        DB3        DB2        DB1        DB0
0        0        1        1        显示起始行(0~63)
指令表中DB5~DB0为显示起始行的地址,取值在0~3FH(1~64行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。
(4)页面地址设置
D/I        R/W        DB7        DB6        DB5        DB4        DB3        DB2        DB1        DB0
0        0        1        0        1        1        1        Page(0~7)
页面地址是DDRAM的行地址。8行为一页,DDRAM共64行即8页,DB2-DB0表示0-7页。
(5)列地址设置
D/I        R/W        DB7        DB6        DB5        DB4        DB3        DB2        DB1        DB0
0        0        0        1        Yaddress(0~63)
列地址是DDRAM的列地址。共64列,DB5-DB0取不同值得到0-3FH(1-64),代表某一页面上的某一单元地址,列地址计数器在每一次读/写数据后它将自动加一。
(6)写显示数据
D/I        R/W        DB7        DB6        DB5        DB4        DB3        DB2        DB1        DB0
1        0        显 示 数 据
该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加一。      
(7)读显示数据
D/I        R/W        DB7        DB6        DB5        DB4        DB3        DB2        DB1        DB0
1        1        显 示 数 据
该操作将12864模块中的DDRAM存储器对应单位中的内容读出,然后列地址计数器自动加一。
根据上面指令结合系统要实行的功能,其显示子程序流程如图4.6所示。
图4.6  显示程序流程
4.3 系统Proteus仿真
4.3.1 Proteus软件简介
Proteus是英国Labcenter electronics公司研发的EDA设计软件, 是一个基于ProSPICE混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。 Proteus不仅可以做数字电路、模拟电路、数模混合电路的仿真,还可进行多种CPU的仿真,涵盖了51、PIC、AVR、HC11、ARM等处理器,真正实现了在计算机从原理设计、电路分析、系统仿真、测试到PCB板完整的电子设计,实现了从                    概念到产品的全过程。以下为本系统在Protues中的仿真流程:
(1)新建文件:打开Protues点File,在弹出的下拉菜单中选择New Design,在弹出的图幅选择对话框中选Default。
(2)设置编辑环境:按上述的方法对Protues的设计环境进行设置。
(3)元器件选取:按设计要求,在对象选择窗口中点P,弹出Pickdevices对
话框,在Keywords中填写要选择的元器件,然后在右边对话框中选中要选的元器件,则元器件列在对象选择的窗口中如图4.7所示。
本设计所需选用的元器件如下:           
①AT89C51:单片机
②RES、RX8、RESPACK-8:电阻、排阻、上拉电阻                              图4.7  Proteus元器件选取界面
③CRYSTAL:晶振
④CAP、CAP-ELEC:电容、电解电容
⑤7805、7812:5V、12V三端稳压块
⑥IN4007:二极管
⑦AMPIRE128 64:液晶显示器
⑧OPTOCUPLER-NPN:光电耦合器
⑨BOUTTON:按键
⑩MOTOR-ENCODER:直流电机
放置元器件、放置电源和地、连线,得到附录Ⅱ所示的系统整体电路,最后进行电气检测。
(4)程序编译
点菜单Source→Add/Remove sou    rce Files”在出现的对话框如图4.8中,选择ASEM51编辑器,将上面的汇编源程序SEKED.ASM添加。再点菜单Source→Build ALL编译汇编源程序,生成目标代码文件SWLED.HEX。                                                                                                      
(5)程序加载                                图4.8  程序添加界面
在编辑环境左击单片机然后右击,在弹出的对话框中将编译生成的HEX文件加载到芯片中,设单片机的时钟工作频率为12MHZ。
(6)电路仿真
点仿真按键,按照前面介绍的系统使用方法进行仿真。
5 系统测试与分析
为了确定系统与设计要求的符合程度,需要进行系统测试与分析,但是由于试验调节的制约和时间的限制,不能完成此次制作,只能通过软件仿真进行验证,在这里使用的是英国的Proteus软件进行测试,有关改软件的使用在前面的章节已经介绍,在这里不再重复。
根据第1章PID参数整定方法的介绍与分析,对于本系统采用经验法进行参数整定,该方法调试的原则为:
先是比例后积分,最后再把微分加;
曲线振荡很频繁,比例度盘要放大;
曲线漂浮绕大湾,比例度盘往小扳;
曲线偏离回复慢,积分时间往下降;
曲线波动周期长,积分时间再加长;
曲线振荡频率快,先把微分降下来;
动差大来波动慢,微分时间应加长。
下面以PID调节器为例,具体说明经验法的整定步骤:
①让调节器参数积分系数 =0,实际微分系数 =0,控制系统投入闭环运行,由小到大改变比例系数 ,让扰动信号作阶跃变化,观察控制过程,直到获得满意的控制过程为止。
②取比例系数 为当前的值乘以0.83,由小到大增加积分系数 ,同样让扰动信号作阶跃变化,直至求得满意的控制过程。
③积分系数 保持不变,改变比例系数 ,观察控制过程有无改善,如有改善则继续调整,直到满意为止。否则,将原比例系数 增大一些,再调整积分系数 ,力求改善控制过程。如此反复试凑,直到找到满意的比例系数 和积分系数 为止。
④引入适当的实际微分系数 和实际微分时间 ,此时可适当增大比例系数 和积分系数 。和前述步骤相同,微分时间的整定也需反复调整,直到控制过程满意为止。
PID参数是根据控制对象的惯量来确定的。大惯量如:大烘房的温度控制,一般P可在10以上,I在(3、10)之间,D在1左右。小惯量如:一个小电机闭环控制,一般P在(1、10)之间,I在(0、5)之间,D在(0.1、1)之间,具体参数要在现场调试时进行修正。
根据上诉方法,通过软件仿真系统得出数据如表5.1所示,通过观察得出该系统比较合适的P、I、D三者的参数值为:  =2,  =2.2,  =0.2。并且可以反映
表5.1  测试数据表
次数        设定
设定
设定
设定(r/min)        超调量        调节时间(s)        误差
1        2        2.2        0.2        100        8%        4         

2        3        2.2        0.2        100        15%        5         

3        4        2.2        0.2        100        22%        11         

4        1        2.2        0.2        100        5%        6         

5        0        2.2        0.2        100        1%        12         

6        2        1.1        0.2        100        6%        8         

7        2        0        0.2        100        2%        15         

8        2        3.3        0.2        100        8%        5         

9        2        4.4        0.2        100        9%        7         

10        2        2.2        0.1        100        8%        6         

11        2        2.2        0        100        6%        5         

12        2        2.2        0.3        100        7%        5         

13        2        2.2        0.4        100        6%        7         

出PID调节器各校正环节的作用是:
(1)比例环节: 值的选取决定于系统的响应速度。增大 能提高响应速度,减小稳态误差;但是, 值过大会产生较大的超调,甚至使系统不稳定减小 可以减小超调,提高稳定性,但 过小会减慢响应速度,延长调节时间;
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数 , 越大,积分作用越弱,反之则越强;
(3)微分环节:能反映偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
    通过上诉的数据分析可知,该系统完成了设计的任务及要求,证实了设计方案的可行性和设计方法的正确性。


结论
本课题的目的在于利用单片机实现PID算法产生PWM脉冲来控制电机转速。到目前为止通过对控制器模块、电机驱动模块、LCD显示模块、键盘模块、数字PID算法等进行深入的研究。完成了硬件电路的系统设计,并且利用Protel99se软件绘制出PCB图纸(见附录Ⅳ),但由于实验条件不足没能做出PCB板。软件方面利用C语言进行编程,增强了程序的可移植性和灵活性,并且利用Proteus软件进行仿真更加保证了程序的准确性。
归纳起来主要做了如下几方面的工作:1、PID算法与PWM控制技术有机的结合;2、设计了速度检测电路;3、利用C语言进行程序设计,并通过仿真(部分源程序见附录Ⅱ);4、利用Protel99se对PCB板进行绘制。根据上面论述结合测试数据可以看出本次设计基本完成了设计任务和要求。
通过此次设计,掌握了数字PID算法的使用及编程方法,学习了如何进行系统设计及相关技巧,为今后的工作和学习奠定了坚实的基础。


完整的Word格式文档51黑下载地址(附带完整图片):
[毕业设计]基于单片机和PID算法的直流电机调速设计(原创).doc (1.98 MB, 下载次数: 59)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表