资源简介
一个能让电机抱死的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
相关资源
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- MFC程序-碰撞的小球
- dsp2812上128点FFTc程序以及其CMD文件
- HX711 称重传感器 C程序
- 一则可以随机产生四则运算的c程序!
- 单片机AT89s52控制GSM模块TC35i发短信,
- 通信原理各种调制与解调的C程序
- 带时间温度显示的室内灯光控制系统
- 单片机控制的步进电机正反转和加速
- 编译原理:LR分析程序
- OMRON NJ系列PLC程序.smc2
- 欧姆龙以太网通讯TCP/UDP及欧姆龙PLC程
- ADC0832ADC0809DAC0832三种芯片程序,c程序
- AVR_GCC程序设计基础
- 西门子S7200PLC程序
- RC522 M1卡 S50卡刷卡c程序 项目在用程序
- 中央空调室内智能温控器设计论文、
- 简单的C程序游戏-三国杀
- 51单片机125Khz ID卡读卡程序
- 出租车计价器仿真和C程序
- 自动停车场的PLC程序图
- 智能家居照明控制系统设计proteus仿真
- AD7745/1D7746 c程序
- ADC0808 数字电压表仿真+C程序
- C8051F340 SMBus的c程序代码
- C程序设计第五版源代码 谭浩强
- 西门子1200与Labview通过以太网通信内含
- CYPRESS USB上位机VC程序
- ATTINY24A 接收IIC程序控制直流电机
- 基于单片机的GPS定位系统设计内附完
川公网安备 51152502000135号
评论
共有 条评论