Noise on the servo signal line

HI,
Scott here from Salem, Oregon. I am really stuck. Every time I run the motors the servos go crazy. I have tried to eliminate this noise with .1uf caps, 3 per motor as explained on the motor noise pololu tutorial. I have also tried putting a 47 and 470 cap across pos and neg at the power source with no luck, and one between the servo signal ttl signal line and ground (this broke my servo’s electronics for some reason). The only way to reduce this problem is use a separate power supply for the servos with common grounds. This does not eliminate the problem, but the servo is then usable with a little shake. I started using the maestro motor controller and disconnected it and am using the servo library in the arduino for the time being until I can get the noise out. I twisted the wires where possible and shortened them.

When I disconnect the servo ttl signal line, and run the motors, the servo does not shake (and of course does not work). With the servo signal line connected, When I don’t run the motors, the servo works fine via xbee tranmitter and receiver. It’s when I run the motors that the servos are get drunk crazy and are unusable. Can you please help me? I researched the forums but can’t seem to fix it.

I have a 4 wheel drive robot I am building. Parts include:

  1. 4 Pololu brushed motors, 6 volt with 2 Pololu motor controllers.
  2. 1 Mini Maestro Servo controller
  3. Arduino Mega
  4. Transmitting xbee series 1 with 2 pots for tank drive control and one for pan/tilt servos control
  5. Receiving xbee with logic level converter connected to the arduino mega.
  6. When complete 2 servos for pan tilt (small camera on top) and
  7. Two more servos to lift a camera arms

Picture #1: the motors with the capacitors installed
Picture #2: The home made 6 volt battery pack installed
Picture #3: Top plate installed. Yellow/red twisted wires at top are servo power wires. The white in arduino pin #9 is the servo signal wire. Receiving xbee, LLC, motor controllers, Maestro controller
Here are 3 images.






Hello.

Could you tell me more about your homemade battery pack? Could you post a diagram or schematic of your entire setup? It is difficult to tell how things are connected from the pictures. Could you try simplifying your system to just one motor and servo and see if you get the same result?

- Jeremy

HI Jeremy,
The battery pack I made are 5 rechargable 2000mah c size batteries soldered together in series for 6 volts. I made two of these and soldered them together in series to give 12 volts total. Works great! I don’t have a schematic for the circuit yet. Good idea on trying one motor. I will give this a try, and also draw a schematic and take a picture. Thanks.

I have a question on the servo motor though. When it first powers up, it goes to center position at full speed (I am assuming it’s center position) . How do I stop this? I have two servos attached to two arms at initial position which is horizontal and when I power up it shoots straight up to center position when I just want the servos to be quiet until I tell them to move.

Thanks you,
Scott

To fix your problem I would recommend reading the documentation of the Servo library carefully to see if it mentions anything. If that does not help, you might try looking at the source code in the Servo library to see how it works. If the servo is moving like that on startup, then it must be getting a signal. Could you try creating a minimal example program that demonstrates the problem?

- Jeremy