前言:
眼前各位老铁们对“单片机pid控制程序设计”大概比较讲究,大家都想要了解一些“单片机pid控制程序设计”的相关知识。那么小编在网络上汇集了一些有关“单片机pid控制程序设计””的相关内容,希望姐妹们能喜欢,各位老铁们快快来学习一下吧!每个玩单片机的人,包括Arduino,肯定是需要攀登PID高峰的,所谓高峰,是因为它确实有点难度。
如下这个视频,浅显易懂地讲解了PID,便于理解,有空看看,可以加深对PID的理解。
PID我的理解,就是系统通过不断的迭代,系统输出无限逼近目标设定值的过程。
【Arduino 101】五分钟搞懂PID控制算法_哔哩哔哩_bilibili
如下这个程序,相当于运用arduino做了下数学迭代的计算器,并将数据通过串口输出出来,可以对PID有更近一步的理解。
int setpoint = 1000;//设定值long sumerror;//总的误差double kp = 1.3,ki = 0.15,kd = 0.1;int lasterror=0;//上次误差,起始值设为0int input = 10;//输入起始值,这个可以理解为项目中我们要控制的目标,int output;int nowerror;int count=0;//加入计数器,观察迭代多少次后,input达到目标值void setup() { // put your setup code here, to run once: Serial.begin(9600);}void loop() { // put your main code here, to run repeatedly: nowerror = setpoint - input;//求出现在的误差 sumerror += nowerror; //累积误差 output = kp*nowerror + ki*sumerror + kd*(lasterror - nowerror); lasterror = nowerror; input += output; count+=1; Serial.println(input); Serial.println(count); delay(500); }
打开串口观察,通过多少次迭代后,系统输出值达到了目标设定值
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #单片机pid控制程序设计 #单片机的pid控制