BS2 Submersible ROV
I have just completed my BS2 controlled Submersible ROV (remotely operated vehicle) project in time for the spring lake thaw here in Michigan. My goal is to survey the bottom of lakes and look at neat fish. Some pictures are attached.
Here are the statistics:
Length 24 inches
Diameter of main tube 4 ½”
Material PVC
Weight with ballast 20 lbs
Internal battery 12V 3000mah NiMh
Microcontroller BS2
Motor and light controls (3) Parallax H-25’s
CCTV miniature television camera (12V)
This ROV is tethered to the surface with a 6 conductor Ethernet cable and nylon support line. It will be placed over the side of my boat and allowed to sink (buoyancy is adjustable with steel plates attached to the bottom of the main tube). Initially the tethered line is only 50 feet long.. Using the surface control console I am able to adjust left and right motor speeds forward and reverse (400 size electric RC brushed motors geared 6:1 and 3” diameter propellers cut down from electric RC props). Keeping the ROV fairly close to the boat I will be able to move it forward, backward and rotate it side to side. The control console has a 7” LCD monitor receiving signals from the TV camera mounted at the front of the main tube and viewing through ¼” polycarbonate plate. I have two 50 watt Halogen lights mounted on the forward top of the tube. I can control the intensity of the lights with a rheostat mounted in the surface control console. The lights are homemade using outdoor garden bulbs housed in 2” PVC with a polycarbonate plate lens.
Electronic control is straight forward using the PBasic RCTime command for all control functions. Five wires in the tether cable are connected to ground, TV monitor, lighting , left motor and right motor rheostats. The microcontroller just reads the resistance readings of the rheostats, converts that to pulse width and sends a pulse to control the three H-25’s. Simple and full proof. There is no need to send any power through the tether cable (except the 1 volt P-P from the TV camera). The control console contains On/Off switches for the motors and the lights. With a switch Off the BS2 sees an open and generates a RCTime of 0. In the program, if a 0 RCTime is detected a 750 msec pulse is sent to the H-25, shutting it off. Cool, huh?
Here is the program:
' {$STAMP BS2}
' {$PBASIC 2.5}
' This program controls a submersible ROV using resistance values from a suface console
' and converting the resistance values to a pulsewidth out to H-25's, which then control
' motors and lights.
RCtime1 VAR Word
pw1 VAR Word
RCtime2 VAR Word
pw2 VAR Word
RCtime3 VAR Word
pw3 VAR Word
light PIN 13
motorR PIN 10
motorL PIN 7
'Initialize H-25's (Parallax code)
DO : LOOP UNTIL light = 1 ' Wait For HB-25 Power Up
LOW light ' Make I/O Pin Output/Low
PAUSE 5 ' Wait For HB-25 To Initialize
PULSOUT light, 750
DO : LOOP UNTIL motorL = 1 ' Wait For HB-25 Power Up
LOW motorL ' Make I/O Pin Output/Low
PAUSE 5 ' Wait For HB-25 To Initialize
PULSOUT motorL, 750
DO : LOOP UNTIL motorR = 1 ' Wait For HB-25 Power Up
LOW motorR ' Make I/O Pin Output/Low
PAUSE 5 ' Wait For HB-25 To Initialize
PULSOUT motorR, 750
'Control the ROV
DO
'left motor control
HIGH 8
PAUSE 1
RCTIME 8,1,RCtime1
IF RCtime1 = 0 THEN RCtime1 = 750 ' swith is OFF, shut off motor
PULSOUT 7, RCtime1 ' control H-25
'DEBUG HOME, DEC4 time1, CR
'right motor control
HIGH 11
PAUSE 1
RCTIME 11,1,RCtime2
IF RCtime2 = 0 THEN RCtime2 = 750 'Switch is OFF, shut off motor
PULSOUT 10, RCtime2
'DEBUG DEC4 RCtime2, CR
'lighting control
HIGH 14
PAUSE 1
RCTIME 14,1,RCtime3
IF RCtime3 = 0 THEN RCtime3 = 750 'shut off motor
RCtime3 = RCtime3 MIN 750 MAX 1000 'set rheostat range from off to full on.
PULSOUT 13, RCtime3
'DEBUG DEC4 RCtime3, CR
LOOP
Comments
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Current Projects:
Robot Control Via Skype API - Dev Stage(50% Complete) - Total(25%)
Robot Localization Via Xbee's - Research Stage
IR Tracking with Propeller - Research Stage
Is the tube, the complete framework? A lot of people prefer a cage like frame work that allows for my stability. One can attach plastic bottles to increase ballast or flotation. One can also attach cameras, hooks and other devices as required.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PLEASE CONSIDER the following:
Do you want a quickly operational black box solution or the knowledge included therein?······
Yes, the 4" PVC is the complete structure. The ballast weight hangs about 2 inches below the tube, so stability is pretty good. Remember, to date all of this is in the bathtub. I am sure I will be making many changes once my ROV actually goes to work in a lake environment. All our lakes are still frozen solid and will be for a few more weeks.
Richard
Nice project
(Sorry, someone had to do it 8)
You are correct and that is in the works. I speak Spin as well as PBasic. The way I develop projects is to get a basic model running and then start upgrading. This is inefficient but more fun .
Richard
http://www.societyofrobots.com/actuators_waterproof_servo.shtml
Enjoy
L Sutherland
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Understand a grain of rice through and through and you will understand the nature of the·universe."
·- Hsueh-feng, ·Blue Cliff Record
The fish will certainly be surprised! You may even find some sunken treasure.·Good luck with the next phase of testing and development. I'll hope for an early thaw.
·Great article Larry!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
Post Edited (Whit) : 2/29/2008 1:32:16 PM GMT
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Never give up when things go wrong, Just work them out.
robosapienv2-4mem8.page.tl/
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I have made several improvements since my last post. One is to replace the 50 Watt Halogen bulbs with an LED cluster under the camera lense and totally enclosed in the tube; thus reducing my power requirements by a factor of ten (but quite expensive!), and reducing drag also.
I have installed the Hitachi Compass module in the ROV which sends heading information back up the tether to an LCD readout on my control panel. This way I can tell which way the ROV is going. This is a huge addition.
Next project is a depth sensor which will also give me a readout on the same LCD. This is a little complex because it will require an A/D conversion prior to the BS2 input. I don't have much physical space left in the tube and the wiring is getting pretty hairy.
This is about it for my BS2 controller. All but a few pins are now in use and I don't have much RAM left.
I have also built a simple buoy system, which will allow the ROV to swim some distance from the boat. I am really excited about this project, but it has been a lot of work. Hope it pays off this summer.
Here is an update on my submersible ROV project. I have completed and tested (out of the water) the installation of a HM55B Compass Module from Parallax. The output from the module is sent, via the BS2 and the tether wire, to·an LCD (20 X 4) on the surface console. I will now be able to tell which direction the ROV is headed. This is a big step forward in gaining utility from my project. The next update will be to install a depth sensor. A pressure sensor is on order from Mouser.com now. The changing voltage output as pressure/depth changes will be sent to the BS2 via an ADC0831 converter. The depth information will be sent to the surface console to be displayed alongside the heading.
I have attached two pictures showing the compass module mounting. It is sealed with epoxy inside a small PVC pipe fitting. Would you believe our lakes are still frozen up? It is 7 March and the high today was 26!
Hope you enjoy following this project,
Richard
PS That is the LED light cluster below the video camera lense.
Is that the compass module on the exterior just below the LED light? Why outside rather than inside? Just wondering.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
Post Edited (Whit) : 3/9/2008 12:38:25 PM GMT
Yes, the compass module is located as far away from electrical wiring and metal as I can get it, in order to minimize affects from magnetic fields induced by electrical current.
Richard
PS: Depth sensing is via a FreeScale depth sensor (gives a 0-4.7V analog output proportional to pressure sensed) attached to a 0831 AD converter on the BS2 board.
Can't wait for the reports of the ROV in action.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
Post Edited (Whit) : 3/17/2008 3:13:18 PM GMT
Thanks for the interest in my project. I have been doing a lot of work on it over the past month. In-water tests with just the two horizontal drive motors to a depth of 4 feet went just fine. Since I had no depth changing ability other than lowering the tether down from the dock, I tied a buoy to the tether at a preset distance from the ROV and let it go. It worked fine,·I could control all horizontal motion out to the 50 foot length of my tether. However, under this situation the camera is useless because I had no way of increasing depth down to the bottom or tilting the nose of the ROV down. Just dangling straight down from the dock the camera/video was okay, but limited to just a few feet. What was nice was the ability to turn the ROV in place and/or back it up.
The control from the surface during these test was a change in resistance in the tether wires (rheostat in the surface control panel) connected to an RCTIME circuit on the Slave board in the ROV. That worked okay, but I had no way of adding vertical thrust motors and getting data back from the ROV to the surface without going to more conductors in the wire.
Sooo. I have made some big changes! I have added two vertical thrust motors (see the attached pictures), and RS422 comms between the ROV and the surface control panel. If you look in the Sandbox Forum you will see my post concerning the succesful RS422 comms. Now I can control all four motors, plus turn the video and lights on and off, plus get all the data I want back from the ROV(depth, trim angle, water temp, battery voltage, etc.) If you look at the attached pictures the control panel has the video monitor sitting on it. Switches and rheostats now control all four motor speeds and directions (my code is attached) in the next post. The ROV "guts" show the BS2 board and the four HB-25 motor controls. The batteries are now underneath the electronic tray, giving me more room.
No friends boats are on my lake yet and I have not purchased a means of recording the video, but that will come soon. Temperatures are cold this week, but next week it warms up and I can test my ROV from the dock. With my new setup I should be able to have the ROV swim out near the surface (buoyance set at neutral) and then I can submerge it to any depth desired using the vertical thrusters. If the ROV is moving ahead·and I want to increase depth I will just command the forward vertical thruster to thrust down and increase the down pitch angle. The horizontal thrusters will then push the ROV deeper. You get the picture I am sure. Another nice feature is being able to move the ROV up and down in depth while stationary horizontally. I should really be able to explore underwater objects with good control.·A still big problem Is being able to view the video monitor in daylight. I have cardboard hood that I place around it but it isn't very satisfactory. Any suggestions on monitors that work well in the daylight would be appreciated.
This project has been a lot of work but it is certainly rewarding. When I get my tax rebate check I will buy a video recorder and I can then feed you guys some underwater pictures. Thanks for the interest,
Richard
Might I suggest before going deep, you pressure test the vehicle, without the electronics inside. Lake Michigan at 300 feet to bottom will be about 150 PSI. Those silicon joints might blow out and flood the vehicle at those depths.
You should attach a grabber to the bottom of the vehicle so you can bring up all the bootie.
Good advice. As soon as a boat is available there is a 30 foot hole in our lake I will take it to and drop her down empty of electronics. All joints are flexible epoxy (West G epoxy), not silicon; so they should be okay. The tether is made up of both the electric cable (6 conductor, 28AWG) and a high strength nylon chord which is fastened to the body of the ROV so I can pull it up if it dies or gets stuck. I also am going to, at some point, put a water ballast system on the ROV which automatically blows out the water and the ROV rises to the surface if there is a loss of signal for a certain time between the surface and the ROV. By the way, the ROV weighs about 15 pounds when ballasted for neutral bouyancy.
Thanks for the interest,
Richard
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney
How did you get waterproof thrusters? Can you share your source?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
End dependance on foreign oil.· www.pickensplan.com
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
<.-.>Braden<.-.>
Thanks in advance, I wish we had found your project earlier!
A suggestion for a simplified ballast system:
Attach a ballast tank to the ROV and connect it via two thin runs of nylon tubing, attached to the umbilical cable, running back up to the controller. You could then use a small electric pump to pump water either in or out of the ballast tank and save on battery power at the ROV.
Have you considered removing the batteries from the ROV and providing power to it from the surface through the umbilical cable?
Russ.