Arduino with Victor 883 Speed controller (pwm)

I currently have in my posession 3 victor 883's, as seen here...

http://www.ifirobotics.com/victor-884-speed-controller-robots.shtml

They take your average run-of-the-mill pwm input... but I have no clue on how to
create code for my arduino that will control the speed of my motor with a victor.
If you have any idea on what I should do to generate this pwm signal (based on
the reading of a potentiometer) or just any pwm driving code, that would be awesome

thx,
ez

Sorry for the double post, but....

I think I found a partial answer to my question here:

http://www.tigoe.net/pcomp/analogout.shtml

But I still don't know how to invert the signal so the motor
turns in reverse.....

i Use the victor 884's a lot in my robotics team (WildStang - Team 111). Sending 0 to about 120 should make it go in reverse, and 127 will keep the motor from moving. over about 134 to 255 is forward. Sorry i am not sure about the exact numbers for the deadzone around 127. Additionally i would recommend plugging in the fan to the input side of the speed controller, this way you can see if the victor is getting power just by looking at the fan. A signal driver may be needed.

The code is just like using a servo.

#define VICTOR_1_PIN    9
#define VICTOR_2_PIN    10
#define VICTOR_3_PIN    11
void loop (void)
{
    analogWrite(VICTOR_1_PIN, 234);    //Motor fowards
    analogWrite(VICTOR_2_PIN, 127);    //Motor not moving
    analogWrite(VICTOR_3_PIN, 23);     //Motor Backwards
}

Thanks! I finally got the thing working, and now it moves in reverse as well....
Btw, I am on HOT Team 67... I just don't work with the code!

What is the importance of the "Signal Driver"? What exactly does it do?

Ohh a fellow national chairmans wining team :). I don't know what it does, but it said it might be needed for non-ifi controllers. If you already have it working, you don't need the signal driver. I will find out what it does tomorrow at robotics and post.

EDIT: Good luck at Great Lakes!

Well, I finally got the victor hooked up and my motor spinning!
The only problem is that I am using a linear pot to controll the thing...
so the pot only outputs 100 something to 800 something.

I am currently writing some code to scale my values down and
to have the motor stop in the linear pot's "idle" position (it is a
rotational yet linear pot, from an electric scooter throttle)

here's my code...

int scalepulse = 0;
void setup() {
   digitalWrite(13, HIGH); //both for led "ready" indicator and victor +5v
    Serial.begin(9600);
  pinMode(11, OUTPUT); //signal pin
}

void loop() {
  int pulse = analogRead(0); //reads my pot
  
  if (pulse > 190) {  // if motor should be driving forwards (# is bigger than lowest pot resistance)
     scalepulse = pulse / 2 ; // or something to scale it down to around 234
     analogWrite(11, scalepulse);
     
   }
  
  
  if (pulse < 190) { //my pot's lowest resistance
  scalepulse = 127 ;  //idle victor
  analogWrite(11, scalepulse);
  
  }
  
  
 
  
 //  Serial.print("Potvalue =");
//Serial.print(pulse);
//Serial.print("\n");

//Serial.print(scalepulse);
//delay(500);
//Serial.print("\n");
//Serial.print("\n");
//Serial.print("\n");
}

instead of dividing a ten bit number by two, a bit shift might work better.

I don't think that that would really make a difference... but I may be wrong!

I don't think that that would really make a difference... but I may be wrong!

Just a bit faster...