Due to other, exciting distractions (which I will mention in a later post), I haven’t had a chance to keep the blog up to date. Still, work progresses on the boat, and that’s the important part. Last month, with the keel now in its new position about 30mm further back along the hull, and sealed into place, it was time to add the electronics board.
Posts Tagged “Otto”
A quick look at the almost-complete Sailboat Guidance System (SGS). The board on the left is Igor. Otto is on the right, and the main CPU (Mother) is hidden underneath. The ribbon cable brings all the I/O to and from the boards. The red insulating tape is to remind me of some of the last remaining wires which need to be connected. You can also just about make out the DC/DC converter which is just underneath the ribbon cable at the bottom of the picture.
The new ALIX board has arrived. It’s to the left of the picture, sitting on top of a copy of the infamous Lyon’s Notes (which is appropriate). Also, the initial Atmel board with USBtiny programmer cable, serial cable to same development system, and a couple of WRAP boards thrown in for good measure.
It’s running my custom version of NanoBSD quite nicely, and can see the GPS without any difficulty. The GPS unit is a BU-353 unit (the USB version) which is out of the shot. It’s attached to the window, and gazing at the man-made stars. To give a breakdown of what’s in that photograph, the ALIX is on the left. In the USB port is the GPS, the RS-232 cable at the top of the board is communicating with my development machine (running FreeBSD). The red CAT5 cable is connecting the board to the “house network.” The Atheros CM9 radio is a miniPCI card mounted on the underside of the board. It works on 5.8GHz and on 2.4GHz. In this case, I’m using 5.8GHz because (apparently) it has better cross-water characteristics and the band isn’t as crowded. The mini coax cable is at the top-left of the picture, connected to a short, 9dBi antenna. You can also see a 12v cable with barrel plug. At the top-right of the picture is a WRAP board, also developed by PC Engines. It was being used as a testbed for the operating system, but that is no longer needed thanks to the ALIX.
I’ve been asked recently, about the software platforms used on board Beoga Beag. This seems as good a time as any, to talk about the various layers. As mentioned previously, the lower layer is a custom board, running an ATmega8 Atmel processor. The software (Igor and Otto) is custom-written in C for the boat.
Looking at the system power design, the majority of the circuits will run off a +5 volt rail. Those elements which need a different voltage, such as the main processor board, will derive their own requirements from the main Vcc rail.
There will be at least two Vcc busses on board. Labeled, oddly enough, as Vcc1 and Vcc2. The difference between them is that Vcc1 is always on, at all times, and Vcc2 (through VccN) are selectable by Igor.
The main processor runs off Vcc2, but Igor (and Otto) both run off Vcc1. In situations where voltage levels are critical, Vcc2 will be switched off and the boat will continue on whatever course had previously been set, until either voltage levels are healthy, the specified “wake-up” time has elapsed, or there are critical issues which require Mother to get involved. A critical situation could be something like a dramatic wind shift, or an error such as a mis-reading from a sensor.
Even before a boat is built, the designers can predict how fast it will go at various sail angles. Using this information, they can make modifications to the hull to suit the type of sailing. For example, if an around-the-world race looks like it will see a lot of downwind sailing, it’s possible to optimise the downwind performance, and run test simulations with the boat, before ever committing to fibreglass.
The standard mechanism for displaying this information is a polar curve. Because the boat should sail at the same speed on either tack, only one side is shown. Essentially, a polar curve allows the designer (and the boat owner) to predict the hull speed for a particular true wind angle and strength. In the example above (courtesy of SailOnline.org), you’ll notice that the boats fastest speed is at a true wind angle of about 120 degrees. In the case of a 30 knot breeze (the red line), the boat should get over nine knots through the water. At TWA’s of twenty degrees and less, the boat will stop, regardless of the wind speed.
The Kalopa motor control board was designed as a general-purpose Atmel board with ancillary electronics for a wide variety of purposes. It includes two H-Bridge motor controllers, driven by two 16 bit PWM outputs. You can exchange one of the motor controllers for an 8-channel servo controller, also using one of the PWM outputs. It has a standard RS232 port with an RJ45 connector on the end. There is a MAX232 to convert logic levels to proper RS232 voltages. If you want to use radio control, you can instead populate the board with an R5-434 radio receiver. It will listen for data on 434MHz and feed it to the Atmel. The processor itself is the bog-standard Atmel ATmega8 with 8k of code and about 512 bytes of RAM.
The main computer on board Nostromo in the film Alien was called Mother. It seems only right that we should call our main processor by the same name.
In terms of the system architecture, we’re planning on using two separate computer control planes to manage and steer the boat from start to finish.
At the lowest level, a custom Atmel (ATmega8) board will act as a basic “autohelm”, driving the boat to a specific True Wind Angle or TWA. As the breeze shifts, so too will the boat, to maintain that TWA. This is a basic PID algorithm for controlling the rudder and mainsail in relation to the specified TWA and is very similar in design and implementation to your average sailboat autohelm. This is the control board, also known as Otto or Otto von Helm, to give him his full title. Otto will most likely be assisted by Igor, in charge of power management and the boat environment. It is Igor who will turn on and off the other systems on board, including the main system (Mother).