I am using a MicroMaestro connected to an RC servo in order to control monitor rotation in an arcade cabinet. The setup is working fine – when a game with a vertical or horizontal monitor orientation is launched, I run a batch file that calls the software and the monitor rotates appropriately.
In order to do this, I have set a fairly slow rate of turn for the servo, as the LCD is heavy and using full power would cause excessive torque. The result was that the monitor would “bounce” upon hitting its target, and end up out of true.
So, general usage is fine. But I have an issue that recurs every time the computer reboots. When it reboots, the speed and acceleration limits set in the Pololu software seem to be ignored. The monitor moves at maximum speed, bounces quite strongly, and ends up sitting at a diagonal angle. It also seems to think that this diagonal angle is actually horizontal.
This is a poorly balanced situation for the servo, which then buzzes mightily trying to hold the monitor in place. If I don’t get to it soon, I fear the servo will overheat and burn out. (The servo is quite happy holding the monitor at vertical and horizontal; it’s holding odd diagonals that are poorly balanced that give it trouble).
When this happens, I can generally fix it by running the vertical batch file followed by the horizontal one. If, however, I run the horizontal one first, a dialog box pops up informing me that smccmd has crashed.
I have set the default position for the servo to be the standard horizontal position. That certainly isn’t where it lands upon reboot, and it seems to ignore the speed limit that I have set in the software when trying to get to the default position.
Am I missing something in terms of how to adjust the settings? Is there some way to avoid this behavior?