Electronic – arduino – Can Arduino Mega handle 6 motors independently


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

Best Answer

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...