Good Day Staff and others,
I have done some extensive searching and testing on this issue but to the best of my ability have been unable to resolve on my own.
The motors that I am connecting are BAG motors and follow the standard wiring that the regular vexpro motors use.
Forgive my code’s length, this was the easiest and simplest way I came up with to test all motor ports:
#include "qemotortraj.h"
int main(int argc, char **argv)
{
const int axis = 1;
const int axis1 = 2;
const int axis2 = 3;
const int axis3 = 4;
const int axis4 = 5;
const int axis5 = 6;
const int axis6 = 7;
const int axis7 = 8;
const int axis8 = 9;
const int axis9 = 10;
const int axis10 = 11;
const int axis11 = 12;
const int axis12 = 13;
const int axis13 = 14;
const int axis14 = 15;
const int axis15 = 16;
CQEMotorTraj &motor = CQEMotorTraj::GetRef();
motor.SetPIDVGains(axis, 100, 0, 500, 0);
motor.SetPIDVGains(axis1, 100, 0, 500, 0);
motor.SetPIDVGains(axis2, 100, 0, 500, 0);
motor.SetPIDVGains(axis3, 100, 0, 500, 0);
motor.SetPIDVGains(axis4, 100, 0, 500, 0);
motor.SetPIDVGains(axis5, 100, 0, 500, 0);
motor.SetPIDVGains(axis6, 100, 0, 500, 0);
motor.SetPIDVGains(axis7, 100, 0, 500, 0);
motor.SetPIDVGains(axis8, 100, 0, 500, 0);
motor.SetPIDVGains(axis9, 100, 0, 500, 0);
motor.SetPIDVGains(axis10, 100, 0, 500, 0);
motor.SetPIDVGains(axis11, 100, 0, 500, 0);
motor.SetPIDVGains(axis12, 100, 0, 500, 0);
motor.SetPIDVGains(axis13, 100, 0, 500, 0);
motor.SetPIDVGains(axis14, 100, 0, 500, 0);
motor.SetPIDVGains(axis15, 100, 0, 500, 0);
printf("Begin Program. \n");
while(1)
{
motor.Move(axis, 40000, 20000, 8000);
motor.Move(axis1, 40000, 20000, 8000);
motor.Move(axis2, 40000, 20000, 8000);
motor.Move(axis3, 40000, 20000, 8000);
motor.Move(axis4, 40000, 20000, 8000);
motor.Move(axis5, 40000, 20000, 8000);
motor.Move(axis6, 40000, 20000, 8000);
motor.Move(axis7, 40000, 20000, 8000);
motor.Move(axis8, 40000, 20000, 8000);
motor.Move(axis9, 40000, 20000, 8000);
motor.Move(axis10, 40000, 20000, 8000);
motor.Move(axis11, 40000, 20000, 8000);
motor.Move(axis12, 40000, 20000, 8000);
motor.Move(axis13, 40000, 20000, 8000);
motor.Move(axis14, 40000, 20000, 8000);
motor.Move(axis15, 40000, 20000, 8000);
while(!motor.Done(axis));
}
}
There are two VeXPro 393 motors on ports 1 and 2 which run fine. The BAG motors are located on upper ports (12,13) and don’t run at all. I’ve tried various configurations like ports 10,11 with no success. This is a brand new VeXPro controller so the chances of a port being burned up is unlikely. I believe it is a problem with my code or maybe configuration as I am able to run all of these motors on ports 0-3, but I require access to more ports for more motors.
If you could be of assistance with this issue it would greatly decrease my amount of headaches
Thanks!
SE7EN