Pidog Servo heating up

Hello, I recently received my PiDog and I have run several tests and all working fine. Except one of the servos on leg Servo [8] is warmer than the others, even in standby mode or program exit by Ctrl-C. The only way to cool it down is by turning the Robo-HAT off and back on again.

If I perform leg tasks with the robot such as Sit, Forward, etc… this specific servo get unusually hot in compare to others . I also noticed that when I turn off the hat a very slightly tension on legs are released.

I believe I done the Zeroing and calibration process very carefully during setup.

Obviously there is a continue current to this servo even when exit the program with Crtl-C. Any way I can reset PWM pins for all servos after completing the program.

Can you advice on how I can test and find the problem.
Thank You

Hello, have you try to switch the servos? I.e. rear-right with rear-left. And notice if the problem follow the servo or stay on the same output from the hat.

1 Like

Did you follow the assembly steps?

1.The steps for assembling the servos are as follows:
However, to ensure that each servo is zeroed, you should run the servo_zeroing.py script for zeroing adjustments. Before executing the script, power up the system. The servos need to have the control horn attached, then twist the servo to randomize the angle before connecting the PWM pins. Execute the script with the following commands:

cd ~/pidog/example
sudo python3 servo_zeroing.py

At this point, you will see the servos return to the zero position. Once the servos have successfully zeroed, secure them according to the assembly guide. First, fix the servo with screws, then disconnect the servo cable, and proceed to assemble the next servo, and so on until all servos are assembled.
We recommend watching our assembly video to confirm the process:

2.It is also recommended that you twist the problematic servo individually without powering on to check its status (record a video).
3.Remove the problematic servo from the fixed arm, power up the system, and run the program. Does this servo also heat up?

Thank you for your response. I started from 3. Removing the problematic leg and it seems it does not heat up after running the program. I made a video but as a new user I was not allowed to upload it.

But after running the program for 5 min. while separated servo was attached to pin 8. There was no heat. it was cold. So the heating problem is only when it was/is attached to leg.

If the video file is large, please upload the recorded video to OneDrive, then share the video link with us and grant us access permissions.

I did have a problem myself with one overheating servo. On disassembly, the first large cog had 3 squared off teeth, so it jammed only at one specific place, when moving clockwise. With all power off I just rotated the arm back and forth, after a few twists it would always eventuallly jam. Once initialised, then the servo will try to get to the set position, but cannot if jammed, causing overheating. I swapped mine for the tail servo until I got a replacement. Hope this is of some help.

Thank you for all your suggestions. Originally right leg servo (8) was the problem. I took your advice and changed the servo with left leg and zeroing them both. Now the servo on problematic leg is getting warm. Same leg (8) but not same servo. So this confirm at least nothing wrong with servo.

I am just happy that I dont have a faulty servo :slight_smile:

1 Like

You mean that the servos that have been replaced on the P8 interface will all overheat, and if the overheating servos are replaced with other PWM pins, they will not overheat, correct?

When you replace the servos to the P8 pin, you need to re-do the zero adjustment according to the requirements. After you re-do the zero adjustment, will the servos still overheat on the P8 pin?

Yes I exchange the place of servos. But the same leg with the new servo is heated again.

Problem is whatever servo I place on pin 8 get warmed up.
After I exchanged servos, I did zero it according to instructions.

I noticed that there is more weight on right leg than left leg. Not all 4 legs are equally weighted when robot is in stand or sitting position. Not very obvious when you look. But clearly much more stress on right hand when i touch.

I did zeroing according to video. Disconnect all wires for all servos from PWM and did one at the time with pin 11. Like video. Question: Is it possible to do zeroing while all other servos wire connected to PWM? I didnt risk it, just wondering

You need to run the script example code, then connect the servo to the PWM pin, and the servo will return to zero. You then need to fix the servo and servo arm with screws.

(Key point: First return the servo to zero before assembling and fixing the servo.)

We suggest you record a video of the process and provide it to us, so that we can analyze and help solve the problem.

We will help you confirm if it is an issue with the robot hat that is causing the problem.

If it is, we will send you a replacement robot hat.

If it is an issue with the servo, we will send you a replacement servo.

So we need to confirm which module is the problem in order to thoroughly resolve the issue for you.

If the video file is large, please upload the recorded video to OneDrive and share the video link with us, giving us access permissions.

Thank you so mych for your support and help: I recorded a video and provide a link here:
20240827_122035.mp4

The result is the same. The servo on right leg ( Pin 8 ) still getting warmer than other servos. It do all the actions and nothing wrong with movements. Only get heated.

I let the robot in sitting position with program running for 5 min. Then started to measure temperature on each leg. It wont show the real temperature but it can be used as reference and to compare. I took 3 measurement. Room temperature, Left leg and then the right leg. Illustrated by photos below.


The right leg

Sorry the post wont allow me upload multiple image in one post.


The left leg

And as reference the room temperature

In standby position (Sitting robot) all servos are almost in room temperature but the right leg is much warmer.

From your video, it seems that when you ran the Wake Up example, the movements were not very coordinated.

After you return the servo to the zero position, you will also need to calibrate the servo. There can be some discrepancies between the servo gears and the servo arm, which may cause the four legs of the pidog not to remain level. This results in uneven forces on the servos, with the higher side experiencing more strain, leading to increased heat output.

Therefore, I recommend that you perform the servo calibration and then run the example again to check its performance.
https://docs.sunfounder.com/projects/pidog/en/latest/python/py_0_calibrate.html

Thank you, you probably right. I will try to run a calibration as suggested. If problem presist, I will do one more time zeroing all 4 legs(at least pin 3,8,1 and 11) and do another calibration. Unfortunately its much harder to do zeroing on ( 2,7,0 and 10):

If I still see the problem persist, I report back here.
Thank you