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

📄 spwm.h

📁 在采样的基础上实现数码管显示和利用TI公司的FFT算法进行运算
💻 H
字号:
#ifndef _SPWM_H
#define _SPWM_H

#define   ControlHamanic      3      //  控制的谐波次数
#define   ThirdAngleAdd       1536         //三次谐波递增量
#define   FifthAngleAdd       2560         //五次
#define   SevenAngleAdd       3584         //7次
#define   PWMNum              128   
#define   MaxPulsNum          384
#define   OpenControl          0
#define   CloseControl          1
#define   MaxHamanicVout           300
#define   MinHamanicVout           1
#define   InvMaxHam                22370  //32768/3000/16*32768
#define   InvMaxAngle              18641       //360度
#define   MaxSetV              3000
#define   MaxP                 100   
#define   MaxI                 100
#define   MaxD                 100
typedef struct 
{
  //void (*calcpulse)(void *);          //脉宽计算
  unsigned int  Angle[ControlHamanic];        //相位0--360
  int  Ample[ControlHamanic];        //幅值,Q15,调制度系数
  int  Kp;                           //比例系数
  int  Ki;                           //积分系数
  int  Kd;                           //微分系数
  int  PulseA;                       //A相脉宽
  int  PulseB;                       //B
  int  PulseC;                       //C
  int  MaudleK;                      //最大调制比系数0.95,31129,Q15
  int  VoutToMaudleK;                //电压与调制度的转换关系,Q15
  int  T;                            //Tc/2; 载波周期
  int  ControlMode;
}SPWM;

typedef SPWM*  SPWM_Handle;

extern  SPWM  spwm_moudle;
extern int *pPWMData;
extern int   PWM_Pulse[MaxPulsNum] ;  //存放脉宽数据
extern int   PWM_Buf[MaxPulsNum];     //数据缓冲区
extern int   OpenAngle[ControlHamanic];
extern int   OpenAmple[ControlHamanic];
void spwm_init(SPWM_Handle p);
void spwm_calc(SPWM_Handle p);
void calc_save_pwm();

#endif

⌨️ 快捷键说明

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