Sailboat Support

This is an awesome find! I’ve been using ArduPilot/Pixhawk for planes for a couple of years now. However, recently I’ve decided to take on a new task. I’d like to make a fully autonomous and wind/solar powered sailboat that can travel anywhere in the world.

This a great find!

Did you guys notice if the sailboat used less power to operate the sails than it would a constant propeller?

Hi Pete, thank you for the prompt response. We’ve completed the instructions in the pages you’d mentioned; however, the anemometer we currently have is a cups-type. There’s no need to use this anemometer specifically, however, and we’d be interested in learning what anemometer you and others recommend.

of course, sail is much more efficient than propeller. I easily get several hours out of a 3s 2200 mah pack. For long endurance the key thing is reliability, there is the microtransat where boat sail across the Atlantic autonomously.

for a cups type anamomiter you will have to be on the latest release. The wiki is update with everything that has been tried so far i think, this is still quite new. The key thing for selecting a ‘cups’ type anemometer is to make sure the manufacture makes the constant available so you can calculate the wind speed from rpm.

I see, well we tried uploading the latest version of the firmware to our CubeBlack and ran into an error (Mission Planner said the firmware was incompatible for some reason). We loaded the stable version but are unsure whether it will work with our anemometer.

Is there another type of anemometer besides a cup anemometer that would suit our needs? Also, is it mandatory to have an ESC to run the motors or can we just plug the motors directly into the Pixhawk?

make sure your MP is upto date, then download the .apj and load it using the load custom firmware button on the install firmware page in MP

its all in the wiki Wind Vane — Rover documentation

motors - yes you need a ESC, servos - no plug in directly

Understood, and thank you for your assistance so far.

To better explain the anemometer we’re using, it is the Davis Anemometer that comes equipped with a potentiometer wind vane and cups for wind speed measurement; however, the connection that comes with it is an RJ11, for use with a breakout board that will have the following outputs:
ground, wind speed (digital), wind direction (analog), and power.

The following document explains how to connect with an Arduino, but we are having trouble figuring out how to connect to the ADC input on the Pixhawk.

http://cactus.io/hookups/weather/anemometer/davis/hookup-arduino-to-davis-anemometer

We were thinking of connecting the wind direction analog output along with power and ground to the ADC port, but are unsure of how to also connect the digital wind speed output as well. Again, any help would be greatly appreciated!

That sounds good, you might have to check if the ADC is rated for 5v, it could be 3.3v only, i can’t remember. For the speed you will have to connect to an aux port pin. I would suggest pin 6, this would be:
RPM_TYPE = 2
RPM_PIN = 55

BRD_PWM_COUNT will have to be 5 or less, i think its 4 by default so leave it at that. And you will have to check you RELAY_PIN, RELAY_PIN2 ect are not set to 55 so the pin is free to use for rpm

Then you should see the rpm value changing in mission planner as you spin the cups, you can double click on one of the things in the quick tab to change it to rpm1

Then you just have to change WNDVN_SPEED_TYPE to 3. And calculate the appropriate RPM scaling factor to get the wind speed in meter per second. in your link it gives:

According to the Davis Anemometer technical document 1 mile per hour is equal to 1600 revolutions per hour.

so that is just a matter of working out the units to convert it

edit: that seems like quite a nice unit, maybe one you have it working you could provide some pics and the parameters you ended up with and we could add it to the wiki

Thank you for your help with the anemometer connection. We have ordered the necessary connectors and will be sure to let you know once we get it working. A few questions:

  • The ADC on the Cube seems to be rated for 3.3V. We were thinking of using a voltage divider with an 11kohm resistor to fix this issue. Will this be adequate?
  • We connected our cube to mission planner and set all the relevant parameters; however, when we hold the safety switch on the GPS, the servos do not react. Could this be because we are not powering the servo rail using an ESC? After reading through documentation, we found conflicting resources saying whether or not the servo rail needs to be powered through an ESC or BEC instead of the main power brick. If this is the case, is there a BEC you recommend to power the servo rail in the absence of an ESC?

Again, thank you for your assistance!

a voltage divider is the right way to do it, cant comment on the value without the whole circuit diagram. You can always check you don’t get more than 3.3v with a multi meter before you plug it in.

yes you will need to power the servo rail. If your not fitting a motor with a ESC you will need a BEC. You can add up all the current your servos is rated for and use one rated for more than than that. I should think 5A would be fine. Just check its rated for whatever voltage battery your using.

