Something wrong with our V5 Brain

Our robot’s brain has been having some issues. A lot of the ports have stopped working. We only have enough to make the robot work so we can’t just change the port. We were working on just making it drive and half of the drive wheels cut out but the ports connected to them work fine. The motors still work and the lights don’t turn off they just stop moving. There’s nothing wrong with the code as I have rewrote it at least five times. Anyone have any ideas other than getting a new brain.

While you can’t use this during competition and I don’t know if you can save your brain without editing the electronics (illegal), ports can be saved by Purdue’s ESD boards. I would suggest using these if you want to keep your ports safe.

4 Likes

Sounds like your frying ports or overheating motors. Air-duster upside down can easily cool your motors but frying ports is irreversible
There is no good way to get a V5 brain right now except to send it back to vex and wait a few months to get a new one back (before you do this test EVERYTHING to make sure you haven’t made a mistake (check motor heat, motor ports, and share the code here to triple check that nothing is wrong. You do not want to not have a brain right now))
Here’s a thing that will help your ports on your brain and motors not die:

3 Likes

The main issue we are having right now is that we know that the port, wire and motor work but it is still cutting out. The code is just a basic arcade control for driver.
LeftFront.spin(directionType::fwd, (Controller1.Axis3.value() + Controller1.Axis1.value()), velocityUnits::pct);
LeftBack.spin(directionType::fwd, (Controller1.Axis3.value() + Controller1.Axis1.value()), velocityUnits::pct);
RightFront.spin(directionType::fwd, (Controller1.Axis3.value() - Controller1.Axis1.value()), velocityUnits::pct);
RightBack.spin(directionType::fwd, (Controller1.Axis3.value() - Controller1.Axis1.value()), velocityUnits::pct);

The issue is only with the drive chain and nothing else.

How do you know they all work? Have you tested each with different parts? (namely the port)

1 Like

The ports turn on and we’ve used it with other motors and wires so we know they work.

Sounds like a programing issue
Please your entire code so we can find the problem (use ``` around it to format it)

I know there isn’t a coding error but I’ll post it anyways.
/----------------------------------------------------------------------------/
/* /
/
Module: main.cpp /
/
Author: C:\Users\tlaning /
/
Created: Wed Aug 25 2021 /
/
Description: V5 project /
/
/
/
----------------------------------------------------------------------------*/

// ---- START VEXCODE CONFIGURED DEVICES ----
// Robot Configuration:
// [Name] [Type] [Port(s)]
// Controller1 controller
// LeftFront motor 12
// LeftBack motor 14
// RightFront motor 15
// RightBack motor 9
// DR4BLeft motor 3
// DR4BRight motor 16
// Claw motor 17
// Hook motor 8
// ---- END VEXCODE CONFIGURED DEVICES ----

#include “vex.h”

using namespace vex;

int main() {
while(true){
// Initializing Robot Configuration. DO NOT REMOVE!
vexcodeInit();
LeftFront.spin(directionType::fwd, (Controller1.Axis3.value() + Controller1.Axis1.value()), velocityUnits::pct);
LeftBack.spin(directionType::fwd, (Controller1.Axis3.value() + Controller1.Axis1.value()), velocityUnits::pct);
RightFront.spin(directionType::fwd, (Controller1.Axis3.value() - Controller1.Axis1.value()), velocityUnits::pct);
RightBack.spin(directionType::fwd, (Controller1.Axis3.value() - Controller1.Axis1.value()), velocityUnits::pct);

if(Controller1.ButtonL1.pressing()){
DR4BLeft.spin(directionType::fwd, 100, velocityUnits::pct);
DR4BRight.spin(directionType::fwd, 100, velocityUnits::pct);
}
else if(Controller1.ButtonL2.pressing()){
DR4BLeft.spin(directionType::rev, 75, velocityUnits::pct);
DR4BRight.spin(directionType::rev, 75, velocityUnits::pct);
}
else{
DR4BLeft.stop(brakeType::hold);
DR4BRight.stop(brakeType::hold);
}
if(Controller1.ButtonR1.pressing()){
Claw.spin(directionType::fwd, 100, velocityUnits::pct);
}
else if(Controller1.ButtonR2.pressing()){
Claw.spin(directionType::rev, 100, velocityUnits::pct);
}
else{
Claw.stop(brakeType::hold);
}
if(Controller1.ButtonX.pressing()){
Hook.spin(forward, 100, velocityUnits::pct);
}
else if(Controller1.ButtonA.pressing()){
Hook.spin(reverse, 100, velocityUnits::pct);
}
else{
Hook.stop(brakeType::hold);
}
}
}

Are you trying to make a tank drive? Using the same axis for both sides will cause issues especially if the positive and negative values try to drive it forwards and backwards at the same time

Well, you don’t really want vexcodeInit() inside the while loop.

Did you assign any motors to the controller buttons in graphical configuration ?

Which ones ?

That’s arcade drive code.

5 Likes

The front right and back right