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

📄 acind.h

📁 U15873EE1V0AN00 aplication note
💻 H
字号:
 /*******************************************************************
 *	File: acind.h
 *
 *	DESCRIPTION:	AC Induction Motor control demonstration
 *					(using constant V/Hz principle)
 *					
 *					Header file
 *
 *  AUTHOR:	S.Redpath 
 *
 *  HISTORY:   Original	28th August 2001
 *
 *******************************************************************/

#ifndef __ACIND_H__
#define __ACIND_H__


typedef  unsigned char	    UINT8;
typedef  unsigned short int UINT16;
typedef  unsigned long int	UINT32;
typedef  signed char		SINT8;
typedef	 signed short int	SINT16;
typedef  signed long int	SINT32;



/*------------------------------------------------------------------------
 * Common system definitions 
 */
#define CLK40M  /*this will be the system clock if using emulator*/

#define CLOCK_SELECT 	0		// Clock generator operating selection
								// (according to CKSEL pin)
#ifdef CLK40M
#define EXT_FREQ   		4000000	// frequency of the external crystal/osc. [Hz]
#else
#define EXT_FREQ   		5000000	// frequency of the external crystal/osc. [Hz]
#endif

#define PLL_MUL    		10 		// PLL multiplier as integer
#define PLL_DIV	   		1 		// PLL divider as integer

// Following must not be changed by user.
#define PLL_MODE	0		
#define DIRECT_MODE	1		
#if (CLOCK_SELECT == PLL_MODE)
#define SYS_FREQ 	((EXT_FREQ*PLL_MUL)/PLL_DIV)
#endif
#if (CLOCK_SELECT == DIRECT_MODE)
#define SYS_FREQ 	(EXT_FREQ/2)
#endif


/**********************************************************************************/
/* Constant definitions */
/**********************************************************************************/
#define SPEED_READS	10	/* number of readings to average speed demand*/
#define POINTS_IN_ONE_QUADRANT 256 /*no of points for first quadrant lookup table*/
#define SINE_TABLE_SIZE	(4*(POINTS_IN_ONE_QUADRANT)) /* no of points in sine table */
#define MAX_ADC_READING	1024

#ifdef CLK40M
#define PWM_UPDATE_RATE 5040 /*frequency of timer4 interrupts at 40MHz*/
#else
#define PWM_UPDATE_RATE 5008 /*frequency of timer4 interrupts at 50MHz*/
#endif

#define DISPLAY_UPDATE_RATE	100	/*multiples of timer3 interrupt*/
#define MAX_TM10_COUNT	0xFFFF	/*max value of up/down counter*/
 
#define SINE_OFFSET 14  /*offset = 16384 for integer arithmetic*/

/* V/F profile for AC Motor */

/* NOTE: for practical purposes the maximum DC Link supply for this
 application example has been limited to 65v DC (equivalent to 46v AC RMS) 
 and hence the corresponding maximum frequency is limited to a proportion 
 of its rated frequency which for the motor used in this example is 89Hz*/

#define MIN_FREQ	11 /*minimum motor frequency Hz*/
#define MAX_FREQ	89 /*maximum motor frequency Hz*/
#define MIN_VOLTS	11 /*minimum RMS motor voltage V*/
#define MAX_VOLTS	46 /*maximum RMS motor voltage V*/
#define VF_SLOPE	((MAX_VOLTS)/(MAX_FREQ)) /*slope of V/F curve for AC Motor*/

#define P 2 /* No. of poles */

#define MAX_SET_SPEED   MAX_ADC_READING
#define MIN_SPEED	(((MIN_FREQ)*(MAX_SET_SPEED))/(MAX_FREQ)) /*in units of Hertz*/
#define MIN_AMPLITUDE   (((MIN_VOLTS) * ((CM3_DATA)/2))/ (MAX_VOLTS))
#define MAX_RPM         (((MAX_FREQ) * 120)/(P)) /*maximum rpm of motor - synchronous speed*/

#define ON 1
#define OFF 0
#define CW 1 /* Clockwise rotation operation mode */
#define CCW 2 /* Counter-clockwise rotation operation mode */


#define SAMPLE_RATE 100	/*sampling rate (per second) of speed sensor*/
#define	PPR	256		/*pulse per rev of encoder*/
#define MAX_ENCODER_PULSES	(PPR * 4)

/*Timer constants*/
#ifdef CLK40M
#define CM3_DATA 500 /* PWM CM003 setting value 20 kHz */
#define BFCM_DATA 500 /* PWM PFCM setting maximum value */
#else /*clock = 50M0hz*/
#define CM3_DATA 625 /* PWM CM003 setting value 20 kHz */
#define BFCM_DATA 625 /* PWM PFCM setting maximum value */
#endif /*CLK40M*/

/* PI coefficients*/
#define KP(a) 	(6 * (a))		/* proportional gain coefficient */
#define KI(a) 	((1 *(a))/4) 	/* Integral gain coefficient*/




#endif /*__ACIND_H__*/



/*end of file*/

⌨️ 快捷键说明

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