📄 userparms.h
字号:
#define bitset(var, bitno) ((var) |= (1 << (bitno)))
#define bitclr(var, bitno) ((var) &= ~(1 << (bitno)))
#define LED1_ON bitclr(PORTB,PORTB8)
#define LED1_OFF bitset(PORTB,PORTB8)
typedef signed int SFRAC16;
#define Q15(X) ((X < 0.0)?(int)(32768*(X) - 0.5) : (int)(32767*(X) + 0.5));
//**************** 振荡器 ************************************
#define dFoscExt 8000000 // 外部8M晶振
#define dPLL 8 //8倍频
#define dLoopTimeInSec 0.0001 //PWM周期0.1ms
#define dDeadTimeSec 0.000002 //死区时间2us
//
#define dFosc (dFoscExt*dPLL) //64000000Hz
#define dFcy (dFosc/4) //16000000Hz
#define dTcy (1.0/dFcy) //0.0000000625s
#define dDeadTime (int)(dDeadTimeSec*dFcy) //计数值32
#define dLoopInTcy (dLoopTimeInSec/dTcy) //
#define FPWM 10000
#define CW 0 // 顺时针方向
#define CCW 1 // 反时针方向
//************方向盘及电机参数*****************
#define diSteerCntsPer90Degree 8192 //轮子旋转90度的方向盘编码器线数,精度为90/8192=0.010986328125
#define diEnMaxSteerCnts 8000 //允许方向盘的最大计数值(diSteerCntsPer90Degree - 1)
#define diEncoderCntsPerRev 4096 //转向轮电机主轴传感器编码器线数
#define diMAXCNTS (diEncoderCntsPerRev ) //电机主轴旋转一周的最大计数值
//#define diMachTranScal 1 //方向盘和转向轮的传输比
#define diMechMaxSpeed 3000 //电机最大转速
#define dfWheelGeerNums 121.0 //转向轮主齿轮
#define dfBoxGeerNums 33.0 //变速箱输出齿轮
#define dfScaleFirstDownVel 42.7 //一级减速比为42.7
#define dfScaleSecondDownVel (dfWheelGeerNums/dfBoxGeerNums) //二级减速比
#define dfScaleDownVel (dfScaleFirstDownVel*dfScaleSecondDownVel) //总减速比
#define dfWheelQuarterTurn (dfScaleDownVel/4) //转向轮四分之一转的电机转数
//#define diMechMinSpeed 60 //电机最小转速
#define diMechMaxPower 700 //电机最大功率700W
//#define diMechVoltage 24 //电机供电电压
//#define diMaxCurrent 30 //电机最大电流30A
//************** Motor Parameters **************
#define diPoles 1 // Number of pole pairs
#define diCntsPerRev 4096 // Encoder counts per revolution
#define diNomRPM 3000 //
//************** Measurement **************
#define diIrpPerCalc 40 // PWM loops per velocity calculation
//位置环
#define dPqKp Q15(0.6); //位置PI运算比例系数10240
#define dPqK1_p Q15(1 - 0.6); //位置PI运算比例系数10240
#define dPqKi Q15(0.0000); //位置PI运算积分系数2048
#define dPqKc Q15(0.0000); //2048
#define dPqOutMax Q15(0.5071); //位置PI运算最大输出
//速度环
#define dVqKp Q15(0.3125); //速度PI运算比例系数10240
#define dVqKi Q15(0.0625); //速度位置PI运算积分系数2048
#define dVqKc Q15(0.0625);
#define dVqOutMax Q15(0.7071); //速度PI运算最大输出
//ADC比例
#define dqK Q15(0.5);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -