这次全国电子设计大赛,我们选做自控题的倒立摆那题。对于角度的测量,考虑K60内部自带正交解码的功能,使用起来方便,所以选取编码器测角度的方案。我观察到成品的倒立摆用的都是2000线以上角度编码器,而我们的编码器只有500线,所以角度测量的准确度上有些许欠缺。
K60 AB正交解码初始化:
PORTB_PCR0= PORT_PCR_MUX(6); // 设置引脚 B0引脚为FTM1_PHA功能
PORTB_PCR1= PORT_PCR_MUX(6); // 设置引脚 B1引脚为FTM1_PHB功能
SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;//使能FTM1时钟
FTM1_MODE |= FTM_MODE_WPDIS_MASK;//写保护禁止
FTM1_QDCTRL|=FTM_QDCTRL_QUADMODE_MASK;//AB相同时确定方向和计数值
FTM1_CNTIN=0;//FTM0计数器初始值为0
FTM1_MOD=65535;//结束值
//=========================================================================================================
FTM1_FILTER=FTM_FILTER_CH0FVAL(57); //滤波计数time=x/11.25M=57/11.25M=5.067us
FTM1_FILTER=FTM_FILTER_CH1FVAL(57); //滤波计数time=x/11.25M=57/11.25M=5.067us
FTM1_QDCTRL|=FTM_QDCTRL_PHAFLTREN_MASK;
FTM1_QDCTRL|=FTM_QDCTRL_PHBFLTREN_MASK;
//=========================================================================================================
FTM1_QDCTRL|=FTM_QDCTRL_QUADEN