PID控制超详细教程

合集下载

PID 调节步骤UT550

PID 调节步骤UT550

一、PID调节步骤:
1、打开说明书3.4节: Setting PID manually
2、按住5秒钟,这时,PID会出现以下对话框
3、按键一下,PID 表会显示主菜单LP1。

4、按一下,会显示下个菜单PAR
5、按键一下,PID 表会显示1.PID
6、按6下,会显示下1.p
你先看看这个值多大,P:2 I:300 D:60
要回到初始界面,按住不动就可。

二、输入类型控制设置:
1,按住5秒,
2,按一下,
3,按一下
4,按一下
5,按一下
4,按一下
5,按一下
把In1 该为41
三、输出类型控制设置:1,按住5秒,
2,按一下,
3,按一下
4,按一下
5,按一下
6,按2次
7,按一次
把OT1改为1
四:地址设置:
1,按住5秒,
2,按一下,
3,按一下
4,按一下
5,按几次出现6,按几次出现
你看看这个参数是多少?我估计应该是3。

五、切换REM和LCL
1,按5秒,出现
2,按若干次后,直到
通过设置MOD参数为LCL。

(完整版)PID控制详解

(完整版)PID控制详解

PID控制原理和特点工程实际中,应用最为广泛调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。

PID 控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制主要技术之一.当被控对象结构和参数不能完全掌握,或不到精确数学模型时,控制理论其它技术难以采用时,系统控制器结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便.即当我们不完全了解一个系统和被控对象﹐或不能有效测量手段来获系统参数时,最适合用PID控制技术。

PID控制,实际中也有PI和PD控制.PID控制器就是系统误差,利用比例、积分、微分计算出控制量进行控制。

1、比例控制(P):比例控制是最常用的控制手段之一,比方说我们控制一个加热器的恒温100度,当开始加热时,离目标温度相差比较远,这时我们通常会加大加热,使温度快速上升,当温度超过100度时,我们则关闭输出,通常我们会使用这样一个函数e(t) = SP – y(t)-u(t) = e(t)*PSP——设定值e(t)——误差值y(t)——反馈值u(t)——输出值P——比例系数滞后性不是很大的控制对象使用比例控制方式就可以满足控制要求,但很多被控对象中因为有滞后性。

也就是如果设定温度是200度,当采用比例方式控制时,如果P选择比较大,则会出现当温度达到200度输出为0后,温度仍然会止不住的向上爬升,比方说升至230度,当温度超过200度太多后又开始回落,尽管这时输出开始出力加热,但温度仍然会向下跌落一定的温度才会止跌回升,比方说降至170度,最后整个系统会稳定在一定的范围内进行振荡。

如果这个振荡的幅度是允许的比方说家用电器的控制,那则可以选用比例控制2、比例积分控制(PI):积分的存在是针对比例控制要不就是有差值要不就是振荡的这种特点提出的改进,它常与比例一块进行控制,也就是PI控制。

其公式有很多种,但大多差别不大,标准公式如下:u(t) = Kp*e(t) + Ki∑e(t) +u0u(t)—-输出Kp--比例放大系数Ki——积分放大系数e(t)——误差u0——控制量基准值(基础偏差)大家可以看到积分项是一个历史误差的累积值,如果光用比例控制时,我们知道要不就是达不到设定值要不就是振荡,在使用了积分项后就可以解决达不到设定值的静态误差问题,比方说一个控制中使用了PI控制后,如果存在静态误差,输出始终达不到设定值,这时积分项的误差累积值会越来越大,这个累积值乘上Ki 后会在输出的比重中越占越多,使输出u(t)越来越大,最终达到消除静态误差的目的PI两个结合使用的情况下,我们的调整方式如下:1、先将I值设为0,将P值放至比较大,当出现稳定振荡时,我们再减小P值直到P值不振荡或者振荡很小为止(术语叫临界振荡状态),在有些情况下,我们还可以在些P值的基础上再加大一点。

PID控制教程

PID控制教程

PID控制原理教程第一讲 数字PID概述1.1概述在连续-时间控制系统中,PID控制器应用得非常广泛。

其设计技术成熟,长期以来形成了典型的结构,参数整定方便,结构更改灵活,能满足一般的控制要求。

