Servo Power Reset Issue

Hi all,

I'm working on a project that uses an Arduino Uno to drive a servo motor which rotates a painting back and forth (vertically, around its horizontal axis). On one side the painting is attached to the motor (which is mounted on vertical leg), and on the other to an axle which fits inside the other vertical leg. The legs are affixed to a plywood board on the floor.

Our issue is this: The servo motor we are using (a Shark-4 Servo Gearbox (0.56 sec/60°, 18 RPM, 1888 oz-in Torque, 630° Rotation) from goBILDA) is a specialized motor that can be used in either servo or continuous modes. The problem with this is we are using it in servo mode and its neutral position is determined by manually orienting the motor before it starts up as well as a magnetometer that resets its internal neutral to a single point, which unfortunately will end up being one of four points since the gear ratio is 4:1 (this is my understanding based on a conversation with goBILDA's support staff).

So if everything is oriented properly and it stays powered, there's no problem, but we're experiencing frequent power resets of the motor due to a "shuddering" behavior that seems to stem from the servo attempting to hold a position, which manifests as a back-and-forth "shaking" that builds in momentum until the motor begins to function as a voltage generator (again, info from goBILDA) and that voltage causes the motor to reset power. The upshot then is that the neutral position changes based on where the motor was when the power reset, which makes it impossible to move the painting around to consistent positions.

We're powering it with a supply that provides 7.5V and 12.5A (the motor requires between 6 & 8.4V and at least 3A). A fix was proposed by goBILDA that incorporates a 20V 3A schottky diode along the power line, and a 9V zener diode from the shared ground to the power line, downstream of the schottky. I tried this and it hasn't noticeably resolved the issue. FYI, the Arduino is powered separately from the motor.

The answer seems to lie in keeping the voltage from flowing back upstream from the voltage generating motor, so a diode or capacitor solution seems likely. Unfortunately my knowledge of electrical engineering isn't strong enough to devise a wiring solution (I'm more of a programmer).

Can anyone help or advise?

I don't believe this issue has anything to with the code so I'm not providing any, but certainly can if useful. And if there's any additional info about our setup that I've failed to note, please let me know and I'll be happy to amend it.

Many, many thanks!
Adrian

Servo shaking is usually due to an inadequate power supply, like trying to use the 5V Arduino output to power it.

Instead, use an external 4.8 to 6V servo power supply, capably of supply 1 Ampere per small (SG90) servo or 2.5Amperes per MG996R servo.

We're powering it with a supply that provides 7.5V and 12.5A (the motor requires between 6 & 8.4V and at least 3A).

That should work fine. Post a wiring diagram of your setup, so forum members can see what is wrong. Did you remember to connect the grounds?

Please also post a photo of the setup. Solderless breadboards cannot be used with motors and servos, as the tracks will burn.

@jremington

Thanks for jumping in. We are connecting all the grounds. Attached is a Fritzing diagram, which I'm not great with, but hopefully the image is clear enough.

The breadboard is a large part of the problem. They are intended for temporary experiments with low power logic circuitry.

Solder all power connections to the servo, or use a servo power distribution PCB.

I don't see any point in using either the Schottky diode, or the Zener diode.

2 Likes

I'll say it could get worse. If the 7.5 volt supply gets happy and issues more than 9 volt that zener will pop as well as the servo. Usually power supplies very seldom do that.

1 Like

The power supply ABSOLUTELY MUST be well regulated. 7.5V is within the servo specifications stated in the OP.

If those are both correct, look elsewhere for the problem, after removing both diodes.

Do check the power supply voltage with your multimeter. If it wavers at all from 7.5V during servo operation, then the power supply does not meet specifications.

I can't imagine what goBilda people were thinking in proposing the Schottky and Zener diodes, but they clearly are not electronics engineers.

Soldering the components together and eliminating the breadboard seems to have done the trick (and without even including the diodes)! A valuable lesson...!

Big thanks @jremington, great advice that helped to fix my problem roblem on the first try. So much appreciated.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.