Continuous Servo Won't Change Direction

I’m sending a servo that is made to rotate continuously a few commands. Particularly I wanted it to go in forward and reverse, but its only going forward for me unless i manually adjust the feedback pot thats on it (undesirable).

transmit(0x80); // set up for reverse
transmit(0x01);
transmit(0x00);
transmit(7);
transmit(0x6f);

transmit(0x80); // move rail in reverse continously
transmit(0x01);
transmit(0x02);
transmit(7);
transmit(0x7f);

This code basically just makes it go forward, even though I sent a command to reverse it. I’m out of ideas.

Rather than configuring the servo for forward reverse operation you should be able to get forward/reverse motion just by changing the position you command. First, send these bytes, which correspond to the servo’s neutral position:

transmit(0x80);
transmit(0x01);
transmit(0x02);
transmit(7);
transmit(64);//stop

Then tune your pot so that the servo isn’t moving at this setting (you’ll only have to do this once!). Now you should be able to go forward, backward, and stop all with command 2 by changing the data byte at the end:

transmit(0x80);
transmit(0x01);
transmit(0x02);
transmit(7);
transmit(127);//full forward or transmit(0);//full reverse or transmit(64);//stop

How’d this work for you? Once you’ve got it tuned, you might want to put some hot glue on your pot to keep it from budging, you can always peel it off later if you need to.

-Adam

Worked perfectly. THanks a lot bro. I appreciate it.