Skip to content
Controls a motor by evaluating position feedback from a magnetic encoder
C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
hardware
images
software
README.md

README.md

ServoEncoder

Controls a motor by evaluating position feedback from a magnetic encoder

Features

  • Based on Atmega328P @ 2 MHz

  • Absolute magnetic rotary encoder EMS22A is mounted on the PCB

  • Used with JGY-2838 or a similar motor controlled by a two-wire interface

  • The two-wire output can be used as serial RX/TX for debugging

  • One can use a stepper motor by connecting the two-wire output to a stepper motor driver

  • PWM input like a typical servo or serial input (serial version has been chosen as it's more precise than reading the pulse length)

  • It provides a feedback to the main controller to determine if the motor is overloaded or stuck

ServoEncoder PCB

It has been designed as a robust solution for steering the rudder on autonomous boat. The life span has been tested with a worm geared motor JGY-2838.

Ongoing test: 2 million cycles

Video: Testing worm drive life span

Testing worm drive life span

Video: The actual application

Rudder control: Worm geared motor with a position feedback

You can’t perform that action at this time.