Hello,i found a issue about the AD2S1205,the issue is that the angle value which read from the AD1205 by SPI is wrong,not stright line but the broken line.I got the AD value and make a chart about the angle value,we can clearly see it that there is a retrace case almost every electrical revelution of the motor.
I suspect that there is a caculation error about the AD2S1205 chip so it feedback a wrong angle number to the spi buffer.
I paste my angle reading code as the following,please help me to solve this problem.In fact we have sovle this problem for a long time.
What is more,the sin and cos signal which feedback from the motor is very good. And we alos adjust the hardware circuit and the componet value about the resolver for several times but have no effect.
float ecal_GetAngle() { ENCODER_ANGLE; DELAY_US(1);//add @2023-10-30 SET_SPL(); DELAY_US(1); CLR_SPL(); DELAY_US(5); SET_CS(); SET_RD();//SAME WITH CS PIN DELAY_US(1); CLR_CS(); SET_SCLK(); CLR_RD(); DELAY_US(1); anglecnt = ((0xFFF0 & GetAd2s1205Angle())>>4) ; SET_RD(); DELAY_US(1); SET_CS(); return anglecnt ; }