Measurement and Control

For nostalgic reasons the prototyping hobbyists decided that o1.01‘s carbonized cerebellum is an ATmega324PA 8bit microcontroller. We will use it to level and balance the platform both via ballast tanks and adjustable fin stabilizers. The fin stabilizers will be driven by servos. But to start with, we want to control the pumps and valves located in the center tube to inflate or deflate the four balloons, one of them in each ballast tank in the front and the rear of each side tube. To measure the height of the platform above the water surface we use an ultrasonic proximity sensor.

First working test code running an ultrasonic proximty sensor on the microcontroller’s development board

Our goal is to adjust the depth of flotation to the medium height between hull and platform and to keep the vessel balanced. For a first real-life test we extended and improved the code, added the required electronic hardware to the breadboards and put everything on deck.

Breadboards with microcontroller, etc. on deck.

In this first attempt we use four ultrasonic proximity sensors, one at each corner of the platform. An then, after connect the plug to the power supply, it got really exciting …

Very first test of o1.01 in action. Fail fast, fail often … (poor video quality!)

Since that first test did not go so well, we decided to improve the vessel design by adding some lifting bodies to the carbon sticks carrying the platform. That immediately lead to much better results, but the software still needed a lot of improvement. In the meantime we connected the microcontroller to a Raspberry Pi Zero W to enable us to program it over-the-air via WiFi. We also decided to only use one ultrasonic proximity sensor to measure the general height above the water surface and to replace the others with a gyro sensor to measure the balance instead.

Charging the batteries of o1.01 during one of the long programming sessions in summer 2020

After many hours of tweaking the code the results became more and more promising, but still we were not quite happy with what we experienced. So finally we decided to add some extra lifting to the center tube and some metal bars underneath it to add some ballast and to lower the mass center. At the end of the summer, we finally managed to get everything working as we expected.

Successful readjustment of balance and level and counteracting the swinging after adding a weight to one corner.

 33 total views,  1 views today