-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
283 lines (260 loc) · 21.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
<!DOCTYPE html>
<html lang="en">
<head>
<title>Modular Mixer</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="description" content="Overview of the the modular mixer" />
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous">
<script src="https://kit.fontawesome.com/2bea0d932f.js" crossorigin="anonymous" defer></script>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div class="container">
<div class="row section splash">
<div class="col-sm-12">
<a href="/"><< Back to Sam Kent</a>
</div>
<div class="col-sm-6">
<h1><a href="https://github.com/samjkent/modular-mixer">Modular Mixer</a></h1>
<ul>
<li class="mixer"></li>
<li class="invert">Eurorack compatible modules for a stereo DJ mixer, with 2.54mm header connections for XLR and line level outputs, cue-ing system with a headphone driver, and VU meters.</li>
</ul>
</div>
<div class="col-sm-6">
<h1>Contents</h1>
<ul>
<li class="ext"><a href="https://github.com/samjkent/modular-mixer">View on GitHub</a></li>
<li><a href="#mixer">Overview</a></li>
<li><a href="#channel">2 Band Isolator Channel</a> | <a href="https://github.com/samjkent/mixer-isolator-channel">KiCAD Project</a></li>
<li><a href="#main">Main Channel</a> | <a href="https://github.com/samjkent/mixer-master-channel">KiCAD Project</a></li>
<li><a href="#psu">Power Supply</a></li>
<li><a href="#trouble">Troubleshooting</a></li>
<li><a href="#future">Future Work</a></li>
</ul>
</div>
</div>
<div id="mixer" class="row section">
<div class="col-sm-6">
<h3>Project Overview</h3>
<p>Inspired by Eurorack modular synthesizers and the boutique mixer market, the project aims to design and build a simple and customisable DJ mixer. Ripping the faceplate off most mixers the design is already fairly modular, but only in that mixer's specific form factor. Taking the Xone:92 as an example, each of the channels are identical boards feeding their outputs onto mix buses to be summed, so with a custom case it could be expanded to an N channel mixer, with custom designs added as additional channels [Ref 1]. </p>
<figure>
<img src="images/xone92.png" alt="Xone:92 mix bus block diagram"/>
<figcaption>Ref 1 - Xone:92 mix bus (Xone:92 Service Manual AP5296 Page 9)</figcaption>
</figure>
<p>Combining this idea with the Eurorack ethos, the project aims to build a fully customisable system, with N channels that can be mix and matched between isolators, filters, fx units, and traditional eurorack modules</p>
</div>
<div class="col-sm-6">
<h3>Initial Design</h3>
<p>Eurorack compatible modules for a stereo DJ mixer, with 2.54mm header connections for XLR and line level outputs, cue-ing system with a headphone driver, and VU meters.</p>
<p>The design is op-amp based, with filters implemented as 12db/oct active inverting filters, 10 kohm output impedances, and buffered potentiometes acting as voltage dividers for the controls</p>
<p>The signal path of the initial 2 band isolator channel design is as follows</p>
<ul class="signal">
<li>a line level stereo input </li>
<li>apply a 5x gain to it </li>
<li>pass it through a signal trim pot </li>
<li>split the signal with low pass and high pass filters </li>
<li>a potentiometer for the low pass, and a potentiometer for the high pass allow the signal to be shaped </li>
<li>the remaining signals are summed </li>
<li>the summed signal is sent to the channel's outputs; a potentiometer controls how much is sent to the main bus, a button controls whether the signal is sent to the cue bus, and the full signal is sent to the IC controlling the LED level meter</li>
</ul>
<p>The signal path of the main channel is simpler, summing together the different audio buses and then outputting the combined signals</p>
<ul class="signal">
<li>cue, aux, and main busses enter summing amplifiers; the 10k resistors on the channel outputs ensure that the channels are equally summed</li>
<li>the main signal is fed into the LED level meter, the cue summing amplifier (via a voltage divider), to a line level buffered output, and a balanced output circuit</li>
<li>all of these outputs have buffered voltage dividers controlling the level</li>
<li>the headphone output is op amp based, but when built with a high current op amp such as the Texas Instruments OPA1688 (75mA / channel), it can provide more than enough power to drive monitoring headphones</li>
</ul>
</div>
</div>
<div id="channel" class="row section">
<div class="col-sm-12">
<h3>Isolator Channel | <a href="https://github.com/samjkent/mixer-isolator-channel">KiCAD Project</a></h3>
</div>
<div class="col-sm-3">
<figure>
<img src="images/mixer-isolator.svg" alt="Isolator Channel"/>
<figcaption>A render of the 2 Band Isolator Channel gerbers</figcaption>
</figure>
</div>
<div class="col-sm-9">
<figure class="float-right">
<img src="images/isolator-buffers.png" alt="Isolator Channel"/>
<figcaption>Input and Output buffers</figcaption>
</figure>
<p>The channel input begins by applying a high pass filter to the signal, and amplifying it with a gain of 5. This amplified signal is then trimmed by a voltage divider before being fed into the isolator circuit.</p>
<p>The amplified signal is then fed into two filters, a low pass and a high pass. Both filters are 12dB/octave filters with identical cut off frequencies i.e. the isolator crossover frequency. As both filters have the same cut off frequency the overall frequency response should be fairly flat.</p>
<p>The output levels of these two filters are then fed into potentiometers to allow a user to reduce the volume of either the high or low passed signals while mixing. Once the level for each filter output is set, the 2 signals are summed together to recreate a single audio signal. This is done independently for both the left and right signals, with dual gang potentiometers ensuring that the filters outputs can be controlled in stereo.</p>
<figure class="">
<img src="images/isolator.png" alt="Isolators"/>
<figcaption>High and Low Pass filters</figcaption>
</figure>
<figure class="float-right">
<img src="images/fader.png" alt="Fader"/>
<figcaption>Post Isolator</figcaption>
</figure>
<p>Post isolator the signal is split again. The complete post isolator signal is fed into the VU meter for visual feedback, sent to the 'fader' (in this case a rotary potentiometer) for adjusting the level of the signal in the mix, and also to the cue bus (if the cue button has been pressed!).</p>
<p>In the example schematic the auxillary send is also connected to the prefader signal, to use this with external effects it may be more useful to connect this post-fader, or to add a switch or jumper to change between pre/post.</p>
<p>Ideally, a Texas Instruments LM3916 would be used to visualise the audio signal and the schematic is designed for this. However, in the non-ideal world TI have discontinued all but the linearly scaled LM3914, and only manufacture it in an awkward 20 pin PLCC package. The layout and gerbers use the PLCC LM3914 but an alternative circuit should be considered for true logarithmic VU meters.</p>
<p>
There's nothing notable in the VU schematic, it is almost taken directly from the LM3916 datasheet, only with an additional summing amplifier to convert the stereo signal to mono.
</p>
<figure class="">
<img src="images/vu.png" alt="VU"/>
<figcaption>VU meters using LM391x</figcaption>
</figure>
<p>
Finally, and crucially the output headers. Each channel includes a standard 16 pin eurorack power header to provide +/- 12V, 5V, and GND. The Eurorack connector also has 4 additional pins that are typically used for Gate and Control Voltage (CV) signals, which could have been repurposed as bus channels, but would have added compatibility issues if the mixer was used in the same rack as standard Eurorack modules.
</p>
<p>To keep in spec with other modules, a new 8 pin connector is used, with stereo connections for: input, main output bus, headphone cue bus, and an aux send bus.</p>
<figure class="">
<img src="images/channel-outputs.png" alt="Channel Outputs"/>
<figcaption>Channel output headers</figcaption>
</figure>
<p>All in all it's a fairly straightforward way to mix, but there's definitely room for some improvement:
<ul>
<li>Current potentiometer is the Bourns PTV112, the shaft wobbles a bit, and it doesn't feel well made</p>
<li>There's only just enough space at the top and bottom of the board for mounting rails, metal mounting rails can cause a short circuit</p>
</ul>
</p>
</div>
</div>
<div id="main" class="row section">
<div class="col-sm-12">
<h3>Main Channel | <a href="https://github.com/samjkent/mixer-master-channel">KiCAD Project</a></h3>
</div>
<div class="col-sm-3">
<figure>
<img src="images/mixer-main.svg" alt="Main Channel"/>
<figcaption>A render of the main channel gerbers</figcaption>
</figure>
</div>
<div class="col-sm-9">
<figure class="float-right">
<img src="images/connector-main.png" alt="Main Channel Connectors"/>
<figcaption>Main Channel Connectors</figcaption>
</figure>
<figure class="float-right">
<img src="images/summer.png" alt="Summing Amplifier"/>
<figcaption>Summing Amplifier</figcaption>
</figure>
<p>The main channel takes inputs from the various busses and sums them, as each output has a 10k resistor on the end of it any number of channels can be connected to the amplifer and they will be summed equally.</p>
<p>The summed main bus is then sent to two buffered voltage dividers to allow a user to set two independent output levels: monitor, and main outputs. Typically one would be connected to a small monitor speaker for the DJ, and the other to the sound system.</p>
<p>The previous two signals are both unbalanced and line level, which is probably fine for use at home, but a balanced output is usually needed for a big rig. So, the master output is also connected to a circuit that generates the required balanced signal. On the example schematic, all outputs are to 2.54mm headers and need connecting to RCA / XLR sockets.</p>
<figure class="">
<img src="images/balanced.png" alt="Balanced Amplifier"/>
<figcaption>Balanced Output</figcaption>
</figure>
<figure class="float-right">
<img src="images/cue.png" alt="CUE Sum"/>
<figcaption>Cue summing</figcaption>
</figure>
<figure class="float-right">
<img src="images/opa.png" alt="opa1688"/>
<figcaption>Headphone Amplifier OPA1688</figcaption>
</figure>
<p>The cueing circuit takes the sum of everything on the cue bus, plus an amount of the main determined by a voltage divider. This allows a DJ to add N% of the main output into their headphones to help mix when there is a poor/non-existent monitoring set up.</p>
<p>Having originally built a transistor push-pull amplifier to drive the headphones, I've found that it's simpler and easier (JLCPCB will even fit it) to use a high current op-amp that has built in short circuit protection - the Texas Instruments OPA1688. Inserting/removing headphones shorts the output and has caused me transistor problems.</p>
<p>The VU meter on the main channel is only for the main mix bus, and is unaffected by any of the controls on the module. It follows the same LM391x schematic as the isolator channel, but with a seperate meter for each stereo channel rather than a summed signal.</p>
<p>Again, it works, but there are some changes that could be made:
<ul>
<li>Upgrade the potentiometers</li>
<li>Alternate LED driver for the VU meter. No modern chip exists, so either swap to a SOIC-16 LM3916 clone or use a microcontroller</li>
</ul>
</p>
</div>
</div>
<div id="psu" class="row section">
<div class="col-sm-12">
<h3>Power Supply</h3>
<p>Thanks to the modularity of Eurorack any modular power supply can be used! In this design a custom one is built, but all it does is take a 18-36V DC signal, run it through a DKA30B-12 DC-DC converter to provide the required +/-12V power rails. A ST L7805 is used to generate the 5V rail.</p>
<p>An additional feature of this custom PSU is two phono preamps, which perhaps should be moved to the channel in future revisions.</p>
<figure class="">
<img src="images/psu.svg" alt="PSU"/>
<figcaption>Power Supply Overview</figcaption>
</figure>
</div>
</div>
<div id="trouble" class="row section">
<div class="col-sm-12">
<h3>Troubleshooting</h3>
<p>An overview of issues I encountered whilst building this prototype</p>
<p>First mistake was to order my parts from Mouser, 2 weeks later they’ve been FedEx’d from Texas and it’s time to discover the hardware mistakes.</p>
<h4>Clearance at the top and bottom of the PCBs</h4>
<p>There's not quite enough clearance on the PCBs to the rack rails. I've had to wedge a piece of cardboard in at the top of the main channel to stop it from shorting against the rails.</p>
<h4 id="psu-board">PSU Board</h4>
<p>Soldered the Meanwell DC-DC Converter to the PCB and hooked up a power supply to the input. The 12V, -12V, and 5V LEDs lit up briefly, and then turned off. The PSU showed 19V and 0.00A.</p>
<p>Replacing the underspecced <a href="https://datasheet.lcsc.com/szlcsc/1811061725_ST-Semtech-1N4148W_C81598.pdf">1N4148W</a> diode with a short fixed this. The DC-DC convertor will survive reverse polarity so this diode was unecessary to start with.</p>
<figure>
<img src="images/psu.jpg" alt="PSU" /><figcaption aria-hidden="true">PSU</figcaption>
</figure>
<h4 id="lm3914-plcc-package">LM3914 PLCC Package</h4>
<p>During the first build the PLCC package wasn’t soldered correctly. Supposedly a package that is socket and SMD compatible, but it’s a definitely a pain to do by hand.</p>
<p>Need to desolder this one and redo it with a bit more care.</p>
<figure>
<img src="images/plcc.jpg" alt="PLCC" /><figcaption aria-hidden="true">PLCC</figcaption>
</figure>
<p><em>note</em> - not sure I’d use this IC again.. although the alternatives are a uC with an ADC, or an array of OP amps with a resistor ladder.</p>
<p>PLCC package has a different pin order.. pins are all in the wrong place on my footprint</p>
<h4 id="lm3914-forgotten-vdd-connection">LM3914 Forgotten VDD Connection</h4>
<p>The schematic for the VU meter is missing a power connection across the LED anodes. Need to think of a tidy way to add a wire across for the first boards.</p>
<p>Untested due to the dodgy PLCC soldering mentioned above.</p>
<p><img src="images/missing-vdd.png" alt="Missing VDD" /> <img src="images/bodge-vdd.jpg" alt="Bodge Wire VDD" /></p>
<h4 id="smd-resistors-on-unassembled-side">SMD resistors on unassembled side</h4>
<p>After checking and approving the Schematics, PCBs, and component list, I noticed that R103 and R104 (10k resistors) were on the front side on the PCB and were not going to be assembled in the factory.</p>
<figure>
<img src="images/unassembled-smd.png" alt="R103 and R104" /><figcaption aria-hidden="true">R103 and R104</figcaption>
</figure>
<p>Ordered some 10k 0402 resistors and manually fitted them</p>
<p><img src="images/0402.jpg" alt="Soldering 0402" /> <img src="images/0402-soldered.jpg" alt="Soldered 0402" /></p>
<h4 id="input-gain-send-pots-are-anti-clockwise">Input Gain / Send Pots are Anti-Clockwise</h4>
<p>Pins 1 and 3 need swapping. The input gain maxes out at only 2x which isn’t a huge amount. Maybe 50k Input Gain pots to crank the tracks.</p>
<h4 id="cue-switch-is-reversed">Cue switch is reversed</h4>
<p>All cue switches need to have the same orientation, plus the LEDs aren’t working</p>
<p>The switch is a pretty bad solution. An Analog Switch IC may be a better option. One SPDT switch/button can control the ICs. Example IC: £0.0451 <a href="https://datasheet.lcsc.com/szlcsc/Shanghai-Belling-BL1551_C82528.pdf">BL1551</a></p>
<h4 id="channel-pcbs-are-too-short">Channel PCBs are too short</h4>
<p>The channel PCBs are too short and the screw holes don’t line up perfectly. It’s possible to screw it in, but it doesn’t quite fit, and leaves very little clearance for components.</p>
<figure>
<img src="images/short-pcb.jpg" alt="Short PCBs" /><figcaption aria-hidden="true">Short PCBs</figcaption>
</figure>
<h4 id="headphone-amp---pnp-the-wrong-way-round">Headphone Amp - PNP the wrong way round</h4>
<p>Plugging in the master channel can result in some magic smoke - the PNP transistors in the headphone amplifier are the wrong way round. Some visible damage on Q803</p>
<p><img src="images/transistor.png" alt="Transistor" /> <img src="images/blown-transistor.jpg" alt="Transistor Magic Smoke" /></p>
<h3 id="actually-transistor-pins-are-all-incorrect">Actually transistor pins are all incorrect</h3>
<p>Wiring through hole transistors on flying wires results in a working headphone amplifier</p>
<figure>
<img src="images/transistor-pins.png" alt="Transistor Pinout" /><figcaption aria-hidden="true">Transistor Pinout</figcaption>
</figure>
<h4 id="cue-master-mix-fader-doesnt-work">Cue / Master mix fader doesn’t work</h4>
<p>This is a fucking stupid circuit - not sure what I was thinking <img src="images/cue-mix.png" alt="CueMaster" /></p>
<h4>No summing resistors on the updated CUE/MASTER knob</h4>
<p>Adding resistors between the potentiometer and summing input solves this, however the profile ends up curved and can never reach zero master due to the virtual ground at the summing input</p>
<figure>
<img src="images/additional-resistors.png" alt="Additional Summing Resistors" /><figcaption aria-hidden="true">Additional Resistors</figcaption>
</figure>
</div>
</div>
<div id="future" class="row section">
<div class="col-sm-12">
<h3>Future Work</h3>
<p>As it stands, it's a working mixer that I use day to day. However, there are a few changes for future versions:</p>
<ul>
<li>Different pots, the current PTV112s are a bit flimsy. Ideally I'll add a second footprint for a choice of cheap vs quality. Alps RK27 are the hi-fi standard but may be too large to squeeze into a 6hp channel.</li>
<li>Move pots to feedback resistors. This will remove the need for a lot of the buffer amplifiers and reduce the chip count</li>
<li>With a reduced chip count the phono stage should definitely be added to the channels</li>
<li>Add kill buttons to isolators. Instakill vs turning the potentiometer.</li>
<li>Alternate VU driver. The linear LM3914 isn't ideal, neither is the gigantic PLCC package.</li>
<li>Replace all filters and attentuators with VCF/VCAs. Then additional control signals can be fed in to really integrate it into a modular system. JLCPCB stock LM13700 so assembly is still simple</li>
<li>Additonal channel types! Faders, filters, EQs, FX.. all are possible</li>
</ul>
</div>
</div>
<footer class="row">
<div class="col-sm-12">
<a href="#">Top ↑</a>
</div>
</footer>
</div>
</body>
</html>