Hi all,
I'm building a small rov (3motors). to control it im planing to use arduino board to connect joystick with pots (only for movement left right forward and reverse) , and one sliding pot for up n down. Now, problem is im not that good in C. Please help me with the code or if u know when can i get samples
Cheers.
have you looked in the playground?
http://www.arduino.cc/playground/
Now, problem is im not that good in C.
But I take it that you do have mechanical engineering experience? Because if you don't, you are about to get a good education.
One of the most difficult things to do in building an ROV is keeping the electronics (and depending on the design, the motors) dry at depth. This is mainly because of the electrical connections (at least, until you start going beyond about 20 feet or so in depth) leading in and out of the various pressure vessels. They make connectors for such usage, but they tend to be very pricey (and overkill for most hobbyist ROV designs). So, you have to design your own.
Good luck with your design, but the coding end is only the beginning of your education, so to speak!
If the ROV (remotely operated vehicle) is not for use in water, the described sealing issues are not much of an issue.
If the ROV (remotely operated vehicle) is not for use in water, the described sealing issues are not much of an issue.
zoomkat, here is the interesting thing, something that both you and possibly MichalPL, may or may not be aware of:
The term "ROV" is generally only applied to underwater, remotely operated vehicles.
The term "UAV" is applied only to remotely operated aircraft, eg "Unmanned Aerial (or Air) Vehicle".
The term "UGV" is applied only to remotely operated ground vehicles, eg "Unmanned Ground Vehicle".
In all of these cases, what typically separates them from a simple remote controlled vehicle (of any type or operating medium) is the addition of feedback (in the form of telemetry), in addition to the remote control aspect; sometimes the feedback may only be video, but in most cases it also consists of data about the operating environment, status of on-board systems, and other information like heading and speed.
These terms are well established in the industry; one would think that the term "ROV" could mean to refer to just about any "remote operated vehicle", but in the commercial sector (and military sector, I believe), the term is used specifically for remote underwater vehicles only. If another operating environment is intended, one of the other terms is utilized, or an explicit modifier term or phrase is used in addition to the term "ROV" (sometimes, you even see "Underwater ROV" - talk about confusing!).
Historically, such vehicles have also been termed as "telechirs" (the roots of which are greek, I believe; teleos, and chiro - I think - meaning something like "remote hand"), as well as "mobot" (which was actually a Hughes Aircraft trade name in the 1950s and 60s for remote manipulators used for remote manipulation of radioactive and other hazardous materials and/or environments).
Don't forget waldo.
Don't forget waldo.
No, I suppose I shouldn't.
Terms like "waldo", "telechir", and "mobot" hold a special place in my heart; from a time period when science and technology was seen as potential savior of mankind from the ills of existence, when anything and everything seemed possible, and when the greats of hard science fiction writing were in their prime.
I wasn't alive then, but the period was certainly a facinating one in history...
zoomkat, here is the interesting thing, something that both you and possibly MichalPL, may or may not be aware of:
The term "ROV" is generally only applied to underwater, remotely operated vehicles.
Technical assumptions based what is "generally" thought is what makes airplanes and such fall out of the air.
zoomkat:, what I have found is that in the commercial and industrial sectors, the term "ROV" is universally used only to describe underwater remote operated vehicles. This seems to be a quirk of historical usage more than anything else.
The only time it is used otherwise, is typically in marketing literature, or by those who don't know the proper terms. I found this out in my own research, because I had originally termed the UGV I am building an "ROV", and I referred to such devices in that manner. As I was researching things using google, to see what others had done (using the terms ROV and "remote operated vehicle") I kept coming across underwater vehicles probably close to 99 percent of the time.
I continued to perform my research, and eventually found the definition "UGV" to describe my vehicle; searching on that yielded a ton more articles and information on ground-based remote operated machines. Further research at local libraries confirmed this difference in terminology.
Technically, I agree that it isn't right; in fact, I think there actually is a better term for underwater remote operated vehicles, but no one in the industry seems to use it to any great extent (from my research, it was in more common usage in the 1960s and 70s, then tapered off in usage to almost nothing afterward).
We are stuck with the terms as they are used, unfortunately...
This would be easily done with analogWrite... If you get this going keep updates! Cr0sh is right bout sealed components. Maybe googling some rovs would get you an idea. I'd say have the motor shaft tightly sealed with some kind of rubber or silicone to prevent water entering. One problem is though when you go deeper the pressure increases.
What if your UGV drives through a puddle, or there's a sudden rainstorm? Seals FTW!
I think it needs street legal lighting so it doesn't get run over by a Greyhound bus. With that being said, none of the mechanical side chat has anything to do with the origional request below.
Now, problem is im not that good in C. Please help me with the code or if u know when can i get samples
I'm building a small rov (3motors). to control it im planing to use arduino board to connect joystick with pots (only for movement left right forward and reverse) , and one sliding pot for up n down. Now, problem is im not that good in C. Please help me with the code or if u know when can i get samples
If I were going to build such an ROV (I am still assuming an underwater craft here; you haven't said otherwise) , I would actually use two Arduinos; the one on the ROV for decoding commands, and another on the surface sending the commands via the tether.
Based on your description, you are looking at building a tether for at least 3 potentiometers, and power. That will need a minimum of five wires in the tether. As you add peripherals (lights, video, etc) you are likely going to need more wires in your tether. The more wires, the heavier the tether, needing more powerful motors, etc.
Nip that idea in the bud immediately; go with a simple tether consisting of as few lines as possible. The easiest would be to use Cat5e with stranded core wires (not solid core); if you can find it with a silicone outer jacket, that would be even better (though more pricey). If you are working in a swimming pool environment or the like, then a standard jacket will be OK; but you will still want stranded core wires, because of the flexing as you reel it in/out.
Cat5 makes a pretty good tether, from what I can gather; its lightweight, flexible, fairly waterproof (provided the end points are sealed), and is designed for remote, long range electronic communications. The difficult part is reeling it in/out - I remember finding one guy's solution was to build a reel for his tether, and the reel had sliding contacts of brass loops and springs, so that he could reel in/out the tether as needed, but that communications wouldn't be interrupted, plus there wouldn't be tangling (as involved with just a manual coil of cat5).
With such a tether, you have 8 wires; you could continue with your plan of using those wire connected to potentiometers, switches, etc - but what would be better would be to wire two Arduinos together in a serial communications system, so that one (the topside controller) interprets the joystick/potentiometers values, then sends those down to the controller in the ROV, which uses those commands to activate the thrusters as needed (and/or switch lights on/off, command a gripper arm, send back telemetry data on heading/attitude/water temperature/etc).
Such a system would only need two wires of the eight available for transmit and receive; You would want to either have an on-board battery on the ROV for power, or send it down via two of the pairs on the tether (so, four wires - 2 for power, 2 for ground - because of likely current requirements, plus redundancy). If you send the power via the tether, that leaves two wires left; use those for an on-board video camera on the ROV (some of the telemetry info could also be sent up via video if you use one of those video overlay boards that exist out there).
If you need some ideas (and possibly some code direction), check out this guy's site:
He uses an AVR platform, so some of the coding ideas may translate over to the Arduino. Other example code for what you would need (serial communications, PWM control of motors, reading potentiometers, etc) can all be found in the playground as well as in the examples that come with the Arduino IDE. The rest can be found on this forum.
Also note that there are a ton of sites out there geared toward people developing their own ROVs (and UAVs, but curiously, very few for developing UGVs - not sure why, though).