maandag 7 november 2022

Mosha Eurorack Modules #2: CV Sequencer

 

The CV Sequencer is a 6 HP module that, as the name implies, sequences control voltages in the range of 0V to 10V in either 15 or 16 steps. The switch has three settings: 15 step playback (top), 16 step playback (middle) or record (bottom). Record mode can also be activated using a CV in the top right jack, so it can modify its own content.

The yellow button can be used to step through, and the jack next to it allows an external clock signal as well. The purple jack is the actual CV that is recorded, but a manual voltage can be supplied with the dial.

Outputs are hexagonal, and the purple output is the actual CV output. The jack next to it is the gate output, which normally should follow the clock. Below are the two indicator LED. The right indicator cycles through 8 different colors for 8 of the 16 steps, the magenta LED on the left has two purposes: it both tracks the other 8 steps, and the fact that the module is in record mode.

The sequencer is built around the PIC16F684 microcontroller with the following pin configuration:

Analog input: voltage to be sampled (RA0, pin 13)
Digital input: clock (RA2, pin 11)
Digital input: write (RA3, pin 4)
PWM output: voltage result (RC5, pin 5)
Gate out (RA1, pin 12)
LED out (RC0, RC1, RC2, RC3, pin 10, 9, 8, 7)
Rhythm select in (RC4, pin 6)
20 MHz crystal: RA5 (pin 2) RA4 (pin 3)

The inputs are merely protected by resistors, there are no protection diodes. The ones inside the PIC16F684 work well enough. The analog input has a jumper that allows halving the voltage using a 1% resistor ladder and buffered to ensure that the impedance is below 10k. 

The PWM output goes through a two-pole RC (100k, 4.7nF) filter network with buffer where the second stage of the buffer is shown in the circuit below. It has a trim pot at the bottom of the module that allows the output to be amplified by 1x to 2.1x. As usual, all OPAMP are the TL074, not the TL081.

The jumper and the trimpot together allow the sequencer to work with a highly accurate 0-5V or a slightly less accurate 0-10V.

The code for the sequencer is available here. The analog imput is sampled multiple times and averaged, to ensure that the lower bits of the value are accurate as well.

Geen opmerkingen: