所以我正在尝试使用arduino和陀螺仪mp6050创建一个四轴飞行器,这与PID算法(使用arduino PID,mpu库)所以我让一切都分开工作但是当谈到使用PID我不知道如何要做到哪一个将是输入或设置...我很困惑如何使用陀螺仪信息和无刷信息和其他信息来使我的四驱飞行...谢谢
答案 0 :(得分:1)
听起来你需要更好地理解PID的作用。这是一篇关于PID http://eas.uccs.edu/~cwang/ECE4330F12/PID-without-a-PhD.pdf
的现实世界的伟大文章它完全遵循AVR网站上的代码(他们在UNO板上制作ATMega32p微控制器芯片)PDF explanation和Atmel Code in C
输入("图中的命令")是所需的位置,在您的情况下,这是您希望陀螺仪读取的内容。
"输出" 是控制信号。它将告诉您的无刷电机("工厂")如何实现所需的位置。
反馈(输入/输出)然后我们使用我们的"传感器"阅读实际位置。在您的情况下,这是陀螺仪数据
现在PID控制器接受error = desired position - actual position
并使用错误创建下一个命令。总体目标是将error
降低到0,换句话说desired position = actual position
PID系数的确切细节取决于您的具体设置,通常必须手动调整以获得理想的结果(有关详细信息,请参阅提供的链接)。
在Arduino PID Library Documentation上闲逛表明他们有简单的方法设置KP, KD, KI, input, output
即使有一个自动调整参数可以自动找到你的PID常量。希望有所帮助,祝你好运。