欢迎来到天天文库
浏览记录
ID:61443165
大小:12.14 KB
页数:5页
时间:2021-01-31
《PID相关单片机程序.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、#include#include//C语言中memset函数头文件#defineunsignedintuint/*====================================================================================================PIDFunctionThePID(比例、积分、微分)functionisusedinmainlycontrolapplications.PIDCalcperformsoneiterationoft
2、hePIDalgorithm.WhilethePIDfunctionworks,mainisjustadummyprogramshowingatypicalusage.=====================================================================================================*/typedefstructPID{doubleSetPoint;//设定目标DesiredvaluedoubleProportion;//比例常数ProportionalCon
3、stdoubleIntegral;//积分常数IntegralConstdoubleDerivative;//微分常数DerivativeConstdoubleLastError;//Error[-1]doublePrevError;//Error[-2]doubleSumError;//SumsofErrors}PID;/*====================================================================================================PID计算部分====
4、=================================================================================================*/doublePIDCalc(PID*pp,doubleNextPoint){doubledError,Error;Error=pp->SetPoint-NextPoint;//偏差pp->SumError+=Error;//积分dError=Error-pp->LastError;//当前微分pp->PrevError=pp->LastError;p
5、p->LastError=Error;return(pp->Proportion*Error//比例项+pp->Integral*pp->SumError//积分项+pp->Derivative*dError//微分项);}/*====================================================================================================InitializePIDStructurePID参数初始化===============================
6、======================================================================*/voidPIDInit(PID*pp){memset(pp,0,sizeof(PID));}/*====================================================================================================MainProgram主程序=========================================
7、============================================================*/doublesensor(void)//DummySensorFunction{return100.0;}//voidactuator(doublerDelta)//DummyActuatorFunction//{}voidmain(void){PIDsPID;//PIDControlStructuredoublerOut;//PIDResponse(Output)doublerIn;//PIDFeedback(Input
8、)PIDInit(&sPID);//InitializeStructuresPID.Proportion=0.5;//SetPIDCoefficien
此文档下载收益归作者所有