8
\$\begingroup\$

I wonder if anyone can help me

I am modifying an ROV and thinking of using Arduino Mega

I am new to electronics and robotics and wonder if the Arduino Mega can control 6 DC motors independently as well acquiring data from a few sensors over a tether of about 150 m. I know that some kind of multiplex is needed but I don't understand fully the theory

Thanks a lot . Appreciate the help

\$\endgroup\$
6
\$\begingroup\$

It's quite possible with the hardware. You've got a total of 54 accessible pins, of which 14 are PWM outputs for your motors, and 16 are analog-to-digital converter pins (if your sensors output a DC voltage), so you shouldn't have to worry about a hardware multiplexer. Additionally, many sensors use communication busses which minimize the number of additional pins needed for each device, like SPI or I2C. I don't predict that you'll have trouble running out of IO.

I predict that you'll have more trouble with 'multiplexing' your processor, not its inputs. When you're trying to switch between 6 motors and a few' sensors, you can get yourself pretty busy trying to keep it all running. I'm not familiar enough with the Arduino and its sketches to know if it's capable of doing this out of the box, and it also depends on how much processing you're doing (GPS? Floating point? Integrating position from an accelerometer?) but I'll say that your code likely needs to be a whole lot better than a naive polling loop.

Finally, what do you mean by "tether"? If it's just a source of power for the ROV, that's fairly simple, but more thought is required if you've got a 150m communication bus. I don't think the Arduino has a CAN bus or anything designed to do 150m communication. You can't just run a USB cable out to the Arduino at those distances, but you knew that...

\$\endgroup\$
  • \$\begingroup\$ Floating point on AVRs, lol. \$\endgroup\$ – Nick T Oct 21 '10 at 19:06
1
\$\begingroup\$

I´m not familiar with Arduino hardware, but if the information from reemrevnivek is correct, no problem at all in control 6 motor using the PWMs outputs. They will change the speed of your motors with no problem if it´s what you need.

Regarding sensors, depends on what kind and how many sensor you have and where they are connected to Arduino, but, shouldn´t be a problem, again, considering you don´t need a high speed update on these sensors.

Finally, you comunication range (150m) can be a problem, consider use RS485 to do this and some CRC or checksum on the comunication.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy