Hello, I am a senior in mechanical engineering and a senior design project we have chosen to design a ROV with a camera mount which allows for the recording of a swimmers performance. First questions, when deciding on how to control the ROV (vertical and horizontal axis0), I am a bit confused on how to communicate the ESC to the microcontroller. My desire is to have the motors speed controllable my the operator via joysticks.
The ESC varies the power to the motors based on a signal pulse from the microcontroller. The length of the pulse dictates the power sent to the motor. In the case of the BlueRobotics ESCs, a 1100 microsecond pulse is full reverse, a 1500 microsecond pulse is stopped, and a 1900 microsecond pulse is full forward. The Servo library for Arduino has a writeMicroseconds(int microseconds) function that will allow you to send these signals to the esc from an Arduino. I would suggest looking through some RC forums about how to control an esc, what pwm is and how to control servos (controlled the same way as esc).
Thanks Jacob, will take the advice. digging through some RC blogs as we speak.
Here is a simple joystick program I use with my Arduino controlled ROV:
What I have found: I am able to control the analog output from a potentiometer, joystick, switch, etc. to change the PWM output to the ESC which in return controls the RPM of the motor. I will be seeking the approach of controlling the thrusters with a joystick or a potentiometer.
I’m attaching a block diagram of my wiring concept and would appreciate some commentary…
John (aka Tribuilder
Also attaching thruster config … to make mixing more quadcopter-like and to increase vertical lift power to 4 thrusters…
John (aka Tribuilder
I’m attaching the conceptual topside equipment diagram for my approach…
This approach can be used without the topside PC or laptop once the APM/PX4 parms have been tuned… the arming logic code may be a small issue…and to use Jacob’s software, there may be more? I would like depth holding and heading holding features…
That’s a clever use of the RS422 driver to send the PPM signal. I think that would work pretty well. The arming logic is an issue but could be resolved in the code pretty easily I think.
You can use the normal mode switch to activate depth hold.
I see that the 10$ spark fun RS485 breakout board gives direct pin access to the differential line driver and the differential line receiver and is cooperable at 5 vdc…
So I will try a pair of those to test the idea.