Serious Problem of Unknown Origin

Hi,

We have a problem of unknown origin. Everything was working fine with our robot. However, when we uploaded code for the timer, the motors no longer spun at full capacity. They spun about one-fiftieth of a revolution each half-second. We reverted our code (by commenting out all newly-written code) to a state in which it was working before. Unfortunately, this did not resolve the problem. The motors still spun at an infinitesimal fraction of the speed that they were spinning at before. We uploaded the default code from our backup, but the motors still behaved like before. Here are the symptoms and the results of various tests we conducted:

  • The motors reacted correctly to stimuli from the joystick. When the joystick was pushed forward, the gears spun clockwise, and when the joystick was pulled back, the gears spun counterclockwise.

  • When the joystick is neutral, the LED on the Victor is orange. When the joystick is moved off neutral, the LED flashes orange, but never turns green or red like it used to.

  • We tried a different Victor 884, but with the same results.

  • All LEDs on the Robot Controller were flashing green. We tried an RC from a previous year, but everything was the same.

  • Periodically the motors would spin at the original speed, for about 1 second, so we’re pretty sure that the motors are working fine (it would be a coincidence if both failed, and in the same fashion, simultaneously).

  • We’ve tried replacing the fuse, but once again same thing.

  • When the joystick is moved, on the terminal window, strangely, this message is printed: “IFI>IFI 2006 User Processor Initialized”. Why does this happen? Shouldn’t this message only be printed upon program initialization?

  • We tried testing connections and wiring with a voltmeter. All connections were giving power. The input to the Victors read about 11 volts. The output from the Victors to the motors gave a reading of approximately 0.1 - 0.9 volts. Is this what others are getting?

  • We tried a different power supply feeding in 12 volts, with no change.

What could possibly be the problem? If anybody has experienced a similar condition, please respond. We have tried everything we could, but still have not been able to identify the cause or location of this problem.

Thank you for your concern!

  • Team 865

Are you powering the robot with a fully charged 12v battery? or something else?

Our battery is not fully charged, but when we tested its output when connected to the robot controller, the voltmeter read 11 volts. We tested it with an AC to DC converter outputting 12 volts, but to no avail.

Charge the battery, then try it again. Really. I’m serious.

The repeated initialization message says that your program is causing the Robot Controller to reset repeatedly. squirrel probably has it pegged: the current draw from the motors drops the voltage to the point where the RC doesn’t have enough to keep running.

But in case that’s not the problem, which timer are you using? How long did you set it to run before causing an interrupt? Did you remember to reset the interrupt flag in the service routine?

One more thing: are you using PWMs 13-16? Using the standard IFI code, those four outputs don’t play nice with interrupts.

Thank you, we will try out your suggestion and report back later (likely tomorrow). If there are any other suggestions, we are welcome to them.

Your robot controller is resetting due to low voltage whenever you see the
“IFI>IFI 2006 User Processor Initialized” message.

Probably because your 12v battery is low (11v is a low reading when the robot is at rest), also because you don’t have a fully charged backup battery connected.

Mr. Anderson,

We’ve uploaded and are testing the default code where simply pwm01 is mapped to p1_y, etc, and no timer code is in use. The Victors are connected to PWM outputs 1 and 2.

We connected a fully charged battery pack to the backup inputs on the RC, and we no longer got the “IFI>IFI 2006 User Processor Initialized” message. However, the motors are still not spinning at their normal speed.

I must be misreading your original message, because it looks like it says you started having the issue when you added timer code and it went back to normal when you put in the default code. I’m probably getting confused by the phrase “behaved like before”.

We connected a fully charged battery pack to the backup inputs on the RC, and we no longer got the “IFI>IFI 2006 User Processor Initialized” message. However, the motors are still not spinning at their normal speed.

Use the OI display to view your main battery voltage. If it ever gets below about eight volts, the RC shuts down all its outputs. The backup battery keeps it communicating and prevents it from resetting, but it can’t stop it from turning off the motors.

Did you try connecting a fully charged big gray 12v battery to power the robot? A discharged battery will cause the symptoms you are describing, and it is very easy to try this first, and save yourself a lot of frustration.

I only offer this advice repeatedly because I have spent many hours of my life trying to fix similar problems that were caused by discharged batteries…

If the RC is switching to the backup battery to stay alive, all PWM outputs are disabled. Replace or recharge the main battery.

Hey, just fought I’d throw this out… Did you try to reset the IFI board on the robot? I know that we were having some crazy voltage trouble as well…we tried this and it pretty much worked!

Thanks everybody for the suggestion, we are going to try them tomorrow when our teacher is here to provide us with a fully charged gray battery/battery charger.

Mr. Anderson - We meant that reverting back to the default code did not resolve the problem. By “behaved like before” we mean that the motors still spun at a very low rate.

Yes, we have tried resetting.

Ok well in that case what I would do is run the programing, and test your voltage everywhere in between the IFI board and the power source and the motors. Maybe the trouble is in the motors… have you driven the robot yet? Maybe there burned out?

In addition to what everyone else has been saying (charge your battery or swap it out for a freshly charged battery), your OI should report battery voltage > 12.4 volts for a nice happy robot. Once you get there, make sure your Victors are calibrated. Neutral is orange, max in one direction should produce a green led (at the Victor), max in the other direction should produce a red led (at the Victor).

Thank you for your suggestions so far.

Currently we are charging one of our ‘big greys’ and will see what happens when we try again with it.

We’ve just tested our robot with a new battery, and the problem is resolved! The motors are now spinning at their normal speed. Thank you everybody for your prompt replies and “gracious professionalism”.

I’m glad to be of help!

Do you understand why the robot behaved as it did when the battery was discharged? It might take some thinking to figure this out, but if you develop an understanding of how batteries work, specifically how the available voltage changes with charge state and current load, it should make sense.