To steer the outboard motor on a boat via a remote control I needed a big, strong actuator.
After some searching through eBay I found some cheap linear actuators which were fast and strong enough to move the motor.
I would control the actuator simply by switching a 12V supply with two relays (forward, backward, off) but there was no way to measure the current position of the actuator besides the two built-in limit switches.
After several non-working design ideas I came up with the following encoder.
A 10-turn potentiometer is coupled to the last gear (the one that turns the spindle inside the moving rod) with an appropriate gear transmission.
The last gear turns 25 times to fully extend/retract the rod, so a gear ratio of 10/25 = 0.4 is necessary.
The potentiometer now turns a full ten revolutions when the rod extends. A simple voltage divider circuit is used to measure the position with a microcontroller that switches the relays to control the motor.
Files
Gear_M1,5_Z16.stl
This gear is pressed on the axle of the potentiometer. Optionally the 16 teeth gear cut from POM can be glued on top to provide extra strong teeth.
This gear is placed on top of the last gear inside the gearbox of the linear actuator. The little tabs fit inside (may need some filing) the slots of the metal gear. (Gear module = 1.5mm, 10 Teeth)
Get the linear actuator and remove the case from the gearbox by taking out the three screws.
Get a hacksaw, file or CNC router to take out a slit about 3mm high right next to the last gear.
2
Step 2
Print the small gear with the tabs. Remove the grease from the last gear in the gearbox to get to the two slots on each side of the axle. Place the printed gear on the axle and press the tabs into the slots. Optionally use some epoxy/loctite to secure it. Replace the grease.
3
Step 3
Print out the parts for the case and print/lasercut the remaining gears.
Why? PID controllers don't care about absolute position. If there's something in your control system that needs absolute positioning, that's probably a bug.
Why? PID controllers don't care about absolute position. If there's something in your control system that needs absolute positioning, that's probably a bug.