Camera \ EMF problems...

I have a very peculiar situation, involving the camera servo’s dancing when the Fisher-Price motor turns on.

We are using a Fisher-price motor for a ball launcher mechanism, mounted on a turret-style (pan only, no tilting mechanism) plate. The camera is also mounted on this plate.

With the servo’s set to center (to rule out programming as a potential source of the problem), and the camera unplugged, the servo’s go absolutely NUTS as soon as the Fisher-Price motor turns on. I mean disco dancing on steroids. The FP motor is connected to a Victor, as required, and is controlled via a PWM cable, as required.

However, when the FP motor is given direct voltage from a second battery… there is no such effect. Something in the electrical system is allowing voltage to creep and spike on some portion of the PWM cables, bet it the signal or +7.2V wire, I don’t know.

None of the other PWM-controlled devices seem to be effected. The power wires for the FP motor run near the camera… but I doubt that that has anything to do with it. The wires from the camera also run between the battery leads, between BOTH drive (CIM) motors (3 cm proximity) under a window motor (2 cm proximity), and is equally centered between the victor for the FP motor and the victor for the Van Door motor… and with ALL of the other motors on, this phenomena is not replicated. We are using 12ga (10ga?) wire for all motors.

Additionally, the camera’s terminal interface seems to work just fine, because Kevin’s code can lock onto targets for short periods of time with the FP motors on, until the servo’s craziness causes the camera to lose track of its target… until it’s reaquired.

Also, can anyone else pick up voltage between any parts of their chassis and the common ground? We’re getting between 0 and 3.2v readings. We physically removed the camera from the chassis to remove that as a reason for the servo weirdness, but it’s still something we don’t like. There is conductance between the casing of the FP motor and the plate that the entire firing mechanism rests on. Does the FP motor create a magnetic field so large that it would treat a 0.75cm rubber spacer more like a resistor than a block to conductance (the motor is not physically touching the chassis, but it conducts to the top, rotary plate. The top, rotary plate does not show conductance when tested against other parts of the chassis, pecularly). :ahh:

Can anyone explain this phenomena? All that we can think of is that the FP motor is either generating a HUGE EMF, or there is some kind of back-feed down the PWM signal cable attached to the Victor controller.

I can’t help you on your servo problems, but when you’re checking for a conducting path between your frame and electrical system, it’s probably better to use the “continuity” setting on your multimeter, or at least measure resistance instead of voltage difference. If your frame is isolated, as it should be, the potential difference between that and the electrical system could be almost anything (correct me if I’m wrong there) but the resistance should be effectively infinite (usually displays as a 1 in the leftmost column on the multimeter).

We also measured continuity, and measured 46 ohms resistance between the FP motor and the rotary chassis. We measured no continuity between the negative lead and the chassis.

If that’s the case, better start checking for touching wires… :confused:

Are you, by any chance, using PWMs 13-16?

If that’s the case, you just have to change them to some other output. A great rule of thumb is to never use those fast outputs because if you’re using other interrupts, they can interfere with the output, causing this kind of spastic operation you are seeing.

A better discussion can be found here

If that’s not your problem, I’d suggest removing power wires and stuff like that away from the camera.

God luck and let us know how it works out!

Nope, I’m not using those PWM’s for anything, actually. I assumed that might be an issue from the get-go, and decided against using them for anything.

We’re thinking the EMI is coming from the Victor controller itself, rather than the motor. We found out why the chassis conducts with the motor, is through the metal shaft, that goes through a metal bearing, to a metal mounting bracket, to a metal chassis.

