简介pid参数整定的基本方法_一阶倒立摆的PID

简介pid参数整定的基本方法_一阶倒立摆的PID0.前言关于PID参数的整定,网上调节的口诀、原则、方法满天飞,但是并没有具体的到步的教程,作为初学者且非自动化相关专业学生有点看不懂、一脸懵逼,走了不少弯路,呕心沥血才调节好,之后才看得懂那些口诀、原则。为了让大家少走弯路,这里将给出圆周倒立摆直立环PID参数整定的具体步骤。多图预警!圆周倒立摆整体图1.PID编程及理解磨刀不误砍材工,是骡子是马,咱先看看,要想调好PI…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

0.前言

关于PID参数的整定,网上调节的口诀、原则、方法满天飞,但是并没有具体的到步的教程,作为初学者且非自动化相关专业学生有点看不懂、一脸懵逼,走了不少弯路,呕心沥血才调节好,之后才看得懂那些口诀、原则。为了让大家少走弯路,这里将给出圆周倒立摆直立环PID参数整定的具体步骤。

多图预警!

圆周倒立摆整体图

简介pid参数整定的基本方法_一阶倒立摆的PID

 1.PID编程及理解

磨刀不误砍材工,是骡子是马,咱先看看,要想调好PID参数必须理解每个参数的意义,具体来说就是每个参数在那条PID曲线的作用,这需要一点点高等数学功底,如果你对PID有很深的理解,可以跳下文。必须认识到:不了解PID公式是没办法了解各个参数的意义的。如果你不知道微分系数D为什么能增加系统稳定性、不知道为什么微分系数I可以消除偏差,我们需要了解PID重要参数的数学意义对应的实际意义,可以去看:https://blog.csdn.net/qq_36720691/article/details/97252418#comments

2.具体调试方法

在调试PID之前,先保证几件事情:

1.PID调节周期(T)为固定值,(也就是说你需要一个定时器实现精确周期调用PID调节,具体原因,请看上文:PID编程及理解)

2.相关辅助系统是稳定运行的,(比如你需要PID控制电机转速,你需要保证驱动器的供电电压稳定,假设:pwm占空比是50%,驱动器电压输出给电机电压=供电电压 X 50%,如果你供电电压不稳定的话,相同PWM下,电机电压不是相同值,会造成pid怎么调节都无法调稳)

3.给上位机发送信息的周期为固定值(你需要一个上位机,用于观察波形、方便计算其余参数)

一句话总结:要保证所有的不行都是PID参数的不行

接下来开始调节PID了:我采用的是圆周倒立摆进行演示,采用临界比例度法,演示调节直立环的具体方法。

第一步:找到临界比例项系数P

1.将调节器积分时间设定为无穷大、微分时间设定为零(即ti=∞,Td=0),也就是说:积分项I、微分项D先清零,P随便给个值,这里给了35.5

double Balance_PID(double *Angle,double SET)

{		 
	static double E_sum,Error_last;          //上一次误差  	
	double  kp=35.5,ki=0,kd=0;
	double pid;
	double Error_now;          //当前误差  

	Error_now = SET-*Angle;               //当前误差
	
        E_sum +=  Error_now;                       //误差累计 

	pid= kp * Error_now + ki * E_sum + kd * (Error_now-Error_last);     //pid计算公式
			
	Error_last=Error_now;
			
return -pid;					
} 

2.给倒立摆摆杆一个偏置,然后启动,开始调节、观察波形。(倒立摆摆杆目标值180°,开始时把摆杆放在165°或者195°或者其他非目标值(180°)的度数上、按下按键开始调节)

简介pid参数整定的基本方法_一阶倒立摆的PID

 按下按键后,系统开始周期性调用PID进行姿态调节,单片机周期性给上位机传输角度数据,因此会得到一个角度波形,

简介pid参数整定的基本方法_一阶倒立摆的PID

我这里是给的偏置大约是-10°,从170°开始调节,可以看到只有P的作用时,系统挣扎了几下,摆杆来回摆动了加下,然后失去稳定落下来

