Hello All,
Long time reader, first time poster. Thank you Secret Labs. Some very interesting projects posted here.
We are working on an autonomous boat project (www.projectpilotfish.com). This is my first project based on Netduino (have extensive experience with other embedded platforms and .NET in general) and I wanted to get some qualified feedback/critique/suggestions on the various elements chosen for the navigation package before committing to all the pieces. The central control will be delegated to a Netduino Plus 2 (first order arrived last week) but the rest of the periphery modules are still to be locked down. Here is the provisional list - does anything stand out as troublesome? Any potential incompatibilities? Caveats?:
- GPS receiver: Adafruit Ultimate v.3 breakout board on Netduino UART 2 (still unclear if built-in antenna will work at final installation - external antenna TBD);
- Compass / accelerometer: Sparkfun LSM 303 DLH breakout board on I2C bus;
- Satellite comm: Iridium 9602-I with NAL SYN7391-B antenna on Netduino UART 1 (aware of power requirements);
- Temperature sensor(s): TBD, assume 2 analog I/O lines;
- Ambient light level sensor(s): TBD, assume 2 analog I/O lines;
- Main propulsion: 4 x Banebots RS-390 / 12V / 2A;
- Main propulsion control: This is the big sticking point. Initial thought was to use something like 2 x Arduino Motor Shield R3, but have serious issues with the 2A / channel limit. The motors we've chosen have stall current in the double digits and (even though we are working on some creative drive-shaft coupling) I'm afraid we will fry the bridges on the board. Plus it will take 4 analog and 12 digital I/O pins to drive 4 channels (we do need 4 channels - the site has design details) which doesn't leave us with enough I/O for everything else. The next option is an 8 relay board (handles up to 30A, works fine for driving all 4 motors in both directions, no speed control) which still eats 8 digital I/O pins. Having PWM on the motors would be nice but is not a must. This has been tested and works, but is not optimal.
In search for an alternative, the closest candidate at this point is the SeeedStudio Grove connected through the I2C bus. Since I have zero experience with these modules I have a few question for all experts out there:
- Is there a built in cut-off / protection on the motor controller in case maximum current draw is exceeded? I cannot find definitive answer to this question (maybe not looking in the right places);
- Will two SeeedStudio modules work side-by-side on the I2C bus? Should I expect any address conflicts / other problems? What happens when we throw the Sparkfun compass in the mix?
- Is there a better (yet still affordable) solution to drive 4 motors of this size over I2C or RS-232?
Thank you in advance for any input / suggestions. Looking forward.
Chris