I have a Micro Maestro controlling a HiTec RC servo to rotate a monitor in an arcade cabinet… I’ve posted about it here before.
I’ve gotten back to this project after a lengthy absence and after some hardware fixes to the mount, have it all working well except for one detail.
I am using this batch file with a parameter to control the orientation of the monitor:
start /wait d:\Utilities\Pololu\Maestro\bin\usccmd.exe --accel 0,1 start /wait d:\Utilities\Pololu\Maestro\bin\usccmd.exe --speed 0,10 if "%1"=="90" goto vert :horiz d:\Utilities\Pololu\Maestro\bin\usccmd.exe --servo 0,7680 goto end :vert d:\Utilities\Pololu\Maestro\bin\usccmd.exe --servo 0,3456 :end timeout /t 2 /nobreak d:\Utilities\Pololu\Maestro\bin\usccmd.exe --servo 0,0 exit
Rotation works correctly, and the servo turns itself off when it reaches its target (where it is then held steady by natural balance and a couple of small magnets acting as latches).
However, it turns way too fast… well above the speed set in the first two commands. I have set the speed and acceleration limits in the Control Center, and I have tried it in this batch file. When I use the batch file, it always goes at top speed. I first had the --speed and --accel commands run directly, but I tried the “start /wait” approach in case they weren’t completing correctly before the movement command went through. The behavior was the same.
Any idea what I am doing wrong?
If the batch file doesn’t work, my next step would be to port it to subroutines in Pololu script…