#include "pid.h"
PID pid; //存放PID算法所需要的数据
PID1 pid1;
void PID_Init()
{
pid.Sv=03000; //用户设定值
pid.Pv=00.0; //检测值
pid.OUT0 =00; //PID常数
pid.Ek=0.0; //当前误差值
pid.Ek_1=0.0; //上一个误差值
pid.Ek_2=0.0; //上上一个误差值
pid.Kp=36; //比例常数
pid.Ki=0.25; //积分常数
pid.Kd=135; //微分常数
pid.uplimit=6000; //上限值
pid.lowlimit=-6000;//下限值
}
void PID1_Init()
{
pid1.Sv=1400.525; //用户设定值
pid1.Pv=00.0; //检测值
pid1.OUT0 =0; //PID常数
pid1.Ek=0.0; //当前误差值
pid1.Ek_1=0.0; //上一个误差值
pid1.Ek_2=0.0; //上上一个误差值
pid1.Kp=6.5; //比例常数
pid1.Ki=0.36; //积分常数
pid1.Kd=0.00005; //微分常数
pid1.uplimit=6000; //上限值
pid1.lowlimit=-6000;//下限值
pid1.PIDOUT=-6000;
}
float Set_Pwm(float moto1)
{
float OUT;
if(moto1>0) AIN2=0, AIN1=1;
else AIN2=1, AIN1=0;
OUT=myabs(moto1);
return OUT;
}
//绝对值函数
float myabs(float a)
{
int temp;
if(a<0) temp=-a;
else temp=a;
return temp;
}
int PID1_output ()
{
float PIDOUT;
pid1.Ek=pid1.Sv-pid1.Pv;
PIDOUT=pid1.Kp*(pid1.Ek-pid1.Ek_1)+pid1.Ki*pid1.Ek+pid1.Kd*(pid1.Ek_2*pid1.Ek_1+pid1.Ek_2)+pid1.OUT0;
pid1.Ek_2=pid1.Ek_1;
pid1.Ek_1=pid1.Ek;
pid1.PIDOUT+=PIDOUT;
pid1.PIDOUT=(pid1.PIDOUT<pid1.lowlimit) ? pid1.lowlimit:(pid1.PIDOUT>pid1.uplimit) ? pid1.uplimit : pid1.PIDOUT;
return pid1.PIDOUT;
}
int PID_output ()
{
float PIDOUT;
pid.Ek=pid.Sv-pid.Pv;
PIDOUT=pid.Kp*pid.Ek+pid.Ki*(pid.Ek+pid.Ek_1+pid.Ek_2)+pid.Kd*(pid.Ek-pid.Ek_1)+pid.OUT0;
pid.Ek_2=pid.Ek_1;
pid.Ek_1=pid.Ek;
pid.PIDOUT=PIDOUT;
pid.PIDOUT=(pid.PIDOUT<pid.lowlimit) ? pid.lowlimit:(pid.PIDOUT>pid.uplimit) ? pid.uplimit : pid.PIDOUT;
return pid.PIDOUT;
}
源BUG
- 粉丝: 26
- 资源: 2
最新资源
- floyd算法求最小距离代码
- 电动汽车充放电最优调度20 研究了EV充电和放电的调度优化问题 我们首先制定全局调度优化问题,其中优化充电功率以最小化所有在白天执行充电和放电的EV的总成本 全球最佳解决方案提供全球最小的总成本
- 基于51单片机的智能温控风扇基于51单片机的智能温控电扇仿真系统, 功能:获取当前温度,调节档位,并用数模转器调节风扇转速
- 基于STM32H750芯片和SOEM的EtherCAT主站源码 提供配套CUBE工程和 SOEM协议栈使用1.3.1版本 可配套如图所示开发板使用 支持DC同步 可配合汇川IS620N、三洋R
- 综合能源系统优化程序,冷热电系统,考虑温度压力,比体积,熵和焓,通过遗传算法求解
- python-workspace.zip.002
- 考虑电动汽车的微网优化,给出微电网各组成部分的个体模型,并采用粒子群优化算法进行经济调度 仿真结果表明,在微网中加入V2G方法的BEV可以提高聚合者的利润,提高系统的可靠性和稳定性
- 本地文件查重管理工具EasyFileCount v3.0.3.8,支持查找大/重复文件+自动分类筛选
- 综合能源系统优化,冷电系统优化,考虑燃气轮机,空调等设备,建立最优经济调度模型,通过粒子群算法求解
- 分布式电源选址定容 软件:Matlab 介绍:在改进的IEEE33节点系统中分布式电源选择最佳接入点和接入容量,以网损和电压越限惩罚为目标进行粒子群优化,能得出最佳接入点和接入容量,接入前后电
- 关键词:无功优化 粒子群算法 主动配电网 IEEE33节点 基于粒子群的含分布式电源的主动配电网电压-有功-无功优化 软件:MATLAB 介绍:考虑24小时主动配电网有功、无功、电压越限
- 5节点系统电力市场出清:输电阻塞;机组、节点边际电目标函数为发电成本最小 运用matlab中的linprog()函数实现此程序,并附赠CPLEX求解5节点系统目标函数为购电成本最小的潮流计算程序
- python-workspace.zip.003
- 模型预测电流控制,双矢量(有效电压矢量和零矢量占空比分配) 包含解释~
- 营养学计算器PHP源码.zip
- LADRC线性自抗扰,三阶ESO状态扩张观测器,boost升压电路,双闭环控制,双LADRC控制,电压外环采用LADRC线性自抗扰控制(ESO扩张状态观测器采用三阶,自己搭建),电流内环同样采用LAD
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