数字PID控制比连续PID控制更为优越,因为计算机程序的灵活性,很容易克服连续PID控制中存在的问题,经修正而得到更完善的数字PID算法。

本章将详细地讨论数字PID控制器的设计和调试问题。

1.2PID控制简介目前工业自动化水平已成为衡量各行各业现代化水平的一个重要标志。

同时,控制理论的发展也经历了古典控制理论、现代控制理论和智能控制理论三个阶段。

智能控制的典型实例是模糊全自动洗衣机等。

自动控制系统可分为开环控制系统和闭环控制系统。

一个控制系统包括控制器﹑传感器﹑变送器﹑执行机构﹑输入输出接口。

控制器的输出经过输出接口﹑执行机构﹐加到被控系统上﹔控制系统的被控量﹐经过传感器﹐变送器﹐通过输入接口送到控制器。

不同的控制系统﹐其传感器﹑变送器﹑执行机构是不一样的。

比如压力控制系统要采用压力传感器。

电加热控制系统的传感器是温度传感器。

目前,PID控制及其控制器或智能PID控制器(仪表)已经很多,产品已在工程实际中得到了广泛的应用,有各种各样的PID控制器产品,各大公司均开发了具有PID参数自整定功能的智能调节器(intelligent regulator),其中PID控制器参数的自动调整是通过智能化调整或自校正、自适应算法来实现。

有利用PID控制实现的压力、温度、流量、液位控制器,能实现PID控制功能的可编程控制器(PLC),还有可实现PID控制的PC系统等等。

可编程控制器(PLC) 是利用其闭环控制模块来实现PID控制,而可编程控制器(PLC)可以直接与ControlNet相连,如Rockwell的PLC-5等。

还有可以实现PID控制功能的控制器,如Rockwell 的Logix产品系列,它可以直接与ControlNet相连,利用网络来实现其远程控制功能。

PID控制经典培训教程

PID控制经典培训教程

PID控制经典培训教程一、引言PID控制是自动控制领域最经典、应用最广泛的一种控制策略。

PID控制器因其结构简单、稳定性好、可靠性高、易于调整等优点,在工业控制、航空航天、技术等领域有着广泛的应用。

本教程旨在帮助读者深入理解PID控制原理,掌握PID控制器的设计、参数调整和应用技巧。

二、PID控制原理PID控制器由比例(Proportional)、积分(Integral)和微分(Derivative)三个环节组成,其基本原理是根据控制对象的实际输出与期望输出之间的误差,对控制对象进行相应的调节。

1.比例控制(P)比例控制是根据误差的大小进行调节,其控制作用与误差成正比。

比例控制可以减小误差,提高系统的响应速度。

但比例控制无法消除稳态误差,可能导致系统在期望值附近波动。

2.积分控制(I)积分控制是对误差的累积进行调节,其控制作用与误差的累积成正比。

积分控制可以消除稳态误差,提高系统的稳态性能。

但积分控制可能导致系统的超调量和响应速度降低。

3.微分控制(D)微分控制是对误差的变化率进行调节,其控制作用与误差的变化率成正比。

微分控制可以提高系统的稳定性和响应速度,减小超调量。

但微分控制对噪声敏感,可能导致系统在期望值附近波动。

三、PID控制器的设计与参数调整1.确定控制对象和控制目标在设计PID控制器之前,要明确控制对象和控制目标。

控制对象是指需要进行控制的物理量,如温度、压力、位置等。

控制目标是指期望的控制对象达到的值或状态。

2.选择PID控制器类型根据控制对象的特点和控制目标的要求,选择合适的PID控制器类型。

常见的PID控制器类型有:(1)P控制器:适用于控制对象无稳态误差或稳态误差较小的情况。

(2)PI控制器:适用于控制对象有稳态误差,且对响应速度要求较高的情况。

(3)PD控制器:适用于控制对象有稳态误差,且对超调量要求较低的情况。

(4)PID控制器:适用于控制对象有稳态误差,且对超调量和响应速度都有一定要求的情况。

pid控制原理详解及实例说明

pid控制原理详解及实例说明

pid控制原理详解及实例说明PID控制是一种常见的控制系统,它通过比例、积分和微分三个控制参数来实现对系统的控制。

在工业自动化等领域,PID控制被广泛应用,本文将详细介绍PID控制的原理,并通过实例说明其应用。

