Calibrating Victors

That Lil Stunt happend to my Buddy John, during competetions he was tired and almost falling asleep and pulled a metallic Winch Cable we installed and the wire bridged both terminals of our battery, a powerful flash occured and he was thrown away(not by the power but by fear lol) and the wire turned chard black and split in the mid point been the contact point. no smoke no fire, just a broken winch cable (Heres a tip about metallic wires, u can crimp them back together if u do it right)

as for your problem

from what i can tell on this thread this is your setup

Battery = Breaker = Fuse Box = 40/30 amp Fuse = Victor 88* = Spike = Motor

which is Incorrect, when running a motor (drill, CIMs, FP … etc) you can only have Victors running and taking the load of your motors.

the Correct Circuit would look like

Battery = Breaker = Fuse Box = 40/30 Amp Fuse = Victor 88* = Motor

Spikes are only to be used on Things that require only on and off commands such as your Compressor , Silenoids, and some of the lower end Motors that dont require variable speed.

That Setup Is non Negotiable, despite what may feel to be a better setup, or more efficient Short Cuts , such is Using Higher Gauge wires to lower resistance, or using the incorrect fuses to allow more power to flow in, are unstable practices that may back fire at unpredictable times, FIRST knows whats it is doing and has its guide lines reflecting functionality and safety all in one. If your going to be showing Rookies how to setup electronics you must make sure they learn it the FIRST way first, then they can think outside of the box all they like while following the rules.

as for other aspects that of victor that have nothing to do with anythign else on the board that u might wanna consider for your Solution

Brake/ Coast - lil Jumper on the Victor (If im wrong plz correct me, i know lil about the workings of this function)

I believe the Brake Function Causes the Victor to Draw Power to counter the Motors Movement and stall it. perhaps you may wanna try and see if switching the jumper changes anything, they are standard computer jumpers so if for some reason you have lost yours, any old computers mother board and some old ISA cards can povide you with the jumper.

Calibration - The lil Depression Switch you can only get to with a needle

You mentioned something about only going one direction?
The Victors Require Calibration to mesh up with the calibration on your joysticks. The OI has a range of -126 to 126 (from what i remember) for the joysticks, -126 being fastest backward speed and 126 being Fastest Forward Speed and ZERO (the Mid point Number) would be your neutral (Using the dashboard program from IFI can help u calibrate in a snap)
anyways your joy stick could be off center yet your victor thinks it is centered so this off set with provoke the victor to run oppsite direction of the offset, if the offset is incredibly bad your ranges could be Fastest Foward Speed 126 and your neautral -126 (-126 becoming your new Zero)… that means that since there nothing under -126 then you simply cant go backward because that would be out of range. that could explain your one direction problem. Ive had times when Victors All sudden Need to be Recalibrate for seemingly no reason. it could be a short causing the victor to reset to its original position which may Completely be off with your controls (Calibrate Both together!!!) For instructions on Recalibrating see the Victor Manual. it tends to be a two person operation. so get someone who will not move the controls while this occurs and move them when they Have to.

last Recommendations

-Get a Compressed Air Can and clean all your parts from metal and other debris.

-Check all your crimps and solders, any bad job on any of these can cause power loss and heavy resistance even if its just one crimp and even if its just one cable.

My Roll Of Pennys:ahh:


I’ll throw in one thing on brake and coast…

Basically, when you turn a motor with your hands (assuming no worm gears or other stuff gets in the way), you’re creating electricity. What the brake function does is create a short circuit for the motor. Thus when you turn the motor, the electricity it generates is used to counter your rotation.

If you want a really simple example, get a Lego motor and some wire. If you put the wire on right, that axle should hold like the Lake Murray Dam.

(memo to self: don’t use terms that only (counts…1293, 1336, 1398, that rookie team…) four teams will understand.)

