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

📄 spwm_isr.h

📁 基于SPMC75的变频电机驱动例子,相当于一个简单的变频器. 望对变频器开发的工程式师有一定的帮助!
💻 H
字号:
#ifndef	__SPWM_ISR_h__
#define	__SPWM_ISR_h__
//	write your header here

#define STOP				1			//电机当前在停止状态
#define MOTO_Start			2			//电机在启动过程中
#define RUN_UP				3			//电机正在加速
#define RUN					4			//电机在恒频运行
#define RUN_Down			5			//电机正在减速运行
#define STOP_Start			6			//电机处在减速停车轮过程中

//=================================================================================================
// ----Function: int SPMC75_Set_Moto_RUN_F(unsigned int F);
// -Description: 电机工作频率设置
// --Parameters: "F"电机的目标运行频率
// -----Returns: "0" 参数设置正确,"1" 频率小于频率下限,"2" 频率大于频率上限,"3" 电机没有启动
// -------Notes: 
//=================================================================================================
extern int SPMC75_Set_Moto_RUN_F(unsigned int F);			//设置电机的目标运行频率

//=================================================================================================
// ----Function: int Moto_RUN_Ctrl(void);
// -Description: 频率的平滑控制,在这里是控制核心,其功能比较复杂
// --Parameters: None
// -----Returns: "0" 当前频率和目标频率相等,"1" 当前频率还没有达到目标频率
// -------Notes: 
//=================================================================================================
extern int SPMC75_Moto_RUN_Ctrl(void);						//电机运行控制

//=============================================================
// ----Function: void SPMC75_MCP_ISR(void);
// -Description: 最大执行时间20.96us -- 418 + 34 + 51 Cycle (24MHz)
//				 最小执行时间14.29us -- 258 + 34 + 51 Cycle (24MHz)
// --Parameters: None
// -----Returns: None
// -------Notes: 为保证系统的可靠,这段代码在系统没有异常时最好是最高优先级
//				 同时这段代码使用了寄存器切换,因此用户用汇编调用时不用保存环境
//============================================================= 
extern void SPMC75_MCP_ISR(void);							//MCP定时器的中断服务

//=================================================================================================
// ----Function: int Set_DC_BUS_Voltage(unsigned int Voltage);
// -Description: 直流干线电压设置
// --Parameters: "Voltage" 1000~4000 实际电压的10倍
// -----Returns: "0"设置参数正确,"1"设置参数错误
// -------Notes: 
//=================================================================================================
extern int SPMC75_Set_DC_BUS_Voltage(unsigned int Voltage);	//设置当前直流干线电压

//=============================================================
// ----Function: int SPMC75_Set_SPWM_F(int Switch_F);
// -Description: 载波设定 5KHz or 10KHz
// --Parameters: Switch_F: "0" 使用5859Hz/24MHz的PWM频率,"1" 使用11718Hz/24MHz的PWM频率
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_SPWM_F(int Switch_F);					//设置载波频率

//=============================================================
// ----Function: int SPMC75_Set_UP_END_F(unsigned int F);
// -Description: 设置频率上限
// --Parameters: "F" 10~30000,实际频率的100倍 
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_UP_END_F(unsigned int F);				//设置频率上限

//=============================================================
// ----Function: int SPMC75_Set_Down_F(unsigned int F);
// -Description: 设置频率下限
// --Parameters: F: 0.1~300Hz
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_Down_F(unsigned int F);				//设置频率下限

//=============================================================
// ----Function: int SPMC75_Set_Base_F(unsigned int F);
// -Description: 设置基频频率
// --Parameters: F: 30~100Hz
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_Base_F(unsigned int F);				//设置基频频率

//=============================================================
// ----Function: int SPMC75_Set_Start_F(unsigned int F);
// -Description: 设置起动频率
// --Parameters: F: 0.1~20Hz
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_Start_F(unsigned int F);				//设置起动频率

//=============================================================
// ----Function: int SPMC75_Set_Max_Voltage(unsigned int Voltage);
// -Description: 设置最高工作电压,也就是基频时对应的电压值
// --Parameters: Voltage: 80~380V
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_Max_Voltage(unsigned int Voltage);	//设置最高电压

//=============================================================
// ----Function: int SPMC75_Set_Min_Voltage(unsigned int Voltage);
// -Description: 设置起动电压,也就是启动频率对应的电压
// --Parameters: Voltage: 5~70V
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_Min_Voltage(unsigned int Voltage);	//设置起动电压

//=============================================================
// ----Function: int SPMC75_Set_Up_F_Add(long unsigned int F_Add);
// -Description: 设置加速增量
// --Parameters: F_Add: 每次调整不能超过0.5Hz   频率增量值*6553600
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_Up_F_Add(long unsigned int F_Add);	//设置加速增量

//=============================================================
// ----Function: int SPMC75_Set_Down_F_Add(long unsigned int F_Add);
// -Description: 设置减速增量
// --Parameters: F_Add: 每次调整不能超过0.5Hz   频率增量值*6553600
// -----Returns: "0"参数设置正确,"1"参数设置有错
// -------Notes: 
//=============================================================
extern int SPMC75_Set_Down_F_Add(long unsigned int F_Add);	//设置减速增量

//=================================================================================================
// ----Function: int SPMC75_Return_Moto_state(void);
// -Description: 返回电机的当前运行状态
// --Parameters: 
// -----Returns: 请参照上面的宏定义
// -------Notes: 
//=================================================================================================
extern int SPMC75_Return_Moto_state(void);					//返回电机的当前状态

//=================================================================================================
// ----Function: unsigned int Return_Currently_F(void);
// -Description: 电机当前工作频率返回
// --Parameters: None
// -----Returns: Currently_F
// -------Notes: 
//=================================================================================================
extern unsigned int SPMC75_Return_Currently_F(void);		//返回当前运行频率

//=================================================================================================
// ----Function: void SPWM_TMR3_Init(int Gate,int Daly_time);
// -Description: TMR3_module initialize function
// --Parameters: None
// -----Returns: None
// -------Notes: 
//=================================================================================================
extern void SPMC75_SPWM_TMR_Init(int Gate,int Daly_time);	//电机驱动的硬件初始化

//=================================================================================================
// ----Function: int SPMC75_Start_Moto(int Dir);
// -Description: 启动电机服务
// --Parameters: Dir: 电机的运行方向;"0"正向起动,"1"反向起动
// -----Returns: "0"参数正常,"1"所设参数错误
// -------Notes: 
//=================================================================================================
extern int SPMC75_Start_Moto(int Dir);						//以方向Dir起动电机

//=================================================================================================
// ----Function: int STOP_Moto(int Mode);
// -Description: 停止电机服务
// --Parameters: Mode 停机方式;"1"自由停车(立即断电),"0"减速停车
// -----Returns: "0"设置参数正确,"1"设置参数错误
// -------Notes: 没有问题
//=================================================================================================
extern int SPMC75_Stop_Moto(int Mode);						//以Mode设定的方式停止电机
#endif

⌨️ 快捷键说明

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