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