1. PID控制原理。

PID控制器是由比例(P)、积分(I)和微分(D)三个部分组成的控制器。

比例部分的作用是根据偏差的大小来调节控制量,积分部分的作用是根据偏差的累积值来调节控制量,微分部分的作用是根据偏差的变化率来调节控制量。

PID控制器的输出可以表示为:\[ u(t) = K_p e(t) + K_i \int_{0}^{t} e(\tau) d\tau + K_d \frac{de(t)}{dt} \]其中,\(u(t)\)为控制量,\(e(t)\)为偏差,\(K_p\)、\(K_i\)、\(K_d\)分别为比例、积分、微分系数。

比例控制项主要用来减小静差,积分控制项主要用来消除稳态误差,微分控制项主要用来改善系统的动态性能。

通过合理地调节这三个参数,可以实现对系统的精确控制。

2. PID控制实例说明。

为了更好地理解PID控制的原理,我们以温度控制系统为例进行说明。

假设有一个加热器和一个温度传感器组成的温度控制系统,我们希望通过PID 控制器来控制加热器的功率,使得系统的温度稳定在设定的目标温度。

首先,我们需要对系统进行建模,得到系统的传递函数。

然后,根据系统的动态特性和稳态特性来确定PID控制器的参数。

接下来,我们可以通过实验来调节PID控制器的参数,使系统的实际响应与期望的响应尽可能接近。

在实际应用中,我们可以通过调节比例、积分、微分参数来实现对系统的精确控制。

比如,增大比例参数可以加快系统的响应速度,增大积分参数可以减小稳态误差,增大微分参数可以改善系统的动态性能。

通过不断地调节PID控制器的参数,我们可以使系统的温度稳定在设定的目标温度,从而实现对温度的精确控制。

总结。

通过本文的介绍,我们可以了解到PID控制的原理及其在实际系统中的应用。

PID控制算法详细讲解

PID控制算法详细讲解

PID控制算法详细讲解5.1 PID控制原理与程序流程5.1.1过程控制的基本概念过程控制一一对生产过程的某一或某些物理参数进行的自动控制。

一、模拟控制系统图5-1-1基本模拟反馈控制回路被控量的值由传感器或变送器来检测,这个值与给定值进行比较,得到偏差,模拟调节器依一定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执行器作用于过程。

控制规律用对应的模拟硬件来实现,控制规律的修改需要更换模拟硬件。

二、微机过程控制系统微型计算机图5-1-2微机过程控制系统基本框图以微型计算机作为控制器。

控制规律的实现,是通过软件来完成的。

改变控制规律,只要改变相应的程序即可。

三、数字控制系统DDC图5-1-3 DDC系统构成框图DDC(Direct Digital Congtrol)系统是计算机用于过程控制的最典型的一种系统。

微型计算机通过过程输入通道对一个或多个物理量进行检测,并根据确定的控制规律(算法)进行计算,通过输出通道直接去控制执行机构,使各被控量达到预定的要求。

由于计算机的决策直接作用于过程,故称为直接数字控制。

DDC系统也是计算机在工业应用中最普遍的一种形式。

5.1.2模拟PID 调节器 一、模拟PID 控制系统组成二、模拟PID 调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。

、PID 调节器的微分方程u(t)二 K p e(t) T .0e (t)dt T D 售)式中 e(t)二 r(t) 一c(t)2 、PID 调节器的传输函数 三、PID 调节器各校正环节的作用1、 比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器 立即产生控制作用以减小偏差。

2、 积分环节:主要用于消除静差,提高系统的无差度。

积分作用的强弱取决于积分 时间常数TI ,TI越大,积分作用越弱,反之则越强。

PID控制原理详解及实例说明

PID控制原理详解及实例说明

PID控制原理详解及实例说明PID控制器是一种广泛应用于自动控制系统中的一种控制算法。

它可以根据被控对象的反馈信号,调整控制器的输出信号,从而实现对被控对象的控制。

PID控制器适用于各种自动控制系统,包括工业过程控制、机械运动控制和温度控制等。

本文将从PID控制原理和实例两个方面进行详细介绍。

首先,我们来看PID控制的原理。

PID控制器由三个部分组成,分别是比例(P)、积分(I)和微分(D)部分。

