Rotating Servo HS322 over 90 degrees

Basically I have this servo and I want to rotate it along its entire range of motion. I have the default code, and I set pwm 11 for this servo.

if (p1_sw_trig ==1)
{
pwm11 = 255;
}
if (p1_sw_top == 1)
{
pwm11 = 0;

This is so that we can upshift and downshift…

Thanks.

Ummm…was there a question in there? I can’t find one…:o

JBot

The code in the post does not work. Any help?

you have 2 if statements you need an else statement

here is an example:

 if (p1_sw_trig ==1)
{
pwm11 = 255;
}
if else (p1_sw_top == 1)
{
pwm11 = 0;
}
else {
}

hope that works…im sorta new to programming

/forest

It should be an “else if” not “if else”. Also the last “else” doesnt need to be there as you arent using it for anything.

What do you want it to do? What does it do instead?

Is another part of the code setting pwm11 to something else later?

thanks…im still learning as well

/forest

I dont really know what happens; the servo does not move!! do I have t odefine pwm11 just like the default code did for 13-16?

Can anyone shed some light?

Im just using the stock default code and added in the code from post #1

To get the Hitec HS322HD servos to rotate more than 90 degress takes a hardware modification of the servo. It’s not a software issue. Check out Hitec’s website.

I just want them to rotate 90 degrees! It has to be my program right? Its just the default code with the lines from post #1 slapped on.

When you said earlier, “the servo doesn’t even move,” when you run the program, does the servo ever move at all? How about if you try to force it (with your finger) to go to a different position? When you try to turn the servo shaft to a different position, does it want to “fight back”?

If the servo doesn’t seem to be doing anything at all (i.e. when you try to turn it to a different position, it doesn’t “fight back”) then I would speculate that the problem is that either the servo is not properly wired to the correct PWM output, or a charged 7.2V backup battery isn’t connected to the RC. The servo motors get their power from the backup battery (not the main 12V battery) so a 7.2V battery needs to be connected to the RC for the servos to function at all.

Best Regards,

–ken

Near the beginning of Default_Routine you will find this line:

  pwm11 = p3_wheel;   

If it’s still there, it might be undoing whatever your code is setting pwm11 to.

Use a Dashboard Viewer program to see what value pwm11 is actually being set to on the robot. That’ll help narrow it down between software and hardware issues.

What I did to test-move some servos was remap joystick buttons to the PWM in which the servo was plugged. Basically, I deleted the original mapping (as mentioned above) and instead added code for two buttons, and it worked like a charm.

Also, try using the values 254 and 0, instead of 255, k?