PID控制算法程序
PID控制算法及流程图

1,PID是一个闭环控制算法.因此要实现PID算法,必须在硬件上具有闭环控制,就是得有反馈。
比如控制一个电机的转速,就得有一个测量转速的传感器,并将结果反馈到控制路线上,下面也将以转速控制为例.2,PID是比例(P)、积分(I)、微分(D)控制算法。
但并不是必须同时具备这三种算法,也可以是PD,PI,甚至只有P算法控制。
我以前对于闭环控制的一个最朴素的想法就只有P控制,将当前结果反馈回来,再与目标相减,为正的话,就减速,为负的话就加速。
现在知道这只是最简单的闭环控制算法。
3,比例(P)、积分(I)、微分(D)控制算法各有作用:比例,反应系统的基本(当前)偏差e(t),系数大,可以加快调节,减小误差,但过大的比例使系统稳定性下降,甚至造成系统不稳定;积分,反应系统的累计偏差,使系统消除稳态误差,提高无差度,因为有误差,积分调节就进行,直至无误差;微分,反映系统偏差信号的变化率e(t)—e(t—1),具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除,因此可以改善系统的动态性能。
但是微分对噪声干扰有放大作用,加强微分对系统抗干扰不利。
积分和微分都不能单独起作用,必须与比例控制配合。
4,控制器的P,I,D项选择。
下面将常用的各种控制规律的控制特点简单归纳一下:1、比例控制规律P:采用P控制规律能较快地克服扰动的影响,它的作用于输出值较快,但不能很好稳定在一个理想的数值,不良的结果是虽较能有效的克服扰动的影响,但有余差出现.它适用于控制通道滞后较小、负荷变化不大、控制要求不高、被控参数允许在一定范围内有余差的场合。
如:金彪公用工程部下设的水泵房冷、热水池水位控制;油泵房中间油罐油位控制等.2、比例积分控制规律(PI):在工程中比例积分控制规律是应用最广泛的一种控制规律。
积分能在比例的基础上消除余差,它适用于控制通道滞后较小、负荷变化不大、被控参数不允许有余差的场合.如:在主线窑头重油换向室中F1401到F1419号枪的重油流量控制系统;油泵房供油管流量控制系统;退火窑各区温度调节系统等。
PID控制算法的C语言实现(完整版)