这三个部分可以根据具体的控制需求进行组合或选择。

比例部分(P)根据被控对象的反馈信号与期望值之间的偏差,输出与该偏差成正比的控制信号。

积分部分(I)通过积分被控对象的偏差信号,来消除静态误差。

微分部分(D)通过对被控对象的反馈信号进行微分,来预测被控对象未来的变化趋势。

PID控制的原理可以总结为以下几个步骤:首先,获取被控对象的反馈信号和期望值,计算偏差值;然后,根据比例系数和偏差值计算比例部分的输出;接着,将比例部分的输出与被控对象的反馈信号进行积分,并根据积分系数进行调整,计算积分部分的输出;最后,将比例部分和积分部分的输出与被控对象的反馈信号进行微分,并根据微分系数进行调整,计算微分部分的输出。

最终,将比例部分、积分部分和微分部分的输出进行加权求和,得到PID控制器的最终输出信号。

下面,我们以温度控制为例进行说明。

假设我们需要将一个物体加热到指定温度。

我们可以使用PID控制器来控制加热装置的功率,在达到指定温度时自动停止加热。

首先,我们需要将温度传感器的输出与设定温度进行比较,计算出温度的偏差。

然后,根据比例系数和偏差值计算出比例部分的输出。

如果比例部分的输出过大,可能会引发温度的过冲现象。

为了解决这个问题,我们引入积分部分,通过积分被控对象的偏差信号来消除静态误差。

如果积分部分的输出过大,可能会引发温度的振荡现象。

为了解决这个问题,我们引入微分部分,通过对温度的变化趋势进行预测,来控制加热装置的功率的变化速度。

由入门到精通吃透PID

由入门到精通吃透PID

由入门到精通吃透PIDPID控制器(Proportional-Integral-Derivative Controller)是一种常见的控制器,广泛应用于工业自动化领域。

它通过对系统的反馈信号进行比例、积分和微分运算,以达到控制系统稳定和响应速度的目的。

本文将从入门到精通分别介绍PID控制器的基本原理、参数调整方法和应用实例。

一、基本原理在控制系统中,PID控制器根据反馈信号与设定值之间的差异来调整输出信号,从而实现对被控对象的控制。

它由三个基本部分组成:比例控制部分、积分控制部分和微分控制部分。

1. 比例控制部分:根据反馈信号与设定值之间的差异,以一定的比例调节输出信号。

比例控制的作用是根据差异的大小来进行精确调节,但它不能解决系统的超调和稳态误差问题。

2. 积分控制部分:通过累积反馈信号与设定值之间的差异,对输出信号进行调节。

积分控制可以消除系统的稳态误差,但会增大系统的超调。

3. 微分控制部分:通过反馈信号的变化率来预测未来的发展趋势,以调节输出信号。

微分控制可以提高系统的响应速度和稳定性,但过大的微分作用会引入噪声和振荡。

PID控制器的输出信号可以表示为:u(t) = Kp * e(t) + Ki * ∫e(t)dt + Kd * de(t)/dt其中,u(t)为输出信号,Kp、Ki和Kd分别为比例、积分和微分增益,e(t)为反馈信号与设定值之间的误差,∫e(t)dt为误差的积分,de(t)/dt为误差的微分。

二、参数调整方法PID控制器的参数选择对控制系统的性能至关重要。

有许多方法可以调整PID控制器的参数,常见的包括经验法、试错法和优化算法。

1. 经验法:根据实际经验,选择适当的参数范围,并逐步调整参数,观察系统的响应变化。

这种方法简单直观,但需要具备一定的经验和调试能力。

2. 试错法:通过不断试验不同的参数组合,观察系统的响应,并根据系统的性能指标进行优化调整。

试错法可以快速找到合适的参数组合,但依赖于多次试验和手动调整。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PID调节控制做电机速度控制V1.1 – Jan 23, 2006中文版版权声明凌阳科技股份有限公司保留对此文件修改之权利且不另行通知。

凌阳科技股份有限公司所提供之信息相信为正确且可靠之信息,但并不保证本文件中绝无错误。

请于向凌阳科技股份有限公司提出订单前,自行确定所使用之相关技术文件及规格为最新之版本。

