Commit 16e10cee authored by David Huss's avatar David Huss 💬
Browse files

Added IPYNB and schematic of summing section

parent 984350ad
......@@ -38,6 +38,10 @@ Mixes two inputs onto two outputs using 4 Potentiometers.
| ---- | ----- | --- |
| <img src="gerbers/MAMI-QUAD_Combined_Top.png" width="200px"> | <img src="gerbers/MAMI-QUAD_Combined_Bottom.png" width="200px"> | <img src="images/3d-quad.png" width="200px"> |
The summing section looks like this and allows a jumper ()`J_ATT1` and `J_ATT2`) or a switch (2.54mm lead spacing) to be used to switch between unipolar and bipolar attenuation for each row seperately.
![](images/schematic_summing.png)
## Output Module [MAMI-OUTPUT]
Provides two 3.5mm Mono output jacks, with a Jumper (or switch) each row of tiles can be switched between unipolar and bipolar attenuation.
......@@ -46,3 +50,6 @@ Provides two 3.5mm Mono output jacks, with a Jumper (or switch) each row of tile
| ---- | ------ | --- |
| <img src="gerbers/MAMI-OUTPUT_Combined_Top.png" height="200px"> | <img src="gerbers/MAMI-OUTPUT_Combined_Bottom.png" height="200px"> | <img src="images/3d-output.png" height="200px"> |
# Panels
Constructing a panel is straightforward: drill holes for all potentiometers, switches and jacks. There is an example panel for a 8x8 Matrix in the `panels` directory
\ No newline at end of file
%% Cell type:code id: tags:
``` python
# Change these values to calculate the needed values
requirements = {"inputs": 8, "outputs":8}
# Do not edit below this Point unless you know what you are doing
data = {
"mami-input": {
"input-channels": 2,
"parts": [
{"MPN": "PJ301M-12", "n": 2},
{"MPN": "Subminiature On-Off-(On) Toggle switch", "n": 2},
]
},
"mami-output": {
"output-channels": 2,
"parts": [
{"MPN": "LME49720", "n": 2},
{"MPN": "100nF 0605 25V", "n": 4},
{"MPN": "100k 0805", "n": 8},
{"MPN": "PJ301M-12", "n": 2}
]
},
"mami-quad": {
"input-channels":2, "output-channels":2,
"parts": [
{"MPN": "P0915N-FC15BR100K", "n": 4},
{"MPN": "Knob", "n": 4},
{"MPN": "100k 0805", "n": 4}
]
}
}
# Calculate how many PCBs are needed
n_input_modules = int(requirements["inputs"] / data["mami-input"]["input-channels"])
n_output_modules = int(requirements["outputs"] / data["mami-output"]["output-channels"])
n_quad_modules = int((requirements["inputs"] * requirements["outputs"]) / (data["mami-output"]["output-channels"] * data["mami-input"]["input-channels"]))
Print the PCB
print("Needed for a {}x{} Matrix Mixer".format(requirements["inputs"], requirements["outputs"]))
print("{}".format("="*50))
print("{0:>5}x MAMI-INPUT-Module".format(n_input_modules))
print("{0:>5}x MAMI-OUTPUT-Module".format(n_output_modules))
print("{0:>5}x MAMI-QUAD-Module\n".format(n_quad_modules))
# Collect all the parts
bom = {}
for part in data["mami-input"]["parts"]*n_input_modules + data["mami-quad"]["parts"]*n_quad_modules + data["mami-output"]["parts"]*n_output_modules:
if part["MPN"] in bom:
bom[part["MPN"]] += part["n"]
else:
bom[part["MPN"]] = part["n"]
# Print the BOM
print("Parts\n{}".format("="*50))
for key, value in bom.items():
print("{:>5}x {}".format(value, key))
```
%% Output
Needed for a 8x8 Matrix Mixer:
==================================================
4x MAMI-INPUT-Module
4x MAMI-OUTPUT-Module
16x MAMI-QUAD-Module
Parts
==================================================
16x PJ301M-12
8x Subminiature On-Off-(On) Toggle switch
64x P0915N-FC15BR100K
64x Knob
96x 100k 0805
8x LME49720
16x 100nF 0605 25V
%% Cell type:code id: tags:
``` python
```
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment