My name is Huldar, I’m super new to this (have never built something like this before) but I want to make a sailboat and I was thinking of using a stepper motor mounted with a gear to the mast to be sure that the motor could supply the needed torque for when the boat experiences strong winds. Now I just realised that ardupilot does not support stepper motors, only servos. Could somebody help me out with figuring out how to tackle this problem?
These are my ideas so far:
Use a servo instead of a stepper motor (not sure about this as they are generally not as strong right?)
@fezile_mageba well we mounted a 5M 72 tooth Zahnriemenscheibe to the shaft of the rudder and an 18 tooth version to the NEMA 23 motorshaft and of course the belt. And we connected 4 Wires of the NEMA 23 to the Pololu Tic Stepper controller (link is in the previous post) and also our 32V Battery and the Pixhawk Servo output cable.
I must also say that this is not the most elegant solution. if i find some time i will make a version with a 35kgf*cm Servo and keep the 1:4 reduction by putting just the potentiometer from the servo on the ruddershaft… that way you get a similar result but the system costs less, is less complicated, lighter and consumes less energy.
Actually I’m building an autonomous surfboard with a stepper motor controling the steering on the sufboard. The advise that I got was that I should try converting a stepper motor into a servo. I think it will work fine for me, Do I need an arduino for this or should I just connect it straight to the pixhawk?
There’s no additional code needed maybe.
i dont know how you can “convert” a stepper motor into a servo. They work very differently.
If you want to drive a stepper motor using the pixhawk servo output signal, you will need a stepper motor driver and a microcontroller that receives pixhawk servo output pwm signals (or you can alternatlvely use the pixhawks sbus output) and puts out step and direction pulses for the stepper driver.
i started making something like that with a Raspberry pi Pico (because of its programmable io interface) and an A4988 stepper driver from a 3d printer für testing purposes and it kind of worked a little (also with acceleration) and its definitely doable but i had a lot of problems with sending correctly timed step pulses and receiving sbus signal at the same time. so in the end i used the tic controller instead.
but as i mentioned in the post before, for a rudder of a boat, i would now just use a servo with enough torgue the precision of the servo is enough.
… the high precision of the stepper is more a thing for a 6 axis robot or a 3d printer or something like that where you actualle need it