若因贵公司使用本公司之文件或产品,而涉及第三人之专利或著作权等智能财产权之应用及配合时,则应由贵公司负责取得同意及授权,本公司仅单纯贩售产品,上述关于同意及授权,非属本公司应为保证之责任。

又未经凌阳科技股份有限公司之正式书面许可,本公司之所有产品不得使用于医疗器材,维持生命系统及飞航等相关设备。

目录页1模拟PID控制 (1)1.1 模拟PID控制原理 (1)2数字PID控制 (3)2.1 位置式PID算法 (3)2.2 增量式PID算法 (4)2.3 控制器参数整定 (4)2.3.1 凑试法 (5)2.3.2 临界比例法 (5)2.3.3 经验法 (5)2.3.4 采样周期的选择 (6)2.4 参数调整规则的探索 (6)2.5 自校正PID控制器 (7)3软件说明 (8)3.1 软件说明 (8)3.2 档案构成 (8)3.3 DMC界面 (8)3.4 子程序说明 (9)4程序范例 (16)4.1 DEMO程序 (16)4.2 程序流程与说明 (19)4.3 中断子流程与说明 (20)5MCU使用资源 (21)5.1 MCU硬件使用资源说明 (21)6实验测试 (22)6.1 响应曲线 (22)7参考文献 (26)修订记录日期版本编写及修订者编写及修订说明2004/11/26 1.0 初版2006/1/23 1.1 错误校正3 软件说明3.1 软件说明AN_SPMC75_0012在微处理器SPMC75F2413A上实现数字PID对BLDC速度的调节,重点将是对PID参数的整定,使系统的动静态性能达到“满意”的效果。

3.2 档案构成文件名称功能类型Main BLDC驱动相关参数初始化,DMC服务 CChap2 BLDC驱动相关函数 CInitial 系统所有相关初始化程序 CISR 驱动中相应的中断服务 C DigitalPID_V100.lib PID设置,初始化和PID计算函数库函数lib Spmc75_dmc_lib_V100.lib DMC通信程序lib3.3 DMC界面Speed1_Cmd:设置电机运转的速度Speed1_Now:电机当前反馈速度Speed1_Kp:2.5节自校正PID控制器中提到的Kp值User_R0:当前P_TMR3_TGRA寄存器的值User_R1:设置速度与电机实际转速的差值Motor 1 Start 和Motor 1 Stop 控制启停3.4 子程序说明PIDInit ( )原形void PIDInit (void)描述PID所用到的RAM清零输入参数无输出参数无头文件Spmc75_PID.h库文件DigitalPID_V100注意事项请在设置参数前使用。

例子PIDInit ();PIDSetPoint ( )原形void PIDSetPoint(int)描述设置PID调节的目标值输入参数期望值输出参数无头文件Spmc75_PID.h库文件DigitalPID_V100注意事项例子PIDSetPoint (2000); //期望电动机的转速为2000rpmPIDGetSetpoint ( )原形int PIDGetSetpoint(void)描述读取PID调节设置的目标值输入参数无输出参数所设置的期望值头文件Spmc75_PID.h库文件DigitalPID_V100注意事项得到的期望值将和数值的是同一个数值例子uiSpeed =PIDSetPoint (); //读取所设置的期望电动机转速IncPIDCalc ( )原形int IncPIDCalc(int)描述增量式PID计算输入参数PID调节当前采样值输出参数计算增量头文件Spmc75_PID.h库文件DigitalPID_V100注意事项(式2-5)增量式PID算法的实现。

例子uiGoalvalue += IncPIDCalc (1998); //位置式PID控制算法通过增量式控制算法递推实现,当前采样得到转速1998rpm。

LocPIDCalc ( )原形unsigned int LocPIDCalc(int)描述位置式PID计算输入参数PID调节当前采样值输出参数位置式PID计算出的绝对位置值头文件Spmc75_PID.h库文件DigitalPID_V100注意事项(式2-4)位置式式PID算法的实现。

例子uiGoalvalue = LocPIDCalc (1998); //位置式PID控制算法,当前采样得到转速1998rpm。

其它应用函数式对BLDC驱动的实现,不再一一赘述,可以参考【AN_SPMC75_0003】应用例的介绍。