Basically, when you turn a motor with your hands (assuming no worm gears or other stuff gets in the way), you’re creating electricity. What the brake function does is create a short circuit for the motor. Thus when you turn the motor, the electricity it generates is used to counter your rotation.

In popular science they write about a conducting plastic, and they talk about using it in this manner for car brakes. (They called them “PlastiBrakes”)
Just in case you want to read a further description of this phenomenon.

use a new “old” lego motor. the “new” motors are geared down. and old “old” one like mine… like 10yrs old loses its efficiency so it wont work too well
[edit]nvm. it doesnt matter if its geared or not. just dont backdrive it enuf to damage it.[/edit]

Nice job on the explanation but let me add a few things.
On the wire guage, FIRST rules set wire minimum size. You can go to larger wire but at the sacrifice of weight. As long as the proper fuses and breakers are in place, there is no likelihood of fire.
As to burning wires when they fall across the battery terminals, you have a great example of the dangerous condition that exists with a battery capable of more than 400 amps at full charge. Any metallic object that contact both terminals of the battery (or anything the battery is connected to) will cause 400 amps of current to flow. This could be a ring, watch band or necklace where bodily harm is the result. Fire is also a very good possibility and we don’t want fires anywhere FIRST robots or people live. Depending on the device causing the short, (a wrench for example) the metal can weld itself to the battery permanently, and the result could be an explosion. Therefore, (I will say this over and over) all battery terminals must be wrapped in tape or other insulating material AT ALL TIMES! There is no exception to this rule, ever. Secondly, all terminals that are connected to the battery must be insulated as well. i.e. main breaker, breaker panels, all connectors.
On the subject of coast vs. brake. The speed controller is capable of supplying a short across the motor, simply by turning on two sets of FETs. This produces braking in the motor through a condition known as “back EMF”. It is not a firm brake but does a nice job slowing the robot down to help it become a more stable platform. This method is much more preferable than leaving the braking pins in on the Bosch transmissions.

Final word, insulate all terminal connected to battery at all times, no exceptions. This includes chargers.
Live safe, work safe always wear safety glasses.

BTW, if anyone has an question that they feel is embarassing to ask in public, please PM me. I want you to get the right answer no matter what.


Actually, the PWM output is:
0 = Full Reverse
1-126 = variable reverse (1 is fastest)
127 = no movement
128-253 = variable forward (253 is fastest)
254 = Full Forward
255 = Do not use

Secondly (and please understand that there are many ways to skin a cat), I’ve been electrical mentor on 177 since 1995 and, since the IFI controls came out, I have never had to calibrate a Victor. We check the trim on the joystick trimpots before every match and, if necessary, retrim to “zero” (PWM = 127 when your hands are off the joystick). After trimming, we use electrical tape to “clamp” the trim and keep the operators from accidentally hitting the trim wheel during a match.

Works like a charm…


Mike - It was always my understanding (please correct me if I’m wrong) that the calibration was to allow for variations in the actual range of the joystick. If the upper value of the internal pot is 90 ohms (10% tolerance on 100k…may differ in practice), the highest value that your speed controller would ever see would be 228. That puts a clamp on the fastest you can ever drive that speed controller, and in return, motor if you were to not calibrate.

What the calibration does, as I understand it, is scale the way the inputs are converted to outputs. In the above example, after calibration, a value of 228 as an input will cause the speed controller to drive full forward, and a value of 114 would be the neutral value.

Can somebody either confirm this or smack me upside the head? :slight_smile:

Thanks on the PWM values, I knew there was something I was forgetting!
We calibrate speed controllers regularly. We never trust that they are delivered in the mode we need or that they will stay where they are told. As a matter of fact, our software team has written specific calibrate functions which we use to insure that everything on the robot is correct before going onto the playing field.
Dave, take a smack up side the head out of petty cash. Now seriously, I was under the same impression, the calibrate procedure stores both max and min values in addition to the rest position and scales the input accordingly. That makes the joystick match absolute values. Full up is 255 whether from the joystick or auto software. Analog is so ambiguous, but I like it.

