On Friday my team was having practice preparing our new robot for worlds. Everything was working great from about 12-4:30 and then the robot just stopped working. At the time our robot failed we had just changed out our batteries after testing some distances. The robot seemed like it was not getting any controller input. After further inspection we found that all motors on our power expanded were functioning, but motors plugged in directly to the cortex would not function. In an effort to solve the problem we tried re-uploading code, changed batteries, restarted the robot multiple times, ran simple test code to run all motors at 127, plugged batteries directly into cortex and power expanded (no extensions), re-downloaded firmware for both the cortex and controllers, we also used our sister teams cortex (we tested to make sure it worked) plugged it into our stuff and then boom doesn’t work, and used Robot C 3 and 4. For our sister teams cortex we ran the same code both for testing it and when it was plugged into our stuff. We were wondering if anyone has had a similar problem and/or knew how to fix it. Any help would be much appreciated.
This might be a long shot but first plug in the motor wire straight into the 3 wire port in the cortex farther from the middle of the Cortex. If it runs then the motor controller is probably dead.
The issue isn’t limited to a single motor controller, all of the motors including those plugged into ports 1 & 10 (which don’t even utilise a motor controller) won’t work.
Edit: We did test different motor controllers as well just to be sure that we didn’t somehow fry all of them.
Just to be sure, you did try redownloading cortex firmware right? Also try redownloading the firmware on your joystick and your computer.
@Nehalem We did redownload firmware in robotc 3 and 4.
@tabor473 I dont think your response came through, I can only see the quoted post.
Is there anything in your preauton function that could possibly prevent your robot from running? Maybe a sensor that’s supposed to return a value to exit a loop of some sort that isn’t returning values?
@Nehalem Our drive code and intake code both run in a while loop in task main. Drive is on the cortex, but intake is on the power expander. With appropriate controller input, the intake works but drive doesn’t. So it is definitley getting to task main. Also, running all motors at 127 in a while loop in a seperate file will only run motors in the power expander.
This is an odd issue. Are you using IME’s.
Your sister teams cortex worked? What about if you only plug in say the right drive into the working cortex w/o sensors etc. How did you test that the motors on the robot all work without a working robot. At what point does it stop working?
We are using IMEs on the drive. Using another cortex still didn’t solve our issue. If we remove a motor that is working that’s in the power expander and direct connect it to the cortex bypassing the power expander the motor fails to work. It seems like the ports are sending data out but not power. The entire robot stopped working when we switched batteries out after testing values for the flywheel on the field. And since then we haven’t been able to power any motors that are direct connected to the cortex. Only the motors plugged into the power expander are working.
Please make sure the female ends of the battery terminals did not get opened too much. Pinch them a bit closed and retry the battery connection.
Did you try re-flashing the firmware?
We tried more than one battery, and the cortex actually powered up and connected to the controller successfully. I don’t think thats the issue but I will be glad to check during our next practice.
We did try re-flashing the firmware using both RobotC3 and RobotC4.
Any other ideas?
first see if anything in your coding i affecting your robot, wait command?.. then try using the online window (try easyC). this tells the cortex to send a current to a certain port from your computer. Also try using an orange cable to directly link your controller to the cortex. might be a vex net if they both dont blink simultaneously. Remember, if a Motor works (moves) its has nothing to do with the motor (unless it short circuited) us a 9v battery to test the motors using the backup battery adaptor.
hope it helps
Or it might be the motor encoders… If your motors wires a frayed they may have fried the motor encoders. since ur battery expander works try switching the encoders to see if thats the problem, happens to me after using used parts from previous years.
The motors fail to respond in autonomous, so it isnt vexnets. Also isn’t a code issue. We will definitely try encoders though!
Worst case scenario you may have fried the ports… try the online window using only one motor to test each port with a working encoder.
We experience the same problem with other cortexes that definitley work. So it isn’t fried ports.
Thanks everyone for all the great suggestions but we were able to solve the issue. We traced the problem to one of the motor controllers on our shooter and when we replaced the motor controller the robot began to work again. We decided to open up the motor controller to see if it was fried and we discovered that there was a short between the orange and black cables where they were soldered into the chip. We think that this shorted the the cortex’s power circuits so that there was no power output from the cortex but the power expander still functioned. In case anyone else has this problem I would suggest isolating every subsystem and testing to see if they work and then once you narrow it one subsystem test the motors in that system. Thanks for all the help!
Remove the cortex and test a single motor with a new motor controller on it (with some simple sample code). See what happens. If you have power, and your connection is good, but the motor runs, it is likely a code issue. If you do not get power or connection, then power or connection may be the issue. If the motor does not run, it may be another issue entirely. Just my attempt to help.
We already solved the issue, it was a bad motor controller. Thanks though?