恭喜,你发布的帖子
发布于 2022-08-05 10:29:27
4楼
这个问题其实很简单!将r482当成Sint32就好。在此纠正LZ的一个说法,反转过零后,第1个数不是4,294,967,296(16#1 0000 0000)而是4,294,967,295(16#FFFF FFFF),如果将其解析为Sint32就是-1,第2个数是4,294,967,294(16#FFFF FFFE),将解析为Sint32就是-2,以此类推,直到2,147,483,648(16#8000 0000)将解析为Sint32就是-2,147,483,648;再继续反转,下1个数是2,147,483,647(16#0FFF FFFF),将其解析为Sint32就突变为+2,147,483,647,再下一数为+2,147,483,646,直到3,2,1,0。正转则反之。
所以针对这种断电复位零,且存在正反转的情况,只要编码器转过相对零位不超过2**n圈都好处理。
n的计算方法:对增量编码器一般细分数(正弦波编码器为11位,方波编码器为2位),单圈分辨率10位1024居多,这两部正弦波编码器共21位,方波编码器12位,再扣除一个符号位,正弦波编码器支持的n为10,方波编码器支持的n为19,即可以区分正弦波编码器正反转1024圈,可区分方波编码器正反转524288圈。
请填写推广理由:
分享
只看
楼主