Spark Max Issue

During our recent regional we discovered a few issues that we could not solve.

Issue #1: After our third qualifying match we started experiencing heavy brownouts that rendered our robot relatively useless. We are running a total of 7 motors: 5 Neo’s connected to Spark Max Controllers (4 drive and one arm lift motor that is connected to a banebots gearbox with a 900:1 total ratio) and 2 2.5 inch CIM motors connected to Spark Motor Controllers (non Max).

Issue #2: We managed to toast a total of 1 Spark Max, and 4 Neo motors (all on drivetrain). Our code is very simple, as we are only using differential drive, as outline below:

        frontLeft = new CANSparkMax(frontLeftMotorID, MotorType.kBrushless);
        rearLeft = new CANSparkMax(rearLeftMotorID, MotorType.kBrushless);
        leftMotors = new SpeedControllerGroup(frontLeft, rearLeft  );
        frontRight = new CANSparkMax(frontRightMotorID, MotorType.kBrushless);
        rearRight = new CANSparkMax(rearRightMotorID, MotorType.kBrushless);
        rightMotors = new SpeedControllerGroup(frontRight, rearRight  );        

        arcadeDrive = new DifferentialDrive(leftMotors, rightMotors);

Issue #3: One of our potential fixed was to set the current limit in the Rev software for each Spark Max, but each time we were to set this in the Spark Max Client and turn the robot off, it would lose the setting.

We have a lot of things to accomplish before our next regional starts, and are very limited to the things we can do since our robot is bagged and our practice bot is not exhibiting the same issues.

We are going to set the amperage limit in the code, and also try to set the ramp rate, but I am honestly afraid that the already seemingly broken Spark Max Client software will just be another dead end.

Is it honestly best to ditch $600 worth of hardware and move back to Talon SRX’s with CIM motors?

You can and should use current limiting via the API on motor initialization.

Additionally, you generally want to factory reset and then configure motor controllers every robot boot to avoid a stuck bad configuration.

Thank you, we will make sure to try both of these things, but I just hope it is enough.

You can also use the PDP widget in Shuffleboard to view your current draw live, on the fly. This might be good for troubleshooting when running tests.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.