Problems with Thrusters and Servos

My team and I are currently working on an ROV. We’ve had mostly success so far, but we have a problem with our servo and thruster interaction.

When our ROV’s total amperage rises above ~7-8 amps, we lose control of our servos. Once the levels return to below that, everything works as intended. The main cause of the amp draw is our thrusters.

Both the thrusters and servos are being controlled on separate Arduino Uno boards, which are powered by a voltage regulator at 7V. Our connections travel through a relatively short distance of 50 feet. The motors are receiving 12V from a distribution block onboard, and our two servos receive power from a voltage regulator set to 5V.

We’ve tested with our servo data wires on a different tether, but there was no difference. We were wondering the best way to approach the situation, and if we could find out where the problem is occurring. A few things we thought of are:

  • Raise voltage to servo
  • Raise voltage to Arduino
  • Use capacitors for servo
  • Put an Arduino onboard and use a serial connection

Since we still have full control of the motors when the amperage raises, and the Arduino Uno boards are powered by the same regulator, I don’t think that’s the problem. However, I could be wrong.

I’m not very experienced in Arduino, and I haven’t ever tried communication between boards. However, our team is open to any solution(s) that would fix this problem. If there is any more information needed, I would be happy to provide it.

Thanks in advance,

You mention that you loose control of the servos, can you describe this in more detail, what are the servos doing?

How are you controlling the ESCs for the thrusters? Are they connected to the same Arduino running the servos?


The servos and the ESCs are controlled on different Arduinos.

We have two servos in use. We modified one to be able to rotate continuously, and when the amperage goes too high, it continuously spins in one direction, sometimes changing direction when the amperage fluctuates.

The other servo, which is “normal” and controls a gripper (Gripper Kit A SparkFun), simply opens and closes randomly, sometimes pausing before continuing.

Once the amperage returns to below ~7, we regain control with our potentiometers.

However, if the amperage goes even higher, around 17 amps, we need to restart the Arduinos with a switch to get the system to work again. These high amperage levels cause us to lose control of the thrusters too, so I assume it’s an Arduino problem.

This sounds like when you draw current, the voltage sags on the Arduino, which can slow down the clock and mess up the timings for the PWM signals. Do you have an oscilloscope?

We don’t have an oscilloscope, but we’d definitely be willing to get one if it would give more insight into the problem.

The part that I’m most concerned and unsure about is the loss of control for the servos at around 7-8 amps, not the full loss of control at ~17 amps. Our ROV is fairly small, and we’ve found that our speed is still fine if we can simply reduce the max throttle so we never go over 15 or 16 amps. However, 7 amps for all of our thrusters is too slow.

Can you measure the voltage at the Arduino and the servos when under load?

I think measuring at the Arduino would be fine, as they are in our control box, but how would we go about measuring the servos? Would just submerging the thrusters with our WTC above the water to test work?

That sounds like it would work if you can manage it. I think the voltage at the arduino is the more important measurement of the two, though.

Here is our SID.

We did some tests, and the voltage at the Arduino remains consistently at 7. We think that it could be a servo power problem, as both of our Arduino boards are powered by the same regulator. If there’s a problem there, neither thrusters nor servos should work. However at over ~7 amps, our thrusters are fine while our servos are not.

EDIT: Fuse calculations for thrusters on the SID aren’t correct.