The Main Systems Design

By Dermot Tynan, almost 10 years ago.

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.

  • February 20, 2013
  • |
  • |

Igor and Otto

By Dermot Tynan, almost 10 years ago.

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.

  • February 26, 2013
  • |
  • |

Rudder Movement Test

By Dermot Tynan, over 5 years ago.

I have uploaded a video (to YouTube) of the rudder mechanism on Hull #1 working from end-stop to end-stop. (Excuse the video quality, I used my phone to record it.)

I connected an Arduino (Mega2560 if you want to know) and a SparkFun stepper controller to the stepper motor which drives the rudder. I wanted to exercise the tiller gears and the rudder shaft for a while. The video shows the rudder swinging from almost completely to Starboard, all the way back to Port.

  • April 27, 2017
  • |
  • |

How to fill a bath

By Dermot Tynan, over 4 years ago.

It seems straightforward enough to fill a bath. We know how to do it instinctively, but how do we program a computer to do it?

Let’s start with some assumptions. Assume we have a hot and cold tap, and we can control the flow on each tap. Also assume we can measure the average temperature of the water in the bath tub. Finally, assume we can measure the height of water in the bath. This last one is so we know when we’re done.

We’ll denote t as the measured temperature and l as the measured height of water. For that matter, we can refer to h as the amount of hot water, where 0.0 ≤ h ≤ 1.0 and c as the amount of cold water, again in the range 0.0 ≤ c ≤ 1.0.

Ultimately, we’re going to use a PID Controller to do the actual hard work of adjusting the taps. But before we get into that, we need to refine our equations just a bit, and also learn how to walk before we try to start running. (See what I did there? Running? Bath? Oh, never mind).

  • April 3, 2018
  • |
  • |