4 程序范例4.1 DEMO程序/*=============================================*///应用范例/*=============================================*/#include "Spmc75_regs.h"#include "Spmc_typedef.h"#include "unspmacro.h"#include "Spmc75_BLDC.h"main(){P_IOA_SPE->W = 0x0000;P_IOB_SPE->W = 0x0000;P_IOC_SPE->W = 0x0000;Spmc75_System_Init(); //Spmc75系统初始化while(1){BLDC_Run_Service(); //启停监控NOP();}}//================================================================= // Description: IRQ0 interrupt source is XXX,used to XXX// Notes:错误保护//================================================================= void IRQ0(void) __attribute__ ((ISR));void IRQ0(void){IPM_Fault_Protect();}//================================================================= // Description: IRQ1 interrupt source is XXX,used to XXX// Notes:BLDC启动及正常运行服务//================================================================= void IRQ1(void) __attribute__ ((ISR));void IRQ1(void){/*=============================================================*/ /*Position detection change interrupt/*=============================================================*/ if(P_TMR0_Status->B.PDCIF && P_TMR0_INT->B.PDCIE){BLDC_Motor_Normalrun();}/*=============================================================*/ /*Timer Counter Overflow/*=============================================================*/ if(P_TMR0_Status->B.TCVIF && P_TMR0_INT->B.TCVIE){BLDC_Motor_Startup();}P_TMR0_Status->W = P_TMR0_Status->W;}//=================================================================// Description: IRQ6 interrupt source is XXX,used to XXX// Notes:DMC接收中断服务函数//================================================================= void IRQ6(void) __attribute__ ((ISR));void IRQ6(void){if(P_INT_Status->B.UARTIF){if(P_UART_Status->B.RXIF) MC75_DMC_RcvStream();if(P_UART_Status->B.TXIF && P_UART_Ctrl->B.TXIE);}}//=================================================================// Description: IRQ7 interrupt source is XXX,used to XXX// Notes:512Hz定时中断完成PID调节速度//================================================================= void IRQ7(void) __attribute__ ((ISR));void IRQ7(void){if(P_INT_Status->B.CMTIF){if(P CMT Ctrl->B.CM0IF && P CMT Ctrl->B.CM0IE){BLDC_Motor_Actiyator();}P_CMT_Ctrl->W = P_CMT_Ctrl->W;}}PID计算子函数://数据结构typedef struct PID{int SetPoint; //设定目标 Desired Valuelong SumError; //误差累计double Proportion; //比例常数 Proportional Const double Integral; //积分常数 Integral Constdouble Derivative; //微分常数 Derivative Constint LastError; //Error[-1]int PrevError; //Error[-2]} PID;static PID sPID;static PID *sptr = &sPID;//PID参数初始化void IncPIDInit(void){sptr->SumError = 0;sptr->LastError = 0; //Error[-1]sptr->PrevError = 0; //Error[-2]sptr->Proportion = 0; //比例常数 Proportional Const sptr->Integral = 0; //积分常数Integral Constsptr->Derivative = 0; //微分常数 Derivative Constsptr->SetPoint = 0;}//增量式PID控制设计int IncPIDCalc(int NextPoint){register int iError, iIncpid;//当前误差iError = sptr->SetPoint - NextPoint;//增量计算iIncpid = sptr->Proportion * iError //E[k]项- sptr->Integral * sptr->LastError //E[k-1]项+ sptr->Derivative * sptr->PrevError; //E[k-2]项//存储误差,用于下次计算sptr->PrevError = sptr->LastError;sptr->LastError = iError;//返回增量值return(iIncpid);}//位置式PID控制设计unsigned int LocPIDCalc(int NextPoint){register int iError,dError;iError = sptr->SetPoint - NextPoint; //偏差//积分iError;+=sptr->SumErrordError = iError - sptr->LastError; //微分sptr->LastError = iError;return(sptr->Proportion * iError //比例项+ sptr->Integral * sptr->SumError //积分项+ sptr->Derivative * dError); //微分项}4.2 程序流程与说明主程序主要完成系统必要的初始化,而对电动机的实时处理基本上是在中断中完成的,其中涉及到的中断主要有:IRQ0的错误输入和输出中断、IRQ1的PDC和TCV中断、IRQ6的UART RXD 中断及CMT0的定时中断。

相关文档
最新文档