Regardless, that doesn’t explain the spazz-ness of the camera :’(.

Zach,
What you are describing is likely caused by mounting screws that are too long for the FP motor. One of the screws may be touching the wiring inside the motor hence the 46 ohms you read to chassis. If you were to measure the resistance on an FP motor, you will likely find the same value. (turning the shaft will produce different resitance readings but one will be close.) You might have a solderless connector pushed onto the motor contacts that is “leaning” far enough to allow the connector to contact the frame of the motor. This is an illegal condition and is likely the source of interference with the other systems. The higher the main battery voltage, the worse it becomes is due to higher voltage available in the charged battery. ( i.e. more current into the frame) Remove the FP from it’s mount and/or remove the wiring to the motor and see if your resistance reading goes away.
al

Also, the servo spazzing could be caused by running the servo PWM near the FP power leads if you run them together for any significant distance, you could have a problem. You wouldn’t notice anything running the motor off another battery because it’s getting a constant DC voltage. Unless the Victor is running at 100%, the voltage will be jumping between 0V and 12V. If your PWM is running alongside the power leads for long enough, it could be slightly coupled with the leads, and will pick up some of those 0V to 12V jumps. Especially because the FPs can draw large currents.

Try running a temporary PWM completely detached from your chassis and away from all other wiring and see if that fixes the problem.

  1. Our camera TILT servo motor always gets the jitters when we have the RC disabled (with the dongle).

  2. It almost always get the jitters while we are downloading code to the RC.

It has always behaved this way, even before it was mounted on the robot.

Anyone else seen this behavior?

I think that the problem is that the RC when disabled has an open circuit output with no loading. This leaves the servo to pick up crosstalk from any wiring around it and interpret that noise as a valid PWM command.

Our cam servos did this same thing. Our’s did it’s antics only when disabled and not when motors were running. We had the camera data and servo signals running in the same SHIELDED wire (no outside interference). The serial data is ±15V and the servo ports are open (high impedance) during disable. The ±15V was ‘jumping’ from the serial data to the open servo wire and the servo had no idea what it should do this this random data. Electrical engineers, please excuse my terminology!

We solved the problem by running separate individually shielded wires up to the camera. Problem solved.

You brought up a good point when you mentioned the resistance between your electrical system and the frame. On the inspection checklist it specifically mentions that the resistance should be greater than 100k ohms. This is a good guideline to be sure that you have no possible shorts across the frame.

<R55>
No exposed electrical conductors and no electrical contact with robot metal chassis. No chassis parts used to carry electrical currents. Using an ohmmeter, confirm that the resistance between the chassis and each battery terminal is “large” (greater than 100k Ohms).

Good luck in fixing this problem.
-Chris

We had a similar issue, not with the FP motors, but with the Mabuchi motor. We purchased a Banebots gearbox for a gear reduction and use this to pull balls from our lower vertical feed up to the shooter wheels. This put the Mabuchi motor in fairly close proximity (within two feet) of the camera servo. Every time the Mabuchi motor was energized the servo for the camera would go nuts. We took the following steps to narrow down the problem and I actually captured video of part of the debugging. I’m including it with this post.
The steps we took were:

  1. We initially saw the issue when we operated the camera servo normally and energized the Mabuchi motor with a speed controller.
  2. We took the motor leads from the Mabuchi motor and ran them to a completely different battery. As soon as I connected the motor leads to the battery the servo went nuts again. This is what I got video of.
  3. We checked for a low impedance (resistance) between the motor case and either of the motor leads and verified it was an open (greater then 10 Meg Ohms).
  4. We removed the Mabuchi motor entirely from the robot and operated it from an external 12V battery in the air near the camera servo. Again we saw problems with the servo.

This led us to believe that the problem is caused by electromagnetic interference (EMI). When the motor is operated the brushes internal to the motor cause a great deal of arcing, which is similar to a bunch of small lightning strikes. There isn’t a great deal of energy in these arc’s but it’s very high frequency and can capacitively and inductively couple onto other parts of the motor (like the case and back down the motor leads). Once the energy is outside the case it can radiate out very easily and interfere with the operation of neighboring sensitive electronics (like the feedback loop in servos).

The goal was to give the energy on the motor case and leads a path back to the source. A very effective way to do this is to attach small (< 1uF) ceramic or polyester capacitors from the motor case to the positive and negative leads of the motor. Aluminum electrolytic or tantalum capacitors should not be used because they have a fairly high series resistance and inductance and can be damaged if the motor voltage was reversed.

We connecting a 0.1uF 50V ceramic capacitor (available at any Radio Shack) from the positive motor lead to the case and a second capacitor from the negative motor lead to the case. The problem instantly went away and we’ve never seen it since.

From my interpretation of <R55> they are trying to protect against DC current through the frame like typically done in an automobile. This practice can be very damaging if it’s not handled properly. I believe connecting a small capacitor between the motor leads and the motor case (which may be connected to the frame) should not cause problems and shouldn’t be covered by this rule. Is this correct?

Servo_Mabuchi.zip (2.64 MB)


Servo_Mabuchi.zip (2.64 MB)

In fact, a team in the Galileo division (was it 177?) mentioned a similar issue, with respect to the Globe motors interfering with the camera (due to brush arcing, especially on worn-out motors with large spark gaps at the commutator). They pointed out that a capacitor would attenuate the problem, but they also noted (correctly) that they were not permitted to install one as per <R59> since the capacitor is a custom circuit, and can’t be connected in a way that “alter[s] the power pathways between…[the] speed controller/relay, and motor”. Also, as you noted, <R55> remains in force and provides for no exceptions. For this past season, it wouldn’t have been legal.

That team felt that it was an item worthy of FIRST’s consideration for next year, because the effect ought to be minimal. Note, however, that I believe that their proposed solution involved a non-polarized capacitor across the leads, instead of to the frame or case of the motor.

Caps on RC can motors is standard practice in the RC hobbies.

Schmitty,
Your video demonstrates the high impedance theory pretty well. The PWM cables act as nice little antennas and pick up the arcing of the brushes as you described. Many motors like the FP and Mabuchi have internal capacitors and/or series inductors to limit the EMI radiation. I have lobbied for teams to be able to add suppression and I will continue in the future. In most cases, when the RC is enabled, the output impedance of the RC is sufficient to reduce or eliminate the crosstalk. Although we didn’t spend much time analyzing, wrapping the PWM cable in a ferrite core may have eliminated much of the disturbance and wouldn’t have violated any of the robot electrical rules.

I am aware of one team adding capacitors across the PWM cables. I would never recommend this as the capacitance would almost certainly affect the rise time and pulse width making control less reliable and causing some unusual loading on the outputs of the RC.

Tristan,

The team was not 177. It was 173 (Rage) but I am familiar with their problem. You are correct that a non-polarized cap, installed across the motor terminals, eliminated the problem but was not legal this year.

BTW, Rage’s technical mentors are (IMHO) top notch and there was no wiring error that I could find.

Regards,

Mike

Yes, it was us. We consulted with the inspectors before adding the capacitors, and were told it was not legal.
We went through the competition without it, and the camera still worked.
I hope FIRST looks into this issue.