📄 pid.h
字号:
/**************************************************************************
* 函数库说明:PID 调节函数 *
* 版本: v1.0 *
* 作者: 田超 *
* 创建日期: 2006年11月6日 *
* ----------------------------------------------------------------------- *
* [说明] *
* 1、支持完整的P(比例)、I(积分)、D(微分)调节。 *
* 2、为提高AVR的运算速度和减少数据占用空间P、I、D参数均为char型。 *
* 使用时根据实际被控系统调节Proportion、Integral、Derivative *
* 参数已达到控制要求。 *
* 3、FeedbackDistance、FeedbackSpeed为反馈值,AimDistance、 *
* AimSpeed为目标值。调用PIDOut()时根据控制类型给出反馈值和目标 *
* 值。 *
**************************************************************************/
/*-----------------------------PID参数定义-------------------------------*/
const char Proportion = 0; // 比例常数
//const char Integral = 5; // 积分常数
//const char Derivative = 1; // 微分常数
//int dError = 0; //微分偏差
int Error = 0; //当前偏差
//int LastError = 0; //Error[-1]
//int PrevError = 0; //Error[-2]
//long SumError = 0; //Sums of Errors
long AimDistance = 0; //目标位置
long FeedbackDistance = 0; //反馈位置
signed char AimSpeed = 0; //目标速度
//signed char FeedbackSpeed = 0; //反馈速度
/**************************************************************************
* 函数名称 : PIDOut *
* 输入: AimDistance(输入目标位置) *
* 输出: PID调节 *
**************************************************************************/
int PIDOut(void)
{
Error = AimDistance - FeedbackDistance; // 偏差
//SumError += Error; // 积分
//dError = LastError - PrevError; // 当前微分
//PrevError = LastError;
//LastError = Error;
return ( Error >> Proportion // 比例项
//+ SumError >> Integral // 积分项
//+ dError >> Derivative // 微分项
);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -