Foils

From 'Engineers of Innovation Wiki'
Jump to navigation Jump to search

The foils of the solar boat is a system that is comprised of the following:

A small overview is given below what any of these signify in the hydrofoils.

Wing design

The designed wing to be used on the solar boat.

The wing design is based on the calculation of the airfoil database website: http://airfoiltools.com/plotter/index

From this database an implementation has been made into matlab to tweak some parameters as well as a plot for generating the wing shape.

The matlab scripts are on the git and can be found here.


Foil assembly

The foil assembly connects the wing to the foil mast and then to the hull of the boat.

Scaled down for showing moving of the foil assembly.

Autopilot

The autopilot is the control electronics that controls the servos of the foil assembly. This a signal PCB with that measures the angle of the solar boat and adjust accordingly towards keeping the hull above the water.

Height sensors

We use ultrasonic height sensors for sensing distance between water and our hull. Currently we use cheap A02 RS485 sensors from DYP.

Datasheets can be found https://www.dypcn.com/uploads/A02-Datasheet.pdf and https://www.dypcn.com/uploads/A02-Output-Interfaces.pdf

Data from this sensor is being processed by our RS485 to CAN interface.

Pinout

Pin# Wire Colour Signal on wire
1 Blue
2 Black
3 White
4 Brown
5 Gray

CAN Messages

All multi-byte values are little-endian. Any state byte not listed maps to Unknown on the receiver side.

Message CAN ID DLC Byte Field Type Values / Range
ServoRudderSetpoint 0x010 2 0–1 Setpoint u16 LE 1000–2000
HeightSensorFrontLeft 0x011 3 0 State u8 enum 0=NotPluggedIn, 1=ModbusError, 2=Operational, 0xFF=Unknown
1–2 Height value u16 LE distance in mm
HeightSensorFrontRight 0x012 3 0 State u8 enum 0=NotPluggedIn, 1=ModbusError, 2=Operational, 0xFF=Unknown
1–2 Height value u16 LE distance in mm
HeightSensor (placement TBD) 0x013 3 0 State u8 enum 0=NotPluggedIn, 1=ModbusError, 2=Operational, 0xFF=Unknown
1–2 Height value u16 LE distance in mm
HeightSensor (placement TBD) 0x014 3 0 State u8 enum 0=NotPluggedIn, 1=ModbusError, 2=Operational, 0xFF=Unknown
1–2 Height value u16 LE distance in mm
ServoRudderStatus 0x020 3 0 State u8 enum 0=Uninitialized, 1=Operational, 0xFF=Unknown
1–2 Current setpoint u16 LE 1000–2000
ServoRudderCommand 0x021 1 0 Command u8 enum 0=Initialize