我们放大来看:

简介pid参数整定的基本方法_一阶倒立摆的PID

初始位置是170度左右,目标位置是180°,角度在迅速变大之后迅速变小,来回几下之后,失去稳定

如果你理解了PID公式,那么你应该知道,在存比例调节的时候,能让摆杆等幅度震荡的P是最合适的,我们需要找的就是能让摆杆等幅度震荡的P

可以看到上面的那个角度波形图中,角度再上去之后下来是超过了一开始的偏置,因此可以判断P大了,这不是我们想要的P

我们换个值看看,直接缩小一半左右:P=26.5,给同样的偏置,按下按键开始调节,看波形。

简介pid参数整定的基本方法_一阶倒立摆的PID

角度再上去之后下来是没有达到一开始的偏置,因此可以判断P小了。

重复工作,慢慢测试,有时候同一个数要多测几次,如果你手斗的话,可以采用某一种策略改变P(如每次+10,每次翻倍,两边夹逼),工作量很大,慢慢找,直到找到比较好的等幅震荡的曲线:

P=27.5

简介pid参数整定的基本方法_一阶倒立摆的PID

P=28.5

简介pid参数整定的基本方法_一阶倒立摆的PID

P=34.5

简介pid参数整定的基本方法_一阶倒立摆的PID

P=35.2

简介pid参数整定的基本方法_一阶倒立摆的PID

 测试到最好找到了最好的曲线:

P=35.135

简介pid参数整定的基本方法_一阶倒立摆的PID

P=35.135放大来看:

简介pid参数整定的基本方法_一阶倒立摆的PID

至此我们找到了临界的P值。

第二步:根据临界比例度方法计算I和D

PID经验计算方法这里有很好的介绍:

http://bbs.elecfans.com/jishu_1502798_1_1.html

 

简介pid参数整定的基本方法_一阶倒立摆的PID

表中\delta k是临界比例度,Tk是临界周期

Tk通过观察波形曲线计算出来:

简介pid参数整定的基本方法_一阶倒立摆的PID

当时大概两个波峰之差算是9,我单片机是每10ms给上位机发送一次数据,因此Tk = 90ms,(所以给上位机发送数据的周期必须使固定的,不然会有比较大的误差)

而:临界比例度\delta k = 1/Kp;

如果你了解PID的公式(不了解可以去看上文),轻易知道:

                              

简介pid参数整定的基本方法_一阶倒立摆的PID

 上面的T是调节周期,也就是你调用PID调节函数的周期,我是每4ms调节一次,因此我的T = 4ms

 接下来就是计算的问题了:

 

