Control

I have made some advance on the control portion of my desk. the audio will be switched using J111 / J112 fets, that been working already, but now I have done preliminary work on the micro controller to interface switches / audio

I have settled to the arduino arduino.cc framework with an Atmel Atmega48 micro controller (uC…). this gives me a flexible setup and a large diy codebase. I don’t really like software programming, but here I think it’s the best solution to implement all the routing / switching I need using push to make buttons (I have chosen them because of aesthetics reasons). the buttons give an impulse only, so the uC handles all the required logic. the atmega runs on internal 1Mhz clock and has 22 i/o enabled in the arduino IDE. this makes it possible to run eight inputs for the switches, eight outputs for the optocouplers and some additional inputs for global switching / muting / specialty functions coming from the master. I did not use a serial bus on purpose, I think having dedicated lines is going to make my life easier then sending messages across a bus, but that’s because i am an unexperienced programmer… I did connect the I2C bus so that this could be fixed in a later version. there are  16 i/o dedicated to switching and that means I have to use a uC per mono / stereo board and some two or three additional uC’s for the master section, but at least all the inputs have the same firmware…

the uC ‘talk’s’ to the optocoupler leds – the output then switches the control voltages. I need two GND / -15V lines for the mute circuit and one GND / -23V line for the switches.  there are leds for the switch status that are switched at the same time.  the optocoupler is a nice addition to the muting / switching – because i have no electrical coupling between the control part and audio part. I can have independent ground if I need / want.

ATMEL ATMEGA8 & 168 / ARDUINO

RST      PC6      1        |     |     28     PC5 (D 19)
(D 0)    PD0     2        |     |     27    PC4 (D 18)
(D 1)     PD1      3       |     |     26     PC3 (D 17)
(D 2)    PD2      4       |     |     25     PC2 (D 16)
(D 3)    PD3      5       |     |     24     PC1 (D 15)
(D 4)    PD4      6       |     |     23     PC0 (D 14)
VCC     7       |     |     22     GND
GND     8       |     |     21     AREF
(D 20) PB6      9       |     |     20     AVCC
(D 21)  PB7     10     |     |     19      PB5 (D 13)
(D 5)    PD5     11      |     |    18       PB4 (D 12)
(D 6)    PD6     12      |     |    17      PB3 (D 11)
(D 7)    PD7    13      |     |    16       PB2 (D 10)
(D 8)    PB0    14       |     |    15       PB1 (D 9)

The arduino framwork needs the addition of some lines of code to get access to the extra pins D20 / D20 and to work the Atmega48p I ordered, but that was esay…. ask me for the firmware and support  files if interested…

The  uC  then basically drives this circuit :

only three mute / switches shown, mute, solo and aux1 are shown, I have eight in total on the dual channel boards. the uC drives the optocoupler that switches the fet control voltage between GND and -V (-15V for the mute and -23V for the switching). the control voltage then drives the fets through a resistor or a diode. the additional switch input mutes the signal when the fader is fully closed though i micro switch. the control led D3, D4 don’t light up in that case – I think it’s better that way.  The solo and aux need an inverted control signal, so the led light up when the output uC is low, but thats not really difficult to do as the pins can sink current as well. I have set all leds to 7mA but i will need to double check with the actual smd leds how bright they need to be. an other option is to reduce the supply voltage to the microcontroller so that I can get rid of some of the resitors. the optocoupler runs at 1.15V per led, so 2.3V for the mute and 0.7V for the diode – I could drive it with 3.0 to 3.3v, but the dual leds for the swiches (D3 – D8) will need more then that is suppose.  I can get rid of R1, R5 and R6 if I adjust the supplyvoltage to 2x Vf of the leds…. the uC will work from 1.8V to 5.5V at its 1Mhz speed. the power supply is prepared for a variable voltage on this rail in any case. I thought of having this part of the components on the top side along with the switches that are smt too and to drive the fets that are trough hole. they then connect to the bottom layer with the audio part. all components can be sourced in surface mount of course, and maybe i will have to do so to get everything on the boards. an alternative is to put the audio  on a separate board piggy back or mounted vertically on this one, will decide that later. the diodes D9 – D11 drive the bus back to the main microcontroller who then knows what buttons are pushed / on.

Next up will be the main micro controllers handling the main and monitor sections. the basic setup is the same, but I need to map the buttons and functionality. for the control bus I decided to use 2x7pin headers with a 14pin ribbon cable. I can put all required signals on there and I am good to go! I

– michael

 

About michael chollet

electronics enthousiast with a mad project about a high quality audio mixer View all posts by michael chollet

Leave a comment