PID控制算法的C语言实现(完整版) 在现代工业生产中,为了实现对生产过程的精确控制,我们需要采用一种能够根据实际需求自动调整参数的控制算法。
PID(Proportional-Integral-Derivative)控制算法就是这样一种广泛应用于工业控制系统的算法。
本文将详细介绍PID控制算法的C语言实现,包括算法的基本原理、实现方法以及注意事项。
我们来了解一下PID控制算法的基本原理。
PID控制器由三个部分组成:比例(P)、积分(I)和微分(D)。
这三个部分分别对误差信号进行处理,然后将处理后的信号相加得到控制输出。
具体来说,比例部分根据误差信号的大小产生相应的控制作用;积分部分对误差信号进行累积,以消除系统的静差;微分部分对误差信号的变化趋势进行预测,以便及时调整控制策略。
通过这三个部分的综合作用,PID控制器能够实现对生产过程的精确控制。
接下来,我们来看一下如何用C语言实现PID控制算法。
我们需要定义一些变量来存储所需的参数和状态信息。
例如,我们需要定义比例系数Kp、积分系数Ki、微分系数Kd以及误差信号e等。
我们还需要定义一些变量来存储上一次的误差信号和积分项等。
这些变量的定义如下:```cdouble Kp, Ki, Kd; // 比例、积分、微分系数double e; // 当前误差信号double de; // 当前误差信号的导数double last_e; // 上一次的误差信号double integral; // 积分项有了这些变量之后,我们就可以开始实现PID控制器的计算过程了。
PID控制器的计算过程主要包括以下几个步骤:1. 计算误差信号:当前误差信号等于期望值与实际值之差。
2. 计算比例项:比例项等于当前误差信号乘以比例系数Kp;3. 计算积分项:积分项等于当前误差信号乘以积分系数Ki加上累积误差信号乘以积分系数Ki;4. 计算微分项:微分项等于当前误差信号的导数乘以微分系数Kd;5. 计算控制输出:控制输出等于比例项、积分项和微分项之和。
51单片机PID算法程序增量式PID控制算法

51单片机PID算法程序增量式PID控制算法增量式PID控制算法是一种常用的控制算法,可以应用于各种控制系统中。
该算法的原理是通过计算目标值与实际值之间的差异,来调整控制系统的输出,使其逐渐接近目标值。
增量式PID控制算法的核心思想是通过对目标值与实际值之间的差异进行积分和微分计算,来调整控制系统的输出。
这样可以使得控制系统对误差的响应更加敏感,从而实现更精确的控制效果。
在51单片机中实现增量式PID控制算法,可以按照以下步骤进行:1.参数设置:首先需要设置PID控制算法的参数,包括比例系数Kp、积分系数Ki和微分系数Kd。
这些参数可以根据实际控制系统的需求进行调整。
2.变量定义:定义控制系统所需的变量,包括目标值、实际值、误差值、上一次的误差值、累积误差值等。
3.计算误差:将目标值与实际值之间的差异作为误差值进行计算。
4.计算增量输出:根据误差值以及上一次的误差值和累积误差值,计算控制系统的增量输出。
增量输出的计算公式为:增量输出=Kp*(当前误差-上一次误差)+Ki*当前误差+Kd*(当前误差-上一次误差)5.更新变量:更新控制系统所需的变量,包括上一次的误差值和累积误差值。
6.输出信号:将增量输出作为控制系统的输出信号,并进行相应的处理。
通过上述步骤,就可以实现51单片机的增量式PID控制算法。
在实际应用中,可以根据具体情况对算法进行优化和改进,以满足实际控制的需求。
总结起来,增量式PID控制算法是一种常用的控制算法,可以通过计算目标值与实际值之间的差异,调整控制系统的输出,从而实现精确的控制效果。
在51单片机中实现增量式PID控制算法,可以按照参数设置、变量定义、计算误差、计算增量输出、更新变量和输出信号等步骤进行。
根据具体情况可以对算法进行优化和改进,以满足实际控制的需求。
PID算法程序—位置式PID控制算法

PID算法程序—位置式PID控制算法位置式PID控制算法是一种经典的控制算法,用来实现对于被控对象位置的精确控制。
本文将介绍位置式PID控制算法的原理和实现方式。
位置式PID控制算法的原理是基于被控对象的位置反馈信号,通过比较设定值和实际值之间的差异,进行控制动作的调整。
PID控制算法分为三个部分,即比例(Proportional)、积分(Integral)和微分(Derivative)控制。
比例控制通过比较设定值和实际值的差异,按照一个比例系数进行控制。
比例控制的作用是根据误差的大小来产生一个合适的控制量,使得误差越大,则控制量越大。
比例控制的数学公式为:P=Kp*e,其中P为控制量,Kp为比例系数,e为误差。
积分控制通过对误差进行累计,按照一个积分系数进行控制。
积分控制的作用是根据误差的累积量来产生一个较长期的平均控制量,以消除一些系统方面的偏差。
积分控制的数学公式为:I = Ki * ∫e dt,其中I为控制量,Ki为积分系数,∫e dt为误差的累积量。
微分控制通过对误差的变化率进行控制,按照一个微分系数进行控制。
微分控制的作用是根据误差的变化趋势来产生一个瞬时控制量,以抑制控制过程中的震荡和超调现象。
微分控制的数学公式为:D = Kd * de/dt,其中D为控制量,Kd为微分系数,de/dt为误差的变化率。
位置式PID控制算法的输出为PID控制量,即PID=P+I+D。
PID控制量经过执行机构(如电机)的作用,使被控对象达到设定值。
PID控制算法是一个迭代过程,通过不断调整PID系数,使控制系统的稳态误差趋于零,且响应时间和稳定性都符合要求。
在实际应用中,需要根据被控对象的特性和控制要求,调整PID控制算法的参数。
比例系数Kp决定了响应的敏感度,积分系数Ki决定了控制的稳定性,微分系数Kd决定了控制的平滑性。
通过合理调整这些参数,可以实现对被控对象位置的精确控制。
PID控制算法的实现可以通过编程语言来实现。
(完整版)PID控制算法介绍与实现

PID控制算法介绍与实现一、PID的数学模型在工业应用中PID及其衍生算法是应用最广泛的算法之一,是当之无愧的万能算法,如果能够熟练掌握PID算法的设计与实现过程,对于一般的研发人员来讲,应该是足够应对一般研发问题了,而难能可贵的是,在很多控制算法当中,PID控制算法又是最简单,最能体现反馈思想的控制算法,可谓经典中的经典。
经典的未必是复杂的,经典的东西常常是简单的,而且是最简单的。
PID算法的一般形式:PID算法通过误差信号控制被控量,而控制器本身就是比例、积分、微分三个环节的加和。
这里我们规定(在t时刻):1.输入量为i(t)2.输出量为o(t)3.偏差量为err(t)=i(t)− o(t)u(t)=k p(err(t)+1T i.∫err(t)d t+T D d err(t)d t)二、PID算法的数字离散化假设采样间隔为T,则在第K个T时刻:偏差err(k)=i(k) - o(k)积分环节用加和的形式表示,即err(k) + err(k+1) + …微分环节用斜率的形式表示,即[err(k)- err(k−1)]/T; PID算法离散化后的式子:u(k)=k p(err(k)+TT i.∑err(j)+T DT(err(k)−err(k−1)))则u(k)可表示成为:u(k)=k p(err(k)+k i∑err(j)+k d(err(k)−err(k−1)))其中式中:比例参数k p:控制器的输出与输入偏差值成比例关系。
系统一旦出现偏差,比例调节立即产生调节作用以减少偏差。
特点:过程简单快速、比例作用大,可以加快调节,减小误差;但是使系统稳定性下降,造成不稳定,有余差。
积分参数k i:积分环节主要是用来消除静差,所谓静差,就是系统稳定后输出值和设定值之间的差值,积分环节实际上就是偏差累计的过程,把累计的误差加到原有系统上以抵消系统造成的静差。
微分参数k d:微分信号则反应了偏差信号的变化规律,或者说是变化趋势,根据偏差信号的变化趋势来进行超前调节,从而增加了系统的快速性。
PID控制算法(PID控制原理与程序流程)

PID控制算法(PID控制原理与程序流程)⼀、PID控制原理与程序流程(⼀)过程控制的基本概念过程控制――对⽣产过程的某⼀或某些物理参数进⾏的⾃动控制。
1、模拟控制系统图5-1-1 基本模拟反馈控制回路被控量的值由传感器或变送器来检测,这个值与给定值进⾏⽐较,得到偏差,模拟调节器依⼀定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执⾏器作⽤于过程。
控制规律⽤对应的模拟硬件来实现,控制规律的修改需要更换模拟硬件。
2、微机过程控制系统图5-1-2 微机过程控制系统基本框图以微型计算机作为控制器。
控制规律的实现,是通过软件来完成的。
改变控制规律,只要改变相应的程序即可。
3、数字控制系统DDC图5-1-3 DDC系统构成框图DDC(Direct Digital Congtrol)系统是计算机⽤于过程控制的最典型的⼀种系统。
微型计算机通过过程输⼊通道对⼀个或多个物理量进⾏检测,并根据确定的控制规律(算法)进⾏计算,通过输出通道直接去控制执⾏机构,使各被控量达到预定的要求。
由于计算机的决策直接作⽤于过程,故称为直接数字控制。
DDC系统也是计算机在⼯业应⽤中最普遍的⼀种形式。
(⼆)模拟PID调节器1、模拟PID控制系统组成图5-1-4 模拟PID控制系统原理框图2、模拟PID调节器的微分⽅程和传输函数PID调节器是⼀种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的⽐例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进⾏控制。
a、PID调节器的微分⽅程式中b、PID调节器的传输函数3、PID调节器各校正环节的作⽤a、⽐例环节:即时成⽐例地反应控制系统的偏差信号e(t),偏差⼀旦产⽣,调节器⽴即产⽣控制作⽤以减⼩偏差。
b、积分环节:主要⽤于消除静差,提⾼系统的⽆差度。
积分作⽤的强弱取决于积分时间常数TI,TI越⼤,积分作⽤越弱,反之则越强。
c、微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太⼤之前,在系统中引⼊⼀个有效的早期修正信号,从⽽加快系统的动作速度,减⼩调节时间。
51单片机PID算法程序(三)增量式PID控制算法

51单片机PID算法程序(三)增量式PID控制算法前言在之前的两篇文章中,我们分别介绍了基础PID算法和位置式PID控制算法。
在本文中,我们将介绍另一种常见的PID算法——增量式PID控制算法,以及如何在51单片机上实现增量式PID控制算法。
增量式PID控制算法简介增量式PID控制算法与位置式PID控制算法最大的区别在于输出控制量的计算方式不同。
位置式PID算法的输出控制量是与目标值的误差和历史误差之和的积分和误差的比例和微分,而增量式PID算法的输出控制量只与误差和历史误差的差值有关。
在增量式PID控制算法中,输出控制量的计算方式如下:$$ OutPut=K_p \\cdot Err+K_i \\cdot \\Delta Err+K_d \\cdot \\Delta^2 Err $$ 其中,K p、K i和K d分别是比例、积分和微分系数。
增量式PID控制算法的优点在于可以避免积分饱和、能够快速响应控制量变化,因此在某些要求高响应速度的应用中,常选择使用增量式PID控制算法。
51单片机上的增量式PID控制算法相比较于位置式PID控制算法,增量式PID控制算法的实现更加复杂,需要考虑历史误差的存储、误差的差值计算等问题。
因此,在51单片机上实现增量式PID控制算法需要一些特殊的处理方式。
我们可以通过以下三个步骤来实现增量式PID控制算法:步骤一:初始化变量在增量式PID控制算法中,需要定义一些变量,如上一次的误差值和输出控制量等。
因此,在使用增量式PID控制算法之前,需要先初始化这些变量。
//定义变量double set_point=0; //目标值double process_pv=0; //实际值double Kp=1,Ki=1,Kd=1; //PID参数double last_error=0,prev_error=0; //历史误差double output=0, dInput=0; //输出控制量和误差的差值double output_max=100.0,output_min=-100.0; //控制量范围//初始化变量void PID_Init(){last_error = 0;prev_error = 0;dInput = 0;output = 0;}步骤二:控制量计算根据增量式PID控制算法的公式,我们可以计算控制量的值。
PID控制算法的C语言实现(完整版)

PID控制算法的C语言实现(完整版) 嘿,伙计们!今天我们要聊聊一个非常实用的技能——PID控制算法。
PID是英文Proportional-Integral-Derivative的缩写,翻译过来就是“比例积分微分”。
这个算法在我们的日常生活中随处可见,比如空调、洗衣机等家电的温度调节,还有汽车的速度控制等等。
那么,这个看似高深莫测的算法到底是怎么实现的呢?别急,让我们一起揭开它的神秘面纱吧!我们来了解一下PID控制算法的基本概念。
PID控制算法主要包括三个部分:比例(P)、积分(I)和微分(D)。
这三个部分分别对误差进行处理,然后将处理后的结果相加,得到控制输出。
具体来说,比例部分主要负责消除误差的瞬时成分;积分部分主要负责消除误差的稳态成分;微分部分则负责预测误差的未来变化趋势。
通过这三个部分的综合作用,我们可以实现对系统的精确控制。
接下来,我们来看一下PID控制算法的具体实现。
我们需要定义一些变量和参数,比如比例系数Kp、积分系数Ki、微分系数Kd以及采样时间Ts等。
这些参数的选择对于算法的效果至关重要,需要根据实际应用场景进行调整。
然后,我们需要不断地对系统进行采样,计算出当前的状态值和期望值之间的误差e(t)。
误差e(t)可以通过以下公式计算得到:e(t) = 期望值实际值有了误差e(t),我们就可以开始计算PID控制器的输出了。
根据之前的介绍,PID控制器的输出由比例、积分和微分三个部分组成。
具体计算过程如下:1. 比例部分:计算比例系数Kp乘以误差e(t),得到比例输出u(t);2. 积分部分:计算积分系数Ki乘以误差e(t)的时间积分,得到积分输出u(t);3. 微分部分:计算微分系数Kd乘以误差e(t)的时间微分,得到微分输出u(t)。
将比例、积分和微分三个部分的输出相加,得到最终的控制输出u(t)。
这样,我们就完成了一次PID控制算法的计算过程。
这只是理论上的实现方法,实际上还需要考虑一些其他因素,比如控制器的稳定性、响应速度等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第1章绪论 (2)1.1 PID简介 (2)1.2反馈回路基础 (3)1.3理论 (4)第2章设计原理 (5)第3章设计方案 (6)3.1 PWM的调制 (6)3.2基于单片机的数字PID控制直流电机PWM调压调速器系统 (8)3.2.1 调速原理 (8)3.2.2 基于单片机的数字PID控制直流电机PWM调压调速器系统原理图 (8)3.2.3波形仿真 (9)3.2.4相关程序 (10)第4章心得体会 (16)参考文献 (17)第1章绪论1.1 PID简介PID(比例积分微分)是一个数学物理术语。
PID控制器的参数整定是控制系统设计的核心容。
它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。
它主要是依据系统的数学模型,经过理论计算确定控制器参数。
这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。
二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。
PID控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。
三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。
但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。
现在一般采用的是临界比例法。
利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。
PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。
当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。
即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。
PID控制,实际中也有PI和PD控制。
PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。
PID(比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍是应用最广泛的工业控制器。
PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。
PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e (t)与输出u (t)的关系为 u(t)=kp(e((t)+1/TI∫e(t)dt+TD*de(t)/dt) 式中积分的上下限分别是0和t 因此它的传递函数为:G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)其中kp为比例系数; TI为积分时间常数; TD为微分时间常数。
PID 控制器的方块图PID 控制器是一个在工业控制应用中常见的反馈回路部件。
这个控制器把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。
和其他简单的控制运算不同,PID控制器可以根据历史数据和差别的出现率来调整输入值,这样可以使系统更加准确,更加稳定。
可以通过数学的方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持系统的稳定。
1.2反馈回路基础PID回路是要自动实现一个有量具和控制旋钮的操作人员的工作。
这个操作人员会用量具测系统输出的结果,然后用控制旋钮来调整这个系统的输入,直到系统的输出在量具上显示稳定的需求的结果。
在旧的控制文档里,这个过程叫做“复位”行为。
量具被成为“测量”。
需要的结果被成为“定值”。
定值和测量之间的差别被成为“误差”。
一个控制回路包括三个部分:(1)系统的传感器得到的测量结果;(2)控制器作出决定;(3)通过一个输出设备作出反应。
控制器从传感器得到测量结果,然后用需求结果减去测量结果来得到误差。
然后用误差来计算出一个对系统的纠正值来作为输入结果,这样系统就可以从它的输出结果中消除误差。
在一个PID回路中,这个纠正值有三种算法,消除目前的误差,平均过去的误差,和透过误差的改变来预测将来的误差。
比如说,假如一个水箱在为一个植物提供水,这个水箱的水需要保持在一定的高度。
一个传感器就会用来检查水箱里水的高度,这样就得到了测量结果。
控制器会有一个固定的用户输入值来表示水箱需要的水面高度,假设这个值是保持65%的水量。
控制器的输出设备会连在一个马达控制的水阀门上。
打开阀门就会给水箱注水,关上阀门就会让水箱里的水量下降。
这个阀门的控制信号就是我们控制的变量,它也是这个系统的输入来保持这个水箱水量的固定。
PID控制器可以用来控制任何可以被测量的并且可以被控制变量。
比如,它可以用来控制温度,压强,流量,化学成分,速度等等。
汽车上的巡航定速功能就是一个例子。
一些控制系统把数个PID控制器串联起来,或是链成网络。
这样的话,一个主控制器可能会为其他控制输出结果。
一个常见的例子是马达的控制。
我们会常常需要马达有一个控制的速度并且停在一个确定的位置。
这样呢,一个子控制器来管理速度,但是这个子控制器的速度是由控制马达位置的主控制器来管理的。
连合和串联控制在化学过程控制系统中是很常见的。
1.3理论PID是以它的三种纠正算法而命名的。
这三种算法都是用加法调整被控制的数值。
而实际上这些加法运算大部分变成了减法运算因为被加数总是负值。
这三种算法是:(1)比例- 来控制当前,误差值和一个负常数P(表示比例)相乘,然后和预定的值相加。
P只是在控制器的输出和系统的误差成比例的时候成立。
比如说,一个电热器的控制器的比例尺围是10°C,它的预定值是20°C。
那么它在10°C 的时候会输出100%,在15°C的时候会输出50%,在19°C的时候输出10%,注意在误差是0的时候,控制器的输出也是0。
(2)积分- 来控制过去,误差值是过去一段时间的误差和,然后乘以一个负常数I,然后和预定值相加。
I从过去的平均误差值来找到系统的输出结果和预定值的平均误差。
一个简单的比例系统会振荡,会在预定值的附近来回变化,因为系统无法消除多余的纠正。
通过加上一个负的平均误差比例值,平均的系统误差值就会总是减少。
所以,最终这个PID回路系统会在预定值定下来。
(3)微分- 来控制将来,计算误差的一阶导,并和一个负常数D相乘,最后和预定值相加。
这个导数的控制会对系统的改变作出反应。
导数的结果越大,那么控制系统就对输出结果作出更快速的反应。
这个D参数也是PID被成为可预测的控制器的原因。
D参数对减少控制器短期的改变很有帮助。
一些实际中的速度缓慢的系统可以不需要D参数。
用更专业的话来讲,一个PID控制器可以被称作一个在频域系统的滤波器。
这一点在计算它是否会最终达到稳定结果时很有用。
如果数值挑选不当,控制系统的输入值会反复振荡,这导致系统可能永远无法达到预设值。
第2章设计原理基本的设计核心是运用PID调节器,从而实现直流电机的在带动负载的情况下也能稳定的运行。
运用A/D转换芯片将滑动变阻器的模拟电压转换为数字量作为控制直流电机速度的给定值;用压控振荡器模拟直流电机的运行(电压高-转速高-脉冲多),单片机在单位时间对脉冲计数作为电机速度的检测值;应用数字PID模型作单片机控制编程,其中P、I、D参数可按键输入并用LED数码显示;单片机PWM调宽输出作为输出值,开关驱动、电子滤波控制模拟电机(压控振荡器)实现对直流电机的PID调压调速功能。
基于以上的核心思想,我们把这次设计看成五个环节组成,其具体的原理如下见原理图PID调速设计原理图如图可以知道,这是一个闭环系统,我们借助单片机来控制,我们现运用AD芯片,运用单片机来控制AD芯片来转换模拟电压到数字电压,AD给定的电压越大,则产生的数字量越大,单片机再控制这个数字量来产生一个PWM,PWM占空比越大,就驱动晶体管导通的时间越长,这样加到压频转换器的电压也就越大,电压越大,则压频转换器输出的计数脉冲再单位时间也就越多,这样就相当于电机的电压越大,其转速也就会越快,我们再用单片机对压频转换器的输出脉冲计数,PID调节器就把这个计数脉冲和预先设定的值进行比较,比设定值小,这样就会得到一个偏差,再把这个偏差加到AD的给定电压,这样就相当于加大了PWM的占空比,要是比设定值大,这样也会得到一个偏差,就把这个变差与给定的电压向减,这样就可以减少PWM的占空比,通过改变占空比来改变晶体管的导通时间,就可以改变压频转换器的输入电压,也就改变压频转换器的单位计数脉冲,达到调电动机速度的目的。
第3章设计方案3.1 PWM的调制AD芯片给定一定的电压,应用单片机来控制来产生一个PWM,给定的电压不同,就会的得到不同的PWM波形。
在产生PWM波形我们采用ADC0808芯片和AT89C51两个核心器件。
ADC0808芯片是要外加电压和时钟,当输入不同的电压的时候,就可以把不同的电压模拟量转化为数字值,输入的电压越大,其转换的相应的数字也就会越大,ADC0808芯片有8个通道输入和8个通道输出。
其具体的管脚图如下ADC0808芯片管脚图AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示AT89C51芯片管脚图3.2 基于单片机的数字PID控制直流电机PWM调压调速器系统3.2.1 调速原理当基于以上产生一个PWM后,就可以借助PWM脉冲来控制晶体管的导通和关断,来给压频转换器来提供一定的电压,在PROTUES中仿真中,给定一个+12V 的电压,就通过晶体管的导通和关断来给压频转换器供电,压频转换器就会输出很多的脉冲,借助单片机P3.5来计数,其计数送给P0来显示,通过给定不同的ADC的输入电压,就可以的得到不同的计数显示,电压越大,其计数显示也就越大,通过改变计数脉冲的周期和硬件压频转换器(LM331)的电阻和电容,就可以得到与输入电压接近的数值显示,可能由于干扰的原因,其显示值和实际值有一点偏差,这是在没有什么负载的情况下,或者说是在空载的情况下,这样就可以得到一个很理想的开环系统,也为闭环PWM调节做好准备。