Thank you for your help thus far.

We have made some progress on the anemometer connection, including implementing a voltage divider to step down the voltage to 3.1V. We used a multimeter to verify correct voltage readings and set all the necessary parameters in mission planner. However, we are finding that the wind direction numbers are very unstable and don’t correspond to movement of our wind vane, while our rpm1 value remains at -1. Additionally, setting wndvn_cal to 1 does not initiate any sort of calibration process pop up.

We were wondering if this was simply a configuration issue or if there could be another possible issue with our system.

Thank you for your help!

hum, maybe you can post a log and some pictures of how you have it all connected.

You wont get a pop up but you should see messages in the messages tab in mission planner.

We were able to calibrate the wind vane after checking the messages tab, but the calibrated max voltage is 2 times (5.8 V) what we are measuring with our multimeter (2.9 V) on the output of the wind vane.

We currently have these parameters set in Mission Planner:

RPM_TYPE = 2
RPM_PIN = 55 (digital signal, aux pin 6)
BRD_PWM_COUNT = 4
WNDVN_SPEED_TYPE = 3
WNDVN_SPEED_PIN = 55
WNDVN_DIR_PIN = 15 (Pixhawk Cube ADC signal input)
WNDVN_TYPE = 3
All relay pins are set to -1 to disable them.

As for our connections, we have wind speed (digital) connected to AUX 6 and wind speed (analog) connected to the ADC port. We decided to power and ground through the servo rail instead, as we found that the voltage supplied by the ADC was rather unstable. All of our connections seem to work when using an Arduino. When connected to the Pixhawk, a multimeter shows the correct potentiometer voltage response to wind vane movement. Our issue is that Mission Planner does not seem to output the corresponding values (wind direction fluctuates randomly between 0 and 360, whether the anemometer is plugged in or not) and rpm1 continues to be at either 0 or -1 (the wind velocity tab is unresponsive as well).

Also, this is a rough wiring diagram of our setup.

Try adding a pull up resistor, that would be between the wind speed pin and 5v, 10k ohm is commonly used.

Not sure about the wind direction, if its randomly fluctuating that sounds like a bad connection somewhere. Logs will help diagnose.

Yes!
Sailing before the 1 May!

The whole sailing was some 45 min in the water.
Very little wind, and sometimes it came some 3-4 m/s gusts, very unpredictable.
So it was difficult to get stable conditions and try different things and make conclusions.
Mainly sailing in manual with shorter tries for Acro mode. I do not trust my RC control radio for distances yet, frankly don’t trust anything with the boat at the moment :slight_smile:

I have lots of tuning to do.
The sheeting was not fully in nor fully out.
Ideal Sail Angle should benefit to increase from default 20, much too lose sheeting.
Compass is complaining
GPS signal is complaining
Not sure but at some point it seemed that moving to Acro mode then it started to alter the rudder - that should not be. but could be something else.

But,
Wind vane seems to be working ok, unless there was no wind.
The cup anemometer seems also working pretty well.
Telemetry works.

Just so glad to finally sail the thing.

2 Likes

couple of more things,
I am really happy how easy it is to assemble/disassemble the rig and get it in to the blue bag. I have some 15 min walk to the carpark so its important.

BoatSite

One odd thing about sailing yesterday was it seemed to disarm itself now and then without I noticed at first. When disarmed the sheeting do not work but the rudder do. With little wind it takes a while to notice that…

EDIT:
Ah the wiki mention this.
My ARMING_RUDDER parameter was set to 2 ArmOrDisarm.
I probably disarmed the boat myself with left rudder.
Changed the setting to 1 ArmingOnly and will see if this will solve it.

great, you found the ARMING_RUDDER param, you should also set FRAME_CLASS to 2 for boat. Shouldn’t make any difference except to get a little boat logo in MP instead of the car.

Just got two used Nirvana sailboats off craigslist for $100 and am starting to collect parts for an ArduSail build. I have zero experience with RC Sail but it looks interesting.

Was hoping to use the FLIP 32 - F7 - OMNIBUS V2 since it has an rssi input and external current input that I can use for the vane/anemometer ADC. I see that omnibus F7 is supported but I’m not sure about the V2. Looks like it could work well for sailboats.

https://www.readytoflyquads.com/flip-32-f7-omnibus

Yes, I found that one as well :slight_smile:
Thanks @iampete