Great Navel Orange Race Jet Boat

Forum dedicated to electrical projects
User avatar
Josh Hess
Site Admin
Posts: 125
Joined: Sun May 24, 2015 6:00 pm
Location: Orlando, FL
Areas of Knowledge: Electronics, Product Design, Manufacturing
School/University: UCF

Great Navel Orange Race Jet Boat

Postby Josh Hess » Thu Apr 07, 2016 9:22 pm

The Great Navel Orange Race (GNOR) is an annual competition held at UCF every year for the second intro to engineering course. The project involves students building a boat, submarine, or other watercraft that autonomously carries an orange around the reflection pond. The TI Innovation lab that I work in is providing students with TI microcontroller boards (MSP430f5529) and sensors for use in their watercrafts. These components empower students to control servos, provide signals for high power relays and ESCs, measure angle change relative to starting angle, look at accelerometer data, and more. I decided to build my own boat for the competition to test these components, to provide an example to future students, and also of course, for fun and the educational value.

I designed, built and tested a wooden boat hull and a 28mm water jet drive. You can see the details on these assemblies and download the templates/files in the following topics:

22" Deep V Mono Hull: https://www.radicalcreation.com/forums/ ... ?f=11&t=13

3D Printed 28mm Boat Jet Drive Unit: https://www.radicalcreation.com/forums/ ... 3&p=49#p49

The Innovation Lab has also provided a github repository with all the code needed to get started. I have typed up a readme file providing step by step instructions to help students get started. This can be found here:

GitHub Repo: https://github.com/UCFInnovationLab/GNOR

In this topic, I will be posting updates as I develop and refine both the electrical system and the controlling code.
Science may set limits to knowledge, but should not set limits to imagination.

User avatar
Josh Hess
Site Admin
Posts: 125
Joined: Sun May 24, 2015 6:00 pm
Location: Orlando, FL
Areas of Knowledge: Electronics, Product Design, Manufacturing
School/University: UCF

Re: Great Navel Orange Race Jet Boat

Postby Josh Hess » Fri Apr 08, 2016 1:04 am

So the first thing I did was interface the TI microcontoller with the battery packs I had. The packs ran at 7.2v each and I had them in series. The ti board requires a regulated 5v supply so I put a 5v regulator on a perforated board along with some pins to interface with the bottom of the board. I tied into one of the batteries to get 7.2v for the regulator. Once that was done, I configured everything in the hull for testing like so:
image.jpeg
image.jpeg


Once the hardware was done, the next thing to do was some programming. I downloaded the repo on code composer (TI's editing software) and added the following to the main loop to add an auto correcting function.

Code: Select all

   
int target = 0;
int error;
double P = .50;
int servo;
int turn_delay = 10;
   
   heading_rate = heading - old_heading;
   old_heading = heading;
/*   
   if (timestamp < (turn_delay * 1000))
       target = 0;
   if ((timestamp > (turn_delay * 1000)) && (timestamp < (turn_delay * 2000)))
       target = 270;
   if ((timestamp > (turn_delay * 2000)))
       target = 180;
*/
   error = calculateDifferenceBetweenAngles(heading, target);
   servo = (P*error);
   if (servo < -29) servo = -29;
   if (servo > 29) servo = 29;
   servo1_move_to_angle(servo + 85);
   

This code allowed the boat to maintain a given target heading. The commented section gave the ability to change headings after a given time for turning. The if statements at the bottom set upper and lower limits to the servo range. Here are some videos of the above code running on my boat:

youtu.be/j6oEp0A-KkU


youtu.be/u91pEa-ds74

Next I will be interfacing a RC receiver with the microcontroller for more advanced testing and will also wire up the relay to a PWM pin.
Science may set limits to knowledge, but should not set limits to imagination.


Return to “Electrical”

Who is online

Users browsing this forum: No registered users and 1 guest