Individual motorized fader modules with I²C communication
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jan Koppe 515af22c88
basic readme
2 years ago
firmware modify: 10 bit resolution, add: i2c slave lib 2 years ago
hardware changed pinout, use 10 pin ISP header 2 years ago basic readme 2 years ago

apollo fader

This repository holds a KiCAD design and the firmware that can control an ALPS
motorized fader. The controller can communicate over I²C and report the current
fader position, as well as accept a new target and move the fader to that
target with a PID controlled h-bridge driver for the motor.

The controller that is being used is the ATtiny 24, but switching to an
ATtiny 44 might be necessary in the future for more ROM and RAM (the firmware
is hitting these limits already).

Fader readout

Fader position is read out via the µC ADC using 10-bit resolution. The values
are pushed through a very simple digital low pass filter that will average the
last n samples (using the ATtiny24 the buffer holds 32 samples).

The controller can report the fader position with that 10-bit resolution over

Position control

The controller can steer the motor via an L9110S h-bridge driver. To give a
range of speeds the internal 8-bit timer is used to generate a PWM signal with
varying duty cycle.

To keep the fader from oscillating because of the mechanical lag, a simple
PI(D)-controller is used. The derivative component is computationally intensive
and probably not of much value in this scenario, so it was left out.