I was dubious when you guys started talking about the Victors calibrating the high and low ends. I thought it only re-centered the neutral point. (Yeah, I know that, with some reflection, that doesn’t make a lot of sense, but, … what can I say? :o ) Anyway, I found this in the Victor User Manual:

Calibration Instructions:
The Victor 883 is pre-calibrated to values compatible with the FIRST control system. No calibration is required for normal operation.
NOTE: While in calibration mode, the Victor 883 will record the maximum PWM value detected as ‘full forward’, the minimum PWM value as ‘full reverse’, and ‘neutral’ will be the PWM value recorded at the release
of the Cal button.
(And it then goes on to give directions for calibration.)

So my new flip-flop position is that you may indeed want to calibrate your Victors to match your joysticks. However my weasel words to the wise are that calibrating the Victors to untrimmed joysticks could have deleterious effects on your autonomous code!

Let’s say your joystick is badly out of trim, and you’ve calibrated your Victors to believe that 100 is full forward, 50 is neutral, and 0 is full reverse. You probably won’t have also calibrated your autonomous code to output those same values, so your robot will end up doing some very strange things during autonomous mode. (Unless, of course, you have a very sophisticated auto mode with sensor feedback which can compensate for the miscalibration.)

Our Team had horrible Nightmares with this calibration issues,our victor have never been right and have always needed to be calibrated,always been a hassle for the programmers and for the pilot, but the biggest problem was that we played for two years with this problem and we couldnt drive straight ever, our pilots and programers did there best to compensate. glorious was the day i came and stuck a paper clip in a victor during competetions and all sudden everything was YES ALWAYS CALIBRATE!!! and do it before u start programming.tho i figure most programs are written to the ideal numbers that are supposed to be used.

Does Anyone know how to reset IFI parts such as Victors to Just out of Factory Conditions?

It’s in the victor manual.

Like I said above, more than one way to skin a cat…

I agree completely with Mr Gross. The Bobcats have never calibrated a Victor in all these years. We depend on the fact that 0 will give you -12V to the motor, 127 will give you 0V and 254 will give you +12v.

What some of you are addressing is joystick calibration which we address as a software issue or not as all… Even if you were to get perfect calibration of the joysticks, you have the motor issues to deal with (they are faster in one direction than in the other).

We have found that the drivers, if given sufficient practice time, can do wonders with complex and non-linear systems.

Last note: With default settings on the Victors, they can be swapped with impunity. With proper trim on the Joysticks, they can be swapped with just as much confidence. It makes troubleshooting much much easier and safer…


From Innovation First Victor 883, 884 Users Manual:

Resetting Calibration to FIRST Pre-calibration:

  1. Power OFF the speed controller.
  2. Press and hold the Cal button.
  3. While continuing to hold the Cal button, Power ON the speed controller.
  4. A flashing GREEN indicator denotes calibration is reset. Release the Cal button.

thats great, but my thoughts were on figuring out why id had to recalibrate victors all sudden (calibration of joysticks have been ruled out)

Apparently, you are now referring back to your earlier post:

…I’ve had times when Victors all of a sudden need to be recalibrated for seemingly no reason.

That certainly wasn’t apparent from the question I was trying to answer:

Does anyone know how to reset IFI parts such as Victors to just out of factory conditions?

At any rate, I know of no reason why a Victor would reset itself. It seems unlikely that the procedure I cited from the Users Manual could have been executed inadvertently. Has anyone else witnessed a Victor inexplicably losing its calibration?

Yes, I have. It’s a pretty subtle thing, and I suspect that it was more of a slow process. To describe the situation- at the start of the season, all the victors were calibrated with out a problem. Perhaps halfway through the season, I noticed that the bot was veering more to the one side then it had previously. Assuming that it was one of the motors/drive train deteriorating, I didn’t mention it to the pit crew who had enough on their hands. I was able to deal with it on the field well enough, so I let it go. After a few match’s, it worsened to the point that it was bad enough that I felt it was hurting our performance. So on a whim, I had the victors recalibrated while I waited for the pitcrew to finish work on something else. With out changing anything else, the problem disappeared.

