四轴飞行器+arduino+mpu6050(陀螺仪+示波器)+PID

Quadricopter + arduino+mpu6050(gyro+oscillo) +PID

所以我正在尝试用 arduino 和陀螺仪 mp6050 创建一个四轴飞行器,并使用 PID 算法(使用 arduino PID,mpu 库)所以我让所有的东西都单独工作但是当谈到使用 PID 我不知道怎么做哪一个将是输入或设置...我对如何使用陀螺仪信息和无刷信息以及其他信息使我的 quadri 飞行感到困惑...谢谢

听起来您需要更好地了解 PID 的作用。这是一篇关于现实世界中 PID 实现的精彩文章 http://eas.uccs.edu/~cwang/ECE4330F12/PID-without-a-PhD.pdf

它完全遵循 AVR 网站上的这段代码(他们在 UNO 板上制作了 ATMega32p 微控制器芯片)PDF explanation and Atmel Code in C


PID 控制器是一个反馈控制回路。

输入(图中的"Command")是所需的位置,在您的情况下,这就是您希望陀螺仪读取的位置。

"Output"是一个控制信号。它会告诉您的无刷电机("Plant")如何达到所需位置。

反馈 (input/output) 然后我们使用 "Sensors" 来读取实际位置。在您的情况下,这是陀螺仪数据

现在 PID 控制器采用 error = desired position - actual position 并使用错误来创建下一个命令。总体目标是将 error 降低到 0,换句话说 desired position = actual position PID 系数的确切细节取决于您的特定设置,通常必须手动调整它们才能获得理想的结果(有关详细信息,请参阅提供的链接)。

查看 Arduino PID Library Documentation 表明他们有简单的方法来设置 KP, KD, KI, input, output 他们甚至有一个可以自动找到您的 PID 常数的自动调谐参数。希望对你有帮助,祝你好运。