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

📄 pi.h

📁 为BLDC的电流环控制
💻 H
字号:
/*
***********************************************************************
* For test BLDC
* 2008-1-7
***********************************************************************
*/

#ifndef	__PI_H__
#define	__PI_H__
#include	"Spmc_typedef.h"
#include "unSPMACRO.h"
/*=============================================*/
/*=============================================*/
//	write your header here

//#define		KP		0.125
#define		KP		0.25
#define		KPP		2.45*KP
#define		KPI		3.50*KP
#define		KPD		1.25*KP

#define		SETSPD   512

#define		CAPBSIZE	2
#define		limpoint		MAXPWM/2
#define		inclength		10


#define		RADIX		(((24.0E+6)*60) / (64*6*2))

//#define		MAXRPM		(unsigned int)((long)RADIX/5000)	//187
//#define		MINRPM		(unsigned int)((long)RADIX/50)		//1875

#define		MAXRPM		3000
#define		MINRPM		50

#define		FILTERLEN	2
#define		SHIFTDIV	1

#define		HALL		((P_IOC_Data->W)&0x00e0)

/*	FCK/1@24M
8000	3.0KHz
7500	3.2KHz
6000	4.0KHz
5000	4.8KHz
4800	5.0KHz
4000	6.0KHz
3200	7.5KHz
3000	8.0KHz
2500	9.6KHz
2400	10.0KHz
*/

typedef struct PID
{
	unsigned int  SetPoint;           //  设定目标 Desired Value
	unsigned int  IncPoint; 
	unsigned int  LowRange;
	unsigned int  HighRange;
	
	double  ProportionInc;         //  比例常数 Proportional Const
	double  ProportionDec;
	double  Integral;           //  积分常数 Integral Const
	double  Derivative;         //  微分常数 Derivative Const

	int LastError;          //  Error[-1]
	int PrevError;          //  Error[-2]
} PID;

typedef union CONTROLSM
{
	unsigned int W;
	
	struct 
	{
		unsigned int _startup		:1;
		unsigned int _direction		:1;
	}B;
} CONTROLSM;

void DK_motor_init();
void DK_start();
void DK_stop();
void DK_up();
void DK_down();
void DK_change();
void DK_move();
void TPM4_ISR(UInt16);
void BLDC_Motor_Normalrun(UInt8 port);		//正常运行服务
void BLDC_Motor_Startup();		//爬坡启动服务
void BLDC_Motor_Actiyator();
void Speedcalc();
static int IncPIDCalc(unsigned int);
static int DecPIDCalc(unsigned int);
void IncPIDInit();
UInt8 ReadHall();
UInt8 ReadHallState();

#endif

⌨️ 快捷键说明

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