📄 frequent-convter_h.h
字号:
/****************************************************************************
* 文 件 名:frequent_coventer_h.h
* 版 本: V1.0
* 功 能:SPWM变频期代码
* 连 接:
* 说 明:
* 作者:黄振升
* 日期:2006/10/12
*---------------历史版本信息-------------------------------------------------
* 修 改 人: 黄振升
* 版 本: V1.0
* 日 期: 2006/05/10
* 描 述:
****************************************************************************/
/***********************************************************************
包含文件
***********************************************************************/
#include "config.h"
#include "masterine.h"//包含管脚定义头文件//
#include "lcd19264_h.h"
#include "PM.H"
#include "math.h"
/***********************************************************************
* 使用的数据结构
***********************************************************************/
#define pin 3.14159265
#define MAX_Carry_Frequent 12000 //12k最大载波频率
#define MAX_TZfrquent 200 //200Hz最大调制波频率
#define MAX_TDZ 1 //最大调制度
typedef struct
{
uint16 Carry_Period[2]; //混沌后的载波频率换算成PWM时钟的值
uint16 Cmp1; //PWM匹配寄存器1值
uint16 Cmp2; //PWM匹配寄存器2值
uint16 Cmp3; //PWM匹配寄存器3值
uint16 Cmp4; //PWM匹配寄存器4值
uint16 Cmp5; //PWM匹配寄存器5值
uint16 Cmp6; //PWM匹配寄存器6值
uint16 BasicFq; //载波基频, !可外部修改
uint16 carry_freq; //载波频率,为混沌设计而设
uint16 TZfrquent; //调制波频率, !可外部修改
fp32 TZD; //调制度, !可外部修改
fp32 Cape_w; //角速度
fp32 T; //调制波周期
fp32 sine_sbuf[2][2000]; //SIN缓冲,最高12KHz载波,10Hz调制波情况,预留了一定的空间
uint16 N1[2]; //第一相的sin值在SBUF中的偏移,其余各自推算
uint16 N2[2]; //第二相的sin值在SBUF中的偏移,其余各自推算
uint16 N3[2]; //第三相的sin值在SBUF中的偏移,其余各自推算
uint16 MAX_N[2]; //当前载波最大的取值点
uint8 sbuf_flage; //使用那个缓冲器标志,解决变频计算的共享问题,有两个值
}ChangefrequentParameter; //变频参数
typedef struct
{
uint16 Chaos_Type; //混沌类型, !可外部修改
uint16 keep; //保持周期, !可外部修改
fp32 ICHAOS; //混沌系数, !可外部修改
}ChaosParameter; //混沌参数
/***********************************************************************
* 名 称: void SIN_Create( void )
* 功 能:创建一个正弦表,并计算出当前各相的在sin_subf中的偏移的一个初始值
* 入口参数:无
* 出口参数:无
* 说 明: 这里保持最一般的算法是为后来扩展
***********************************************************************/
void SIN_Create(void);
/***********************************************************************
* 名 称: Frequent_coventer_Init(void)
* 功 能:变频器初始化
* 入口参数:无
* 出口参数:无
* 说 明:
***********************************************************************/
void Frequent_coventer_Init(void);
/***********************************************************************
* 名 称: void Chaos_Logstic( void )
* 功 能:获得一个Logstic混沌频率值
* 入口参数:无
* 出口参数:无
* 说 明:
***********************************************************************/
uint16 Chaos_Logstic( void );
/***********************************************************************
* 名 称: void Chaos_Logstic( void )
* 功 能:获得一个Tent混沌频率值
* 入口参数:无
* 出口参数:无
* 说 明:
***********************************************************************/
uint16 Chaos_Tent( void );
/***********************************************************************
* 名 称: uint32 SPWM_Create( void )
* 功 能:输出一个占空比时间的倒数的2分之一
* 入口参数:调制度,取SIN表的偏移量
* 出口参数:占空比时间的倒数
* 说 明: 按一般的规则采样算法
***********************************************************************/
uint32 SPWM_Create(fp32 M,uint16 N);
/***********************************************************************
* 名 称: IRQ_Fc(void )
* 功 能:变频器中断处理函数
* 入口参数:无
* 出口参数:无
* 说 明:
***********************************************************************/
void __irq IRQ_Fc(void);
/***********************************************************************
* 名 称: FC_parmenter_change(uint16 BasicFq,uint16 TZfrquent,fp32 TZD)
* 功 能:变频器改变参数用函数
* 入口参数:各种需要改变的参数
* 出口参数:无
* 说 明: 主要供外部函数调用
***********************************************************************/
void FC_parmenter_change(uint16 BasicFq,uint16 TZfrquent,fp32 TZD);
/***********************************************************************
* 名 称: void FC_Stop(void)
* 功 能:变频器停止
* 入口参数:无
* 出口参数:无
* 说 明: 主要供外部函数调用
***********************************************************************/
void FC_Stop(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -