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

📄 encoder.h

📁 基于DsPic30F4011的高精度位置伺服控制系统
💻 H
字号:
#ifndef Encoder_H
#define	Encoder_H

//------------------  C API for Encoder routines ---------------------
#define	Nang_S		8			// Nang must satisfy 64 <= 2^Nang < CntsPerRev
#define	Nang_W		9									


#define	Nvel		8			// Nvel must be in range -8 <= 15-Nvel <= +7

typedef struct{
	short 	qSteerMechAng;						// 方向盘转子机械转角 in 1.15 format 
	short	qKang_S;							// 方向盘比例常量: Count to Angle scaling
	short	iSteerCntsPerWheel90Degree;			// 常量: 轮子旋转90度,方向盘编码器每转的计数值

	short 	qWheelMechAng;						// 转向轮机械转角 in 1.15 format 
	short	qKang_W;							// 转向轮比例常量: Count to Angle scaling
	short	iMotorCntsPerRev;					// 常量: 电机编码器每转的计数值

	short	qMotorVelMech;						// 转子机械旋转速度 in 1.15
	short	qKvel;								//常量: Count to velocity scaling
	short 	iIrpPerCalc;						//常量: Timer interrupts per speed calc

	//private
	short	iVelCntDwn;     	// Countdown to next speed calc
	short   iPrevCnt;       	// Last encoder value
	short   iAccumCnt;      	// Accumulating cnts
	short   iDeltaCnt;      	//  
	short   iSteerCnt;      	// 
	short	iIndexCnt;			//电机轴圈数计数
	
	short	qKang_Pos;			//对POSCNT进行角度换算的比例系数(1.15)
	short	qKang_Indx;			//对Indx进行角度换算的比例系数(1.15)
	}tEncoderParm;
EXTERN	tEncoderParm EncoderParm;


void InitCalcVel(void);
bool InitEncoderScaling(void);

void InitCalcAng(void);
void CalcAngIrp(void);
void CalcAng(void);

#endif



	
	
	
	
	
	
	
	
	
		
	

⌨️ 快捷键说明

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