Monday, 1 December 2014

PCBS and PANELS

patchbay

The circuit for the patchbay consists of four 74HC165 and four 74HC595 ICs connected to headers for patching. The patched connections are determined by stepping through each output of the 595s, sequentially sending a high signal out of each output pin. For each step the inputs of the 165s are read. If a connection has been made then the input will receive a high signal and will return a low signal if nothing is connected. This data is stored in an array and sent to software using serial communication.

In comparison with analog patching interfaces, this method eliminates a lot of the complexity and expense involved when dealing with the high sampling rates required for patching audio rate signals in and out of the computer. The downside of using this method is that all inputs and outputs have to be read in the same cycle. This forces a compromise to be made between the maximum number of inputs and outputs and the total time taken to read them.

Initial testing using the Arduino resulted in a significantly perceivable delay between patching a connection and the resulting connection being read by the software. This is particularly problematic as it is being used in a realtime musical situation. Further testing was done using timers for a more accurate observation of different elements of the code and their influence on the read time. 

using digital read and write 
~765ms for 32 inputs and 32 outputs

using port manipulation
~730ms for 32 inputs and 32 outputs

using teensy microcontroller
~65-150ms for 32 inputs and 32 outputs

The use of serial.print was found to be the major cause for the slow read times. This was improved by only sending serial data when new connections are detected, this brought the read time down to ~3ms.

CODE:
Finally, a pcb was also designed for the patch bay circuit using headers to allow chaining of multiple boards using ribbon cables. The teensy will then be mounted on perfboard with headers to allow communication with the pcbs. This makes the system expandable and facilitates further modification and development.








multiplexing
Circuits have also been created to provide the large number of inputs and outputs needed for the physical interface of the modular system. It uses a combination of 4051, 4067 and 5940 ICs to allow for up to 256 analog inputs and 256 outputs. These will be connected to various headers and used for reading sensors and providing visual feedback using leds. More specifically, the 4051 is used to provide 8 rows of positive voltage which are stepped through sequentially. The inputs/outputs (4051/5940) are then read for each step in a similar way to the patchbay circuit.

The circuit was tested on a breadboard using a Teensy micro controller to communicate with the computer. From this, several schematics and pcb designs were created to facilitate reproducibility and efficiency as it would be tedious and time consuming to solder this many connections using wire and perfboard.












The pcb for the mux outputs is still being developed as there is problems with the different channels of the 5940 flickering and bleeding into each other when driven at high speeds. This could possibly be due to problems regarding current or timing in the software.
The pcbs for the patchbay and multiplexing will also be combined into one board in the final design for a more cost effective production process.























panels



Decisions have also been made regarding the standardisation of panel layouts and connections. As stated above, ribbon cables will be used to allow simple and flexible communication between the panels, pcbs and microcontrollers. The various components on the panel will be wired to strips of perfboard mounted behind the panel. These perfboard strips will also be connected to headers, allowing ribbon cables of various different sizes to be connected.

The parameters for each module was sketched and organised in order to make calculations about the number of components needed. This process helped gain a better perspective of the macro structure of the interface and allowed reflection on the different parameters and their relation to each other. In this way, cases of associative and functional similarity were revealed allowing standardisation and flexibility within the design of the interface and mappings.


In addition to this, models were created using cardboard to gain a better sense of the physical proportions involved and their relation to the movements and positioning of the body. During this process, the various issues regarding sizes and positioning were considered, focusing on providing intuitive and accessible control. 

From this, preliminary designs were created for laser cutting the panels.





Another key issue that was considered is portability. The instrument should be light and small enough to carry on my back and should allow for the connected cables to be kept in place whilst travelling. The size and weight restrictions for hand luggage with various different airlines where also checked for compatibility.


No comments:

Post a Comment