简介pid参数整定的基本方法_一阶倒立摆的PID

 至此,P、I、D三个参数全部得到;(不好意思,上图,Td算错了

同样给个偏置,看看波形

简介pid参数整定的基本方法_一阶倒立摆的PID

放大来看:

简介pid参数整定的基本方法_一阶倒立摆的PID

从150°开始,按下按键,开始调节,杆子瞬间就直立了,觉还可以。

至此:直立环调节基本完成,不过值得注意的是,一个直立环无法让倒立摆稳定。

第三步:P、I、D微调

如果你有强迫症,对直立环响应曲线不满意,这时候就需要对三个参数进行微调,

调节原则如下:

1、在输出不振荡时,增大比例增益P。

2、在输出不振荡时,减小积分时间常数Ti。

3、输出不振荡时,增大微分时间常数Td。

口诀:

参数整定找最佳,从小到大顺序查。

先是比例后积分,最后再把微分加。

曲线振荡很频繁,比例度盘要放大。

曲线漂浮绕大湾,比例度盘往小扳。

曲线偏离回复慢,积分时间往下降。

曲线波动周期长,积分时间再加长。

曲线振荡频率快,先把微分降下来。

动差大来波动慢。微分时间应加长。

理想曲线两个波,前高后低4比1。

一看二调多分析,调节质量不会低

 

调节PID把我强迫症被治得差不多了,微调我并没有有花太多时间研究,了解了再补充。

说一些额外的:

圆周倒立摆需要两个环让其稳定,一个是直立环,一个是位置环,本文分享的是直立环的调节方法,只有直立环时倒立摆虽然能直立但是会朝一个方向一直转,越来越快,最后达到最大PWM值,然后失去稳定。

和直立环不同的是位置环是正反馈,让倒立摆追上去,让其多往回摆一点,通过直立环的调节回到设定的位置目标,因此屏蔽掉直立环时,推着倒立摆转,他会朝那个方向越转越快,所以位置环其实会削弱直立环的作用。

圆周倒立摆需要两个环并联(串联?),我在调节位置环时采用前一种方法,但是效果不显著,勉强可以,两个环的联调方法我看了上网查了不少资料却没有一点思路。

如果你会调串联PID,请务必教教我。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171022.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • linux tomcat自动重启(linux关闭服务器命令)

    这里重启的条件是之前已经启动了tomcat服务器的情况下第一步:进入linux下tomcat目录,这里需要看你的tomcat配置在linux的哪个位置下,下面只是我个人的配置目录,不代表全部cd/usr/local/src/tomcat/bin第二步:查看当前启动的tomcat使用的进程,通过查看,我们发现tomcat占用了1630端口ps-ef|greptomc…

  • Qt中QMap键值对基本用法(键值对)

    Qt中QMap键值对基本用法(键值对)本文主要总结Qt中键值对QMap的基本用法。1.1原型讲解QMap是一个键值对类,跟标准C++的map类基本类似,声明原型如下:QMap<T1,T2>map1T1为键值对中的键key,T2为键值对中的值。通过键值对中的键可以搜索到值。一般来说,键值对中的键是唯一的,不可重复,而值没有要求,可以重复。并且QMap具有自动排序功能,对输入的键进行排序。1.2下面是一…

  • 手机上好用的java编译器_手机上好用的java编译器

    手机上好用的java编译器_手机上好用的java编译器手机上好用的java编译器安卓版是一款专为java开发人员服务的编辑客户端应用,利用手机上好用的java编译器手机安卓版实时进行相关编辑还能进行简单的编译,运行单个小程序等,提供您的效率。功能介绍手机上好用的java编译器安卓版是一款将openjdk中关于编译java工程的代码移植到了安卓平台。手机上好用的java编译器手机安卓版支持添加jar格式的lib文件,并且将编译后的程序dex化,以便在安…

  • Windows下载Android SDK[通俗易懂]

    Windows下载Android SDK[通俗易懂]压缩包的下载链接下载。。。下载完成后解压,现假设目录为D盘下Android_SDK文件夹中打开SDKManager.exe这里面出现的内容没必要全部下载,我们只需要下载一些必用的,然后随着需

  • 专访同济大学程大伟:把数字化素质培养纳入教育体系,推动数字化转型升级…

    专访同济大学程大伟:把数字化素质培养纳入教育体系,推动数字化转型升级…“☆2021年度度颁奖季主题策划活动将于9月份正式开启,尽情期待!大数据产业创新服务媒体——聚焦数据·改变商业“人工智能是我们人类正在从事的最为深刻的研究方向之一,甚至要比火与电还更加…

  • 计算机发展史较为重大的事件,图说:15件计算机发展史中的重大事件(7)

    计算机发展史较为重大的事件,图说:15件计算机发展史中的重大事件(7)图说:15件计算机发展史中的重大事件(7)发布时间:2010-01-28来源:网易作者:网易责任编辑:my1971年,世界上首款个人计算机Kenbak-1产生。1971年,世界上首款个人计算机Kenbak-1产生。它由约翰·布兰肯巴克(JohnV.Blankenbaker)使用标准的中规模和小规模集成电路设计而成,生产商把它吹捧为一种易于使用的教育工具,enbak-1计算机当时的售价为…

    2022年10月10日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号