victor 883

I have 2 victor 883 motor controllers and was wondering how to use an arduino to control them. I know the general wiring (signal to pwm output on arduino, +V and-V to battery, etc.), but no idea how to program an arduino to control them. Any help is needed. thanks in advance, jared

Use the Servo library.

i tried it using one of the examples given on the website and tho indicating led said no signal was getting to the controller. I replaced the cable and the result was the same. Is the controller possibly broken?

Did you try the sweep example? You could also try calibrating it.

I've heard it's very hard to get the cable actually into the thing, so make sure you are.

Did you try the sweep example

yes

You could also try calibrating it

how? I know, press and hold the Cal button, but user manual states to "move the joystick to the maximum and minimum positions". What joystick?

I've heard it's very hard to get the cable actually into the thing, so make sure you are.

The cable is firmly in place.

user manual states to "move the joystick to the maximum and minimum positions". What joystick?

If you have a potentiometer, use the knob example sketch, and move the pot from one end of its range to the other.

If you have a potentiometer, use the knob example sketch, and move the pot from one end of its range to the other.

I tried that and then tested it with the same sketch and the controller would only work when the potentiometer was only slightly off dead-center. Anymore and it would not work.

jaredpi:

If you have a potentiometer, use the knob example sketch, and move the pot from one end of its range to the other.

I tried that and then tested it with the same sketch and the controller would only work when the potentiometer was only slightly off dead-center. Anymore and it would not work.

You calibrated it that way? What I would do is, instead of using a pot to control it, write a sketch like this:

#include <Servo.h> 
 
Servo myvictor;
 
int pos = 0;
 
void setup() 
{ 
  myvictor.attach(9);

  for(pos = 0; pos < 180; pos += 1)  {
    myvictor.write(pos);
    delay(50);
  }
  myvictor.write(90);

  pinMode(13, OUTPUT);
}

int ledstate = HIGH;
void loop() {
  digitalWrite(13, ledstate);
  ledstate = !ledstate;
  delay(250);
}

This code moves the “servo” all the way from 0 to 180 then returns it to center, then starts blinking the onboard led to show that it’s done. To calibrate the victor, upload this sketch, hold down the calibration button, then turn the arduino on and wait for the onboard led to start blinking, then release the calibration button. Then you should be able to run a sketch where a servo value of 0 corresponds to full negative; 180 is full positive; and 90 is off.

(signal to pwm output on arduino, +V and-V to battery, etc.),

And common grounds?

Not seeing much code in this thread

To calibrate the victor, upload this sketch, hold down the calibration button, then turn the arduino on and wait for the onboard led to start blinking, then release the calibration button

Did that and tried a sketch and it did not work. Again, is it possible broken?

Without seeing the sketch?
Hard to say.

Edit: damn predictive typing

here is the sketch i used:

#include <Servo.h> 
 
Servo myvictor;
 
int pos = 0;
 
void setup() 
{ 
  myvictor.attach(9);

  

  
}


void loop() {
  delay(1000);
  for(pos = 0; pos < 180; pos += 1)  {
    myvictor.write(pos);
    delay(50);
  }
  myvictor.write(90);
  delay(5000);
  
}

yes, it is very similar to to the one WizenedEE posted

yes, it is very similar to to the one WizenedEE posted

In what way?

I took the sketch he posted and 'modified' it (added/deleted stuff, moved things around, etc.).

The reason I didn’t put the code in loop was because the victor wants to see the “off” position last (and you can just reset the arduino to run it again) Your version would probably work, but you have to make sure you release the button on the victor within that 6 second delay, with no indication of when coming from the arduino.

Can you better explain what you did with the calibrate button? Double check it’s wired correctly, with common grounds and the PWM cable fully into the victor.

The victor is most definitely “possibly broken,” but that’s kind of a last resort. However, you said it “worked” (might want to explain what that means) when you had a pot a little off center. Can you recreate that result?

Can you recreate that result?

yes, so it must not be broken.

Double check it's wired correctly, with common grounds and the PWM cable fully into the victor.

did that

The reason I didn't put the code in loop was because the victor wants to see the "off" position last

I put it in a loop because by the time i had started the calibration, the LED had already turned on.