• 大小: 38KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: 电机抱死  c程序  

资源简介

一个能让电机抱死的mega128c程序,同时含有pid调节,代码不是复制粘贴来的,编译器为AVR Studio 5.0,亲测通过。

资源截图

代码片段和文件信息

/*
 * PID.c
 *
 * Created: 2012/7/16 14:04:55
 *  Author: Administrator
 */ 
#include “PID.h“

void IncPIDInit(void)
{
sptr->SumError = 0;

sptr->LastError = 0; //Error[-1]

sptr->PrevError = 0; //Error[-2]

sptr->Proportion = 0; //比例常数 Proportional Const

sptr->Integral = 0; //积分常数Integral Const

sptr->Derivative = 0; //微分常数 Derivative Const

sptr->SetPoint = 0;
}

void PIDSetPoint(int point_value)//设置PID调节的目标值
{
sptr->SetPoint = point_value;
}

int PIDGetSetpoint(void)//读取PID调节设置的目标值
{
return sptr->SetPoint;
}

void PIDSetKp(double dKpp)//设置PID的Kp值
{
sptr->Proportion = dKpp; 
}

double PIDGetKp(void)//读取PID中所设置的Kp值
{
return sptr->Proportion;
}

void PIDSetKi(double dKii)//设置PID的Ki值
{
sptr->Integral = dKii;
}

double PIDGetKi(void)//读取PID中所设置的Ki值
{
return sptr->Integral;
}

void PIDSetKd(double dKdd)//设置PID的Kd值
{
sptr->Derivative = dKdd;
}

void PIDGetKd(double dKdd)//读取PID中所设置的Kd值
{
return sptr->Derivative;
}

int IncPIDCalc(int NextPoint)//增量式PID计算
{
int iError iIncpid; //当前误差

iError = sptr->SetPoint - NextPoint; 

    //增量计算
iIncpid = sptr->Proportion * iError; //E[k]项

- sptr->Integral * sptr->LastError //E[k-1]项

+ sptr->Derivative * sptr->PrevError; //E[k-2]项

//存储误差,用于下次计算
sptr->PrevError = sptr->LastError;

sptr->LastError = iError;

//返回增量值
return(iIncpid);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        249  2012-07-16 14:09  电机抱死-c程序\test\Debug\makedep.mk

     文件       3333  2012-07-18 13:38  电机抱死-c程序\test\Debug\Makefile

     文件         51  2012-07-17 16:41  电机抱死-c程序\test\Debug\PID.d

     文件       5532  2012-07-17 16:41  电机抱死-c程序\test\Debug\PID.o

     文件       3894  2012-07-18 13:38  电机抱死-c程序\test\Debug\test.d

     文件         13  2012-07-18 13:38  电机抱死-c程序\test\Debug\test.eep

     文件      21379  2012-07-18 13:38  电机抱死-c程序\test\Debug\test.elf

     文件       6739  2012-07-18 13:38  电机抱死-c程序\test\Debug\test.hex

     文件      45469  2012-07-18 13:38  电机抱死-c程序\test\Debug\test.lss

     文件      40382  2012-07-18 13:38  电机抱死-c程序\test\Debug\test.map

     文件      10892  2012-07-18 13:38  电机抱死-c程序\test\Debug\test.o

     文件       1501  2012-07-17 16:41  电机抱死-c程序\test\PID.c

     文件        917  2012-07-16 14:51  电机抱死-c程序\test\PID.h

     文件       5239  2012-07-18 13:41  电机抱死-c程序\test\test.c

     文件       4161  2012-07-16 14:09  电机抱死-c程序\test\test.cproj

     文件        883  2012-07-13 11:01  电机抱死-c程序\test.atsln

    ..A..H.     10240  2012-07-19 17:46  电机抱死-c程序\test.atsuo

     目录          0  2012-07-29 19:13  电机抱死-c程序\test\Debug

     目录          0  2012-07-29 19:13  电机抱死-c程序\test

     目录          0  2012-07-29 19:13  电机抱死-c程序

----------- ---------  ---------- -----  ----

               160874                    20


评论

共有 条评论