So, it may have been the victor loosing calibration or just as likely, the joystick ‘drifting’ (it was not the trim). Perhaps a good jolt can cause the pots to ‘slip’?

Regardless, there is no harm in calibrating, assuming you do it correctly, and no good reason not to. There is a significant difference between joysticks, and I see no reason why that should have to be compensated in programming or by the driver when the victor can be matched to each stick.

-Andy A.

I can immediately think of three reasons not to.

  1. It’s easier to replace a Victor if you don’t have to recalibrate afterwards.
  2. Sometimes the joystick value isn’t directly coupled to the motor output (i.e., one-stick control, or a holonomic drivebase).
  3. Autonomous control is seriously impaired if the Victors aren’t consistent.

The only compelling reason I see for calibrating a Victor to a specific joystick is if your program is simply copying the input value to the output. For a basic robot under complete manual control, that is perfectly appropriate. As soon as the program gets at all fancy, however, it becomes important to separate the input calibrations from the output calibrations.

Recaliberting only takes 20 seconds, it seems easy enough to me, or am I forgetting something that makes it more complicated? It’s one more thing to remember, but even forgetting wouldn’t be catastophic. Or would it? I should preface this by saying that I’ve never really used a bot that had a great deal of autonoums programming going on, so I’m finding my self very much in the dark on an issue I thought I understood.

How is calibrating with a one joystick controller any diffrent then with a 2 stick system? It still seems to yields the same benifits, or am I missing something, again? I understand the point that sometimes the joystick and motor output arn’t coupled and there is no benifit to calibrateing the victors then. But I thought that even in a one stick drive, the two still were coupled even though it was fed through software.

Well. You are right. I hadn’t really considered that it would impair autonomous control that much, since I had just assumed that the program would be reading some sort of sensor feedback and make up the speed outputs on the fly. In that situation, it wouldn’t matter what the victor calibration is, correct? Different calibrations are only an issue if the victors are being fed the numbers right from the controllers memory, correct?

Is there anyway that you could calibrate a victor, and have the program ‘listen’ in so that it could too could be calibrated and remember how the victor is scaling the input, and then use that its (the program) self? Would knowing exactly how much the victor is scaling the numbers help autonomous programming at all? I don’t think I’m making my self very clear with this, but does anyone get it?

So, I spoke to soon. There are reasons not to calibrate. Don’t I feel sheepish?

-Andy A.

I dont fully Comprehend why victor calibration would damage a working dead reckoning program. as in a previous post about saving the day with a paper clip. our programmers were having huge trouble just going foward straight, so they put in number that after trail in error comphensated for the issue. then i told them to stand back and give me 5 minutes (its amazing how hard it is to get a simple minute or two to fix a problem like this from an active pit team) and i calibrated, then i told them it should be fixed and discarded all the values for comphensation and went with the default numbers for neutral and full speed and half speed, as they were needed

The original program used these standard values for neutral and full speed but then they didnt work because of the calibration offset that i shoulda detected and fixed earlier in the season. so i suppose when a team isnt using sensor to drive in auton it would use a series of standard numbers for neutral and any other speeed it desired. if the victors are calibrated to begin with at the start of the season and someone actively takes care of that issue threw out the season ( maybe the pilots) then u can have your cake and eat it tooo, calibrated victors and a working auton.


Yeah, I get it, and it’s an interesting idea. Yes, you should be able to “listen in” as you calibrate the Victors, and yes you could use the calibration in your autonomous program.

When you have finished the calibration, you would want to save the max, min and neutral values to EEPROM so you don’t have to recalibrate every time you power on your robot. (Or you might want to be be paranoid and force yourself to calibrate every time. :stuck_out_tongue: )