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 I²C.

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.