编码器波形
CHA 是cos ,CHB是sin。CHA 超前CHB 90°
测量原理
反正切测量方法:
a=sinX,b=cosX.
tanX=a/b,
X=arctan(a/b)
其中a,b是AD采样值,X是角度。
通用原理:
单片机测量步骤
- 预设定值:
SIN_MAX_ADC:最大ADC
SIN_MIN_ADC:最小ADC
SIN_OFFSET_ADC:offset ADC - 同步ADC采用,获取CHA_ADC,CHB_ADC.
- 归一化处理,CHA_ADC和CHB_ADC 减去offset值,并线性映射到-1024~1024 之间。获取新的CHA_value 和CHB_value。
5.计算角度:
- x=abs(CHA_value),y=abs(CHB_value).
- 准备artantable[]:输入x/y,输出角度0~45.(x/y<=1)
- 如果x>y,那么由上图可以计算y/x的角度B,再用90-B 算出当前角度。
- 根据象限计算实际角度。
- 象限1:CHA_value,CHB_value>0 angle=angle
- 象限2:CHA_value<0.CHB_value>0 angle=180°-angle
- 象限3:CHA_value,CHB_value<0 angle=180°+angle
- 象限4:CHA_value>0,CHB_value<0 angle=360°-angle