Using stepper motor to control buoyancy


I am working on building the open source underwater glider on hackaday (OSUG: Open-Source Underwater Glider | with a few modifications, namely the addition of two horizontal thrusters on the tail end. The glider uses three stepper motors for depth, pitch, and roll.

The main system components I will be using are:
Fathom s
Pixhawk 2
Stepper driver
Arduino uno or raspberry pi 3
Bipolar stepper motor

The setup would be:

Pixhawk–>microcontroller–>motor driver–> stepper motor

I was thinking I could use the 3 thruster frame in the ardusub software and connect the micricontroller to one of the pin out channels on the pixhawk as you would for the thrusters. I have also seen that the rx and TX pins from the telemetry pins can be used.

I have read about the mavlink library and how it can be used to interface arduino with the pixhawk but I’m stuck and not sure what to do. Any ideas of how I might be able to achieve what I am trying to do?



1 Like

Hi Blake,

ArduSub does not support gliders, and I think with the 3 thruster configuration and a lot of hacking around PIDs, you’ll not accomplish a good result.

About the step motor interface, the is a issue open in ArduPilot to support stepper motors directly.