arduino实战100例详解,arduino蓝牙模块连接教程

首页 > 技术 > 作者:YD1662023-03-16 09:36:56

每个玩单片机的人,包括Arduino,肯定是需要攀登PID高峰的,所谓高峰,是因为它确实有点难度。

如下这个视频,浅显易懂地讲解了PID,便于理解,有空看看,可以加深对PID的理解。

PID我的理解,就是系统通过不断的迭代,系统输出无限逼近目标设定值的过程。


如下这个程序,相当于运用arduino做了下数学迭代的计算器,并将数据通过串口输出出来,可以对PID有更近一步的理解。

int setpoint = 1000;//设定值 long sumerror;//总的误差 double kp = 1.3,ki = 0.15,kd = 0.1; int lasterror=0;//上次误差,起始值设为0 int 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); }

打开串口观察,通过多少次迭代后,系统输出值达到了目标设定值

arduino实战100例详解,arduino蓝牙模块连接教程(1)

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.