I use f280025C + drv8323RS to support development and general purpose LABS. I completed the debugging from DMC_LEVEL_1 to DMC_LEVEL_4, and verified that FAST algorithm can be used for non-inductive control. The motor is running well. I connected the ABZ signal of the encoder to QEP1 and set the S5 dip switch to 0 to enable QEP, manually turned the motor and confirmed the presence of the pulse signal with the oscilloscope. I then set USER_MOTOR1_NUM_ENC_SLOTS to 4096(the number of pulses in a lap of encoder). Then build the project with DMC_LEVEL_4, disable FAST algorithm, enable ENC and QEP:
,When I set flagEnableRunAndIdentify to true, the electricity moved for a short time, then stopped, and FaultMtrNow and faultMtrUse showed no errors or failures. I can see the Angle and speed information obtained manually by swinging the motor:
The state machine of encState is located。
Other mode Settings in the project are as follows:
When I change DMC_LEVEL_4 to DMC_LEVEL_2, the motor can rotate and I can also see that speedENC_Hz matches speedRef_Hz and speed_Hz.
I don't understand DMC_LEVEL_4 did I miss any key parts? How do I check and modify the program so that the motor runs in encoder mode?