Tool/software: Code Composer Studio
I used the Drv8711 chip to drive the stepper motor, but the motor was disabled after power on or after a period of use. At this time, I read the chip register and found that the contents had been tampered. The details are as follows:
1. I configured the chip register as follows: CTRL=0x0D41,TORQUE=0x01FF,OFF=0X0008,BLANK =0X0100,DECAY=0X0310,STALL=0X0F40,DRIVE=0X005F
2. It is easier to Disable the motor at low temperature than at room temperature. When the motor is disabled, the chip register value is read and found to have been changed, which is different from the value I wrote.
3. In addition, there are also the following problems at low temperature, but not at room temperature:
(1). As for the reading operation of the chip register, I can always read it at room temperature without making any mistakes, and it is always the same as the value I wrote. However, when I read it at low temperature, the value I read will be inconsistent with the value I wrote. But I'm not sure if it was the low temperature that changed the value of the register or if I misread it
(2) In low temperature environment, if I keep writing 0 to the status register when the motor keeps rotating, it will inevitably cause the motor to stop rotating and be in the disabled state. The value of the register is read and found to be inconsistent with what was written. I then reconfigure the chip's registers (to write the parameters I mentioned above), and the motor resumes running. However, if I just keep the motor in the enable state instead of turning it, then I keep writing 0 to the state register so that the motor doesn't go into the disabled state.
(3) When I changed the gain of ISGAIN from 10 to 40, I always wrote zero to the status register during the motor rotation, but the motor was not disabled and the fault disappeared
(4) Because it is the motor rotation process appeared in the problem, we suspect that EMF caused. Using an oscilloscope to measure the EMF generated by motor rotation at room temperature and low temperature, it was found that the generated EMF is the same. Then we added a capacitor to the connection of the motor to filter out the EMF, and the low temperature test found that the above problem disappeared. So we can't say exactly what caused the problem.
Looking forward to your reply. Thank you!