xArm-Python-SDK
xArm-Python-SDK copied to clipboard
xArm Lite 6 motor temperature overheating
Hello, The motors of the xArm Lite 6 tend to overheat when permanently in motion for more than 4 hours. I am curious to hear about possible strategies to reduce overheating and of integrating a custom motion stop whenever a custom temperature threshold (under the error limit) is reached.
As in my previous issue, I am using the xArm 6 Lite with a customized version of the 2006-joint_online_trajectory_planning.py common example.
I tried to call & check the motor temperatures with "arm.temperatures()" in the same thread in which I am sending the motion commands, but this caused a significant lack in the motion command reactivity.
- Is it possible to regularly check arm.temperatures() in a parallel thread without affecting the motion command reactivity?
- Is def register_temperature_changed_callback(self, callback=None) supposed to do this?
- Are there some parameters that slow down the overheating process?
- And what´s the actual motor temperature limit as I once reached 75 degrees without an error message?
Hi,
Did you install any end-effectors? What is the TCP payload? Is there any error prompted by our software? What is the error code?
Actually, our software will detect the temperature in real-time and report an error when the motor temperature is out of limit, don't worry. And our firmware provides a motor protection algorithm, it will cut off the power of the motor to protect the motor if any Abnormal.
Hi,
Great that there are several layers of motor protection. Yes, I installed an end-effector with a TCP payload of 1kg.
The error code is: Servo Error S/N: LI100607231B8C Code: S15 Joint ID: [4] Joints Overheat
What are the software temperature limits per axis for the xArm 6 Lite?
Thanks for the reply
Following my message from above: After moving the robot permanently for 4h, the code lines below just printed the highest temperature of all 6 servos being 86°C. And I can still open your software and move the joints. Should it be like that?
temperatures=arm.temperatures highesttemp=max(temperatures) print("highesttemp:") print(highesttemp)
Hi ,
The temperature threshold is 90° in our software. BTW, please reduce the actual payload, the load of Lite6 is about 600g for long-term work.
Thanks! It's a dynamic payload, and the maximum is a bit under 1kg; the average is around 600g. Is there a way to set a customized lower temperature threshold?