This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28379D:用Sincos 解码正余弦编码器时,无法修改比较器CMPSS中DACHVALS寄存器的值



请教一下大家:

目前将F28379D用于低速直线电机驱动,光栅是增量式正余弦编码器,没有复位信号。

遇到的问题:

电机高速运行完全正常

但电机低速运行时:Cmpss7Regs.DACHVALS.bit.DACVAL = 2048;

//

//Cmpss7Regs.DACHVALS.bit.DACVAL该寄存器的作用是,产生一个基准电压,作为比较器的负输入。

//正余弦信号与该电压比较,高于该基准电压,输出1,低于该基准电压输出0,这样可以用qep模块计数,产生位置信号。

示意图如下:

这个寄存器的值必须是2048才能运行,一旦改变为其他值,则电机不动,电流一直升高,电流直到限幅值。

即改变比较器的负输入,电机qep不能正确计数,电机不动。

为什么要改变2048?因为2048是默认值,对应的电压不是正余弦中间,实际值经过测量转换为2252,示意图如下:


谢谢。