Week of 1/13/20-1/17/20: An adventure in Finicky Motors.

This week was a lot of trial and error. I’ve spent a lot of time trying to get the servo motor controller to work. I encountered two main issues:

In this, I am using this 16 channel servo driver from Arduino, the PCA9685.

At first, the board was not working, and I noticed that only about 1.5V would run from a power source through the board when I tried to control a servo. It turns out that I had made a small mistake in soldering, and two of the 64 pins I had done were shorted together.

I fixed it, but these were the offenders!

Did I need to solder all 64+ pins? No. Did I do so anyway? Yes.

Did I regret it? Maybe.

Here is the working circuit, not connected to any power .

  1. Microcontroller which sends PWM signals through I2C to the servo controller board. Connects to computer through micro USB for logic power.
  2. 16 Count PCA9685 Servo controller board. For normal servos, required 5 Volts of power to run. This thruster has its own separate power, so that is not necessary. We are using this because we will be controlling up to four motors on the final robot.
  3. This is a basic ESC (Electronic Speed Controller), which takes up to 6-16V through the red and black leads to power the thruster, and takes the PWM signal from the servo controller.
  4. Here is the T100 Blue Robotics underwater thruster. When I’m doing this testing, I can’t have it on for more than a few seconds, since water is what cools the motor. https://bluerobotics.com/store/thrusters/t100-t200-thrusters/t100-thruster/

So. With these components, I found that I was able to control a normal servo from the PCA9685, but not the larger thruster. It took a few days to discover that while the newer ESC that there was something wrong with the neutral 1500 Microsecond pulse I was sending to the device. It described needing a few seconds to calibrate and start the motor, but it actually required a much longer time.

Now that I have the motor working, I have begun on using an RPI to program an Arduino, which will be necessary for communication with a computer later along in the project.

Thank you for reading,

Commit to Git,

Renata Del Vecchio.

Leave a comment