underwater vehicle school project need guidance please

Hi arduino community,

I'm very new to electronics and electrical. I'm having a final year school project on autonomous underwater vehicle (AUV). i've done a little research and have seen similar post. but the details were scattered everywhere. Hereby requesting for assistance to any form of links to specific details i needed if any kind souls here are willing to help, greatly appreciated. This is a very small scale project compared to any commercial vehicles out there. my project is to build and design a mini AUV at low cost/budget, able to maneuver itself in terms of sway and yaw, and also surge. it has to go from point A to point B and back to point A. Im just screwed to a point i have no idea what components i need. ive purchased an arduino uno, and a wireless shield to communicate wireless to my laptop.

components needed: 3 servos ( 1 to control the top fin, other 2 to control the left and right fins) connected to the board? 1 gyroscope - (connect to? ) 1 gps - connected to uno board? 1 motor shield - connected to uno board? 1 motor with shaft connected to the propeller - input connected to output of the motor shield? Ballast system - unsure of the system. thought of using mini pump for suction and ballast out the water.

please correct me if im wrong? and also, can the uno board handle so many components? and i really appreciate if there's anything to be added as im rushed to purchase all the components and start figuring out the software. i have until april to complete this project. Please, wishing for some guidance! thank you in advance!

this is the basic layout. dont mind my poor drawing.

Does wireless work underwater?

Hi JimboZA, yes the wireless has to work underwater. to a depth of max 2-5m. the underwater has to have capabilities to control its depth (pitch/heaving) with the side fins, and the yaw with the top fins, surge by the motor at the back.

adamiv: yes the wireless has to work underwater.

I know it has to, my question is, does it?

sorry for that, i've read through forums, apparently it does, however, there are some restrictions to it as the user has to be in a close distance. i've not tested it. so i have no concrete proof.

Well I suppose there’s only one way to find out for sure…

My advice would be, since you have the wireless shield which I’ve never used and so can’t offer specific help, is to get that working first. To do that, firstly put it back in the box. Then work through the simple examples in the IDE (File > Examples) which are also here. You may need to get a few LEDs and resistors, and a breadboard but get an understanding of the programming language and the simple electronics. You could even get a cheap motor and a few transistors and diodes and get a motor working with no motor shield. (Have a look here for instance. )

Then unbox the wireless module and you’ll very likely find some code ready made to get it hooked up, on its maker’s website. Then get it working, and stick the whole thing in a Tupperware and chuck it in the bath…

You may not be able to use a motor shield on top of the wireless shield. No biggy, Pololu have loads of very small and easy to use motor drivers like this, check volts and amps.

Servos are easy, no shield required, just a vacant i/o pin per each.

Thanks for the valued info. So since i've put a wireless shield on the arduino board i cant mount another board of any kind? which means, its either i get the wireless shield off or get another uno board? how can i tell the motor when to speed up and when to reduce its speed, when i want the speed to remain at a constant of lets say 1 knot? because in water they're resistance that might restrict its speed. if its too much for me to handle, a motor shield can just set what speed i want the motor to be at and turn on or off?

So since i've put a wireless shield on the arduino board i cant mount another board of any kind?

I didn't say that, I said you may not be able to. It depends on what sticks up above the headers, and also which pins each sheield actually uses... some shields will compete for limited pins.

You can do exactly what a motor shield does, with one those driver boards like I linked to: shields are just convenient, but sometimes incompatible with each other.

i shall upload my progress soon. thanks for the info!

Your project may be much more difficult than you expect (did you chose this as a project, or was it assigned?). In addition to the RF working under water, do you expect GPS to also work under water? Below are some previous discussions concerning underwater vehicles that may be worth reading. Bottom are discussions concerning the ardupilot which also may be of interest.



JimboZA: Then unbox the wireless module and you'll very likely find some code ready made to get it hooked up, on its maker's website. Then get it working, and stick the whole thing in a Tupperware and chuck it in the bath....

WITH THE LID ON and some weights on top to stop it floating! :)

adamiv: i have until april to complete this project.

Well that's probably just barely enough time if you spend many hours per day on this.

You need to break this down into bite-size pieces.

Figure out how to get one servo working by itself.

Figure out how to do motor control by itself.

Figure out how to read gyro signals by itself (and by the way, a gyro by itself isn't terribly useful -- you need an accelerometer for accurate AHRS [Attitude/Heading Reference System]. A magnetometer would be helpful as well). Making an AHRS is a pretty complex task that involves a lot of math -- you're probably going to be leveraging someone else's code (such as ArduPilot) here due to the complexity.

Figure out how to get Wifi working by itself (what are you doing with Wifi? Control, telemetry, both, what?). By the way, since Wifi operates at 2.4Ghz, the natural frequency of water molecules, I'm guessing the range will be very very poor underwater.

Figure out how to get GPS by itself. GPS is also in the GHz range, again, will probably have poor reception underwater.

Once you master each item, then you can start combining them into the final project.

An Uno can probably] handle all these things, but you may get a little short on pins and need to use I/O expanders or switch to an Arduino Mega.

Do you have to design and build the vessel as well, or is that given to you? I’m not sure if you mentioned that above.

If it’s given then that could dictate the space available for electronics. eg Uno vs Mega. Conversely, designing the electronics first might inform the vessel’s form once you know what needs to fit inside.

April’s 6 months away, sounds like a lifetime, but it will be March before you know it. If you’re in the Northern hemisphere, then I guess winter’s a good time to beaver away at this, and you’re wise to have started asking the questions now. (In contrast I’m wondering how long the automated vacuum cleaner guy has been working on his project which is due next week.)

Document everything you do, everything you try, everything you discard. That way if you get stuck in a cul-de-sac, you can get back to a known state and take a new track.

Word of encouragement… two teams from two local universities entered a CANSAT project here a year or two back. The teams designed and built payloads, but the rocket was built by a literal rocket scientist. The teams spent a sleepless month getting the payload designed and built and fitted into the rocket. The (professionally built) rocket took off, went up a few hundred metres, then it did a U-turn and powered into the ground before the payloads deployed and wrecked itself. Moral: even the pros get it wrong.

The guys that build the military-style sub models use frequencies in the low MHz range (the old 27MHz - 75MHz ranges) to get transmission underwater. Like tylernt said I don't think GPS will work at all.

For attitude control you want to look at MultiWii -- not Ardupilot. MultiWii attempts to be compatible with just about every type of IMU available and is designed for applications like gimbals and such so you're chances of finding a configuration applicable to a sub are much greater.

Example board compatible with MultiWii.

For attitude control you want to look at MultiWii

I'd just keep the heavy stuff in the bottom of the gizmo so so it would maintain a constant attitude.

Chagrin: The guys that build the military-style sub models use frequencies in the low MHz range (the old 27MHz - 75MHz ranges) to get transmission underwater.

Ah yes, even better. You can even send data using the "correct" PPM protocol, sending a short pulse for binary 1 and a long pulse for binary 0. Should get you 400bps or 50Bps.