F28377 2P2Z(PID)设置与使用
来源:互联网 发布:金俊用的什么软件 编辑:程序博客网 时间:2024/06/05 01:09
2P2Z是比较常用的电源环路补偿算法,这里对它的使用做一个简单的总结,便于后续使用
首先需要申明结构体:
//CNTL2P2Zvolatile CNTL_2P2Z_F_C_Coeffs coeff1;//补偿参数结构体volatile CNTL_2P2Z_F_C_Vars var1;//控制相关结构体,var1.out就是控制的输出量
然后在main函数里面将coeff1和var1这两个要用的结构体初始化,基本上都是赋零值
CNTL_2P2Z_F_C_VAR_INIT(var1);CNTL_2P2Z_F_C_COEFF_INIT(coeff1);
往coeff1结构体内填充控制用的补偿参数:
coeff1.Coeff_B2 = (float)(CNTL_3p3z_B2_1); // B2coeff1.Coeff_B1 = (float)(CNTL_3p3z_B1_1); // B1coeff1.Coeff_B0 = (float)(CNTL_3p3z_B0_1); // B0coeff1.Coeff_A2 = (float)(CNTL_3p3z_A2_1); // A2coeff1.Coeff_A1 = (float)(CNTL_3p3z_A1_1); // A1coeff1.Max = (float)CNTL_3p3z_Max_1; //Clamp Hicoeff1.Min = (float)CNTL_3p3z_Min_1; //Clamp Mincoeff1.IMin = (float)CNTL_3p3z_IMin_1; //Clamp IMin连接var1结构体的输入量和参考量:
var1.Ref = Vout_Ref_wInj;var1.Fdbk = Adc_Vout1;//0-1之间的值
之后便可以在控制ISR函数里使用2P2Z进行控制了
var1.Ref = Vout1SetSlewed;Adc_Vout1 = ADCDRV_1ch_F_C(Vout1R);//Read Vout and convert to floatvar1.Fdbk = Adc_Vout1;if (Start_Flag == 0 && No_2p2z == 0){CNTL_2P2Z_F_C(coeff1,var1);Duty1A = var1.Out;}PWMDRV_1ch_F_C(BUCK_PWM_REG, BUCK_PWM_PERIOD, Duty1A);
在部分程序里还有如下代码,但是在程序里的其他地方调用到:
struct CNTL_2P2Z_CoefStruct {long b2;long b1;long b0;long a2;long a1;long max;long i_min;long min;};#pragma DATA_SECTION(CNTL_2P2Z_CoefStruct1, "CNTL_2P2Z_Coef");//程序里没用到struct CNTL_2P2Z_CoefStruct CNTL_2P2Z_CoefStruct1;//程序里没用到
0 0
- F28377 2P2Z(PID)设置与使用
- Td/Tn/bt 参数与PID的关系及设置方法(有待仔细研究,仅供参考)
- PID算法详解(2)---PID参数整定
- pid控制算法系列(2)pid控制算法
- Rossum--PID与里程计
- 增量与位置PID
- STM32与PID算法
- PID与伺服驱动器
- PID控制与人生
- 使用PID库,轻松搞定PID
- 端口 使用 查看 pid
- linux使用pid file
- Android下USB设备VID与PID获取及ADB设置
- Android 安全机制(1)uid 、 gid 与 pid
- (2)时间最优PID控制
- centos5.2 pptp 客户端设置与使用
- Git_Github设置与使用
- iptables设置与使用
- Spring @Scheduled应用解析
- linux 常用操作指令(随时更新)
- 迟到的Volley源码解析
- Java学习日志 17.04.27 浅谈Java运行机制
- 市场占有率第一 中企动力领跑企业网站服务市场
- F28377 2P2Z(PID)设置与使用
- Java重载遇到泛型
- a href="#"、href=”javascript:void(0);”与href=”javascript:;”区别
- JAVA抽象类与接口的详细解读与示例
- 不安装oracle,使用plsql连接oracle
- promise随笔
- 五一假期 这几款免费好用的APP应该你会用得上
- linux top 查看服务器cpu
- Java 异常处理 try catch finally throws throw 的使用和解读(一)