资源简介
一个能让电机抱死的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
相关资源
- 雾化香薰机器源程序代码
- 多线程安全链表操作的C程序
- 基于c51的1602液晶显示字符与浮点数
- 经典内弹道C程序源代码
- AD7793 c程序
- 红绿灯控制PLC程序
- 能运行很好的GPC程序。
- 51单片机频率精确测量C程序
- 机械手程序 及上位机 (51 C程序)
- 基于pic16f1947 和ADM2483、rs485电路发送接
- 万能的BDC程序
- 50HZ陷波器的C程序源码.
- 光电编码器C程序
- 1602LCD显示仿手机键盘按键字符
- 最简洁马走日c程序回溯打印所有能走
- MCP3421 i2c程序
- lms算法自适应滤波器的dsp5402实现c程序
- 低频信号发生器protues仿真与C程序
- 16X16点阵仿真_C程序
- C程序及仿真文件.zip
- 三电平SVpwmC程序
- unicodegbk编码相互转换C程序
- 伺服电机定位的欧姆龙PLC程序
- 机械设计——V带传动设计说明书及
- C程序设计教程第二版答案钱能.zip
- 51单片机ADC0832电压测量液晶1602显示的
- 智能超声波避障小车C程序
- 跷跷板小车程序PID算法
- 模糊控制算法 C程序
- linux c程序获取cpu使用率及内存使用情
评论
共有 条评论