Hello,
I opened a issue at https://github.com/Lynxmotion/Arms/issues/2 at yesterday.
It is my setting of AL5D
and I am using that code https://github.com/Lynxmotion/Arms/blob/Botboarduino/PS2_Control/PS2_Control.ino.
I found reason of mystery movement of my wrist motor is unbalance analog input of PS2 controller.
After modifying a code like below, all motor move well.
int LSY = 127 - ps2x.Analog(PSS_LY);
int LSX = ps2x.Analog(PSS_LX) - 84;
int RSY = 30 - ps2x.Analog(PSS_RY);
int RSX = ps2x.Analog(PSS_RX) - 128;
However, this doesn’t seem to correlate with a broken wrist motor deeply.
Can the motor break down if it is operated for a long time with wrong parameters?
Thank you,
From Dohyeong Kim
1 Like
Thanks for creating a topic here! We like to have as much technical information as possible (including troubleshooting and solutions) available to our community. That being said, most people never look at the GitHub issues! (as you’ve noticed, being only issue #2 on that repo)
Great pics and details, by the way!
Interesting. Maybe we should update the code to add some constants at the top to handle this, with a note/comment about it.
Those motors are low cost hobby-grade RC servomotors being used in a robot(instead of, well, a RC model, such as a plane/car/etc. as intended.
They most likely should not be powered continuously and definitely not if under load to allow cooling. Since they are made entirely of plastic they can easily overheat / get damaged.
Also, if your situation caused the motor to continuously move in one direction it would eventually get stuck therefore causing the motor to stall and heat up really fast and possibly damaging it quickly.
In most causes try to limit active use (under load) to about 15-20 mins (depending on each RC servomotors’s temperature). If they feel hot to the touch they are probably already too warm and need a break.
If you want to keep them powered but not “holding”, simple send them to a position of “0”, ex: #0P0\r for a SSC-32U or a digital low when using an Arduino-compatible board (i.e. digitalWrite(pin, low) ).
This effectively turns off the PWM signal which makes most RC servomotors (including the ones typically used for an AL5D) stop holding their position / go limp. This can give them a “break” to cool down while keeping them (and your electronics) powered.
I hope this info helps figure out what happen!
Sincerely,
2 Likes
Hello,
Your detailed explanation solve my curiotisy about problem. Very thank you about this.
It seems like a good way to add a brief description for someone new to AL5D like me.
And I should apply the way for cooling down a motor as you said.
Thank you for good advice,
1 Like