⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arithmetics.h

📁 2808单相全桥spwm逆变工程.rar
💻 H
字号:
#ifndef Arithmetics_H
#define Arithmetics_H


#include "DSP280x_Device.h" 


//定义浮点位置式PID算法结构体
typedef struct PosPID {

        float32  SetPoint;           //  设定目标 Desired Value 参考值 

        float32  Proportion;         //  比例常数 Proportional Const
        float32  Integral;           //  积分常数 Integral Const
        float32  Derivative;         //  微分常数 Derivative Const

        float32  LastError;          //  Error[-1]
        float32  PrevError;          //  Error[-2]
        float32  SumError;           //  Sums of Errors

} PosPID;


//定义定点增量式PID算法结构体
typedef struct IncPID {

    	
    	
//其范围需要和ADC采样进来的值一致,12位ADC,所以int16足够  ADC定标 	
    	int16 RefPoint;           //  设定目标 Desired Value 参考值 
                                           //pid控制的参考值,参考输入                                           
//采用Q4定标,最大可达2047,最小精确到小数点后0.0625		
        int16  Proportion;         //  比例常数 Proportional Const      Kp
        int16  Integral;           //  积分常数 Integral Const            ki=Kp*(T/Ti)
        int16  Derivative;         //  微分常数 Derivative Const      Kd=Kp*(Td/T)
//同样是Q4定标,int32是因为害怕溢出
	 	int32 a0,a1,a2;   //增量式PID算法中引入的中间变量,由比例积分微分常数得到
		
//由ADC输入和参考决定,所以是ADC定标	
		int16  PrevPrevError;          //  Error[k-2]   
 		int16  PrevError;          //  Error[k-1]

//输出,定标由ADC和Q4标共同决定		
	  	int32  PrevPIDOut;    //前一次的输出值

} IncPID;




/*
//定义定点增量式PID算法结构体
typedef struct IncPID {

    	
    	
//其范围需要和ADC采样进来的值一致,12位ADC,所以int16足够  ADC定标 	
    	int16 RefPoint;           //  设定目标 Desired Value 参考值 
                                           //pid控制的参考值,参考输入                                           
//采用Q4定标,最大可达2047,最小精确到小数点后0.0625		
        int16  Proportion;         //  比例常数 Proportional Const      Kp
        int16  Integral;           //  积分常数 Integral Const            ki=Kp*(T/Ti)
        int16  Derivative;         //  微分常数 Derivative Const      Kd=Kp*(Td/T)
//同样是Q4定标,int32是因为害怕溢出
	 	int16 a0,a1,a2;   //增量式PID算法中引入的中间变量,由比例积分微分常数得到
		
//由ADC输入和参考决定,所以是ADC定标	
		int16  PrevPrevError;          //  Error[k-2]   
 		int16  PrevError;          //  Error[k-1]

//输出,定标由ADC和Q4标共同决定		
	  	int16  PrevPIDOut;    //前一次的输出值

} IncPID;

*/
#endif    //end of Arithmetics.h definition


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -