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.
Tool/software:
Dear TI Expert,
I am working on the universal_motorcontrol_am263x_r5fss0-0_nortos_ti-arm-clang_3phGaN LEVEL 3 example on the TI LaunchPad Sitara AM263x (LP-AM263). My setup includes the DRV8316REVM, which is configured for DRV8316T in hardware mode (without the SPI module).
ENCODER SETUP:
I’m encountering two issues while running my motor (video attached at the end).
Speed Accuracy at Low RPM:
speedRef_Hz
to 0.8 Hz, the actual speed fluctuates between 0.5 Hz and 1.1 Hz instead of maintaining a steady 0.8 Hz.Encoder Reset on Second Run:
Any insights or recommendations would be greatly appreciated.
Thanks a lot!
This same DRV8316REVM (No SPI) configuration and the encoder EM1 runs successfully with the universal_motorcontrol_lab_f28002x example on the F280025C LaunchPad, without any issues.
VIDEO:
Hello Shahar,
Had a chance to review your post & video - some questions.
- When setting
speedRef_Hz
to 0.8 Hz, the actual speed fluctuates between 0.5 Hz and 1.1 Hz instead of maintaining a steady 0.8 Hz.- How can I improve the speed accuracy at low RPM? Are there specific tuning parameters or settings that can help stabilize the speed?
Is this occurring while the EQEP is functional? Basically, does this occur while the motor is being handled like a sensored FOC? The possible reasons for this would differ significantly depending on that.
The motor and encoder work fine the first time I run the system. However, when I stop and restart, the motor run but the encoder resets instantly without any fault error.
How are you restarting the system? What is the physical state of the motor and board when the restart happens? How is the EQEP being configured?
Best Regards,
Ralph Jacobi
Hi Ralph thanks for your response,
Is this occurring while the EQEP is functional? Basically, does this occur while the motor is being handled like a sensored FOC? The possible reasons for this would differ significantly depending on that.
It occurs while the EQEP is functional. However, after the next run (starting a new debugging session), the EQEP stops working. It only starts functioning again after I reset the board.
I believe the motor is being handled as Sensored FOC, although I don’t observe the typical initial algorithm steps that usually occur in FOC. Additionally, after restarting, the encoder doesn’t work properly, and the motor spins at a constant speed without any control over the values the speed reading is zero.
How are you restarting the system? What is the physical state of the motor and board when the restart happens? How is the EQEP being configured?
I am restarting the system via a software reset (starting a new debugging session) in this case the encoder stop working. When I perform a hard reset using the Sitara reset button or disconnect and reconnect the cable, the encoder works again on the first run.
The EQEP setup follows the default configuration from universal_motorcontrol_am263x_r5fss0-0_nortos_ti-arm-clang_3phGaN, with only two modifications:
It’s important to note that I attempted to reconfigure the encoder following the lab instructions, but the encoder still resets unexpectedly. Additionally, I built a custom, clean encoder example on the Sitara, and it worked as expected.
Motor datasheet:
Many thanks, Ralph! I would appreciate any guidance you can provide.
Hi Shahar,
I believe the motor is being handled as Sensored FOC, although I don’t observe the typical initial algorithm steps that usually occur in FOC. Additionally, after restarting, the encoder doesn’t work properly, and the motor spins at a constant speed without any control over the values the speed reading is zero.
Which algorithm steps are you not seeing occur? One thought for when the encoder is working is that the current loop bandwidth may not be high enough. Depending what algorithm steps are lacking that could be a clue as to what might be an issue with the setp.
I am restarting the system via a software reset (starting a new debugging session) in this case the encoder stop working. When I perform a hard reset using the Sitara reset button or disconnect and reconnect the cable, the encoder works again on the first run.
I'll want to confer with some other experts on this to see what they think but my initial thought is that when doing a SW reset without pausing the system, the encoder ends up in a bad state when trying to re-initialize it. Have you tried pausing the whole system and then software resetting?
Best Regards,
Ralph Jacobi
Hi Ralph,
In my opinion, the motor's initial stage is not functioning properly. The motor makes noise but does not calibrate or move as expected.
I’ve attached a video showing the motor running along with its state. Additionally, as you can see in the video, the encoder still works even when I start and stop the motor (before software reset).
Looking forward to your insights!
Thanks,
Hi Shahar,
I have not been able to review this topic with experts on this topic as they have not been available this week. I will try and do so sometime next week.
Best Regards,
Ralph Jacobi
Hello Shahar,
After further discussions with our engineering team, we have to inform you that we are not able to further assist you with debugging the issues you are facing with this system due to the combination of using different hardware than we have tested and validated, and the quantity and depth of questions that you have despite the extensive documentation provided.
While we appreciate university students & projects that use TI parts and try to help support these as we are able, our most experienced engineers can only commit so much time to doing so.
Best Regards,
Ralph Jacobi