Control Surface Architecture



An architecture optimizing simplest construction of a large capacity platform.






Block Level

Text Box:  The MIDI Control Surface is best understood from it's constituent parts:
  1. The Panel Controls, Switches, and Display;
  2. The MIDI Ports;

    Understanding the above one could use the control surface

  3. The Motor Drive;
  4. The Central Processor;
  5. The Analog to Digital Conversion;
  6. The Power Supply.

    Understanding the last four circuit elements, one could build or service the device.
  • The Panel Controls are generally motorized rotary potentiometers. The "etch-a-sketch" cursor controls are manual rotaries.  Momentary push button switches issue stored MIDI sequences, or affect the operation of the Device.  The Liquid Crystal Display indicates mode, status, and provides data presentation.

  • The two MIDI ports are autonomous, allowing for 32 MIDI channels.   As each parameter control maps to user specified MIDI message type, it also maps to a user specified MIDI channel, and output port A or B.

  • The Motor Drive circuit configuration is mated to software which interleaves the sampling of each Potentiometer with the drive to ensure a quiet analog environment for sampling.  

  • The Central Processor provides for 45 different independant control signals which are used to enable Motor Drive electronics, set the direction of travel for the potentiometer motors, and select input channels for conversion.  The MIDI ports are hosted by the central processor;

  • 24 analog inputs are sequentially selected and sampled @ 8 bits by the Analog to Digital Converter with simple filter algorithm which stores potentiometer value as 10 bits.

    Analog inputs connect to a pool of potentiometers. The main 16 parameter controls connect to two of the three Max1110 integrated Mux/ADC's.  An The remaining 8 analog input channels connect to the another Mux/ADC.  Two manual Joysticks require four channels (two pot's per), 2 manual LCD Cursor navigation controls a channel apiece.  The remaining 2 channels provide for external Pedals or other external potentiometers.

  • The Power Supply is comprised of three (3) regulators, one for Motor Drive, another for Logic power, and the remaining regulator drives the analog conversion components.


The major items that incorporate into this MIDI Control Surface tabulate below

Major Items List
        24 Analog Inputs 
 16 motorized rotary controls  Shokai 20K linear   Parameter Control 
 two joysticks  MECA  4 Pot's Dual Control 
 two rotary cursor   Noble  UP/Down, Left/Right 
 2 external Inputs  Lot  Foot Pedals 
          Digital Interface 
 8 Momentary Buttons  Aries  Macro, Message, Mode & LCD control 
 40x2 LCD  Seiko  Parameter and Information Display 
 2 MIDI OUT Ports  DS89c420  User Selected Channel Assignment 





Schematic Pages

The overall schematic for the Control Surface is spread across four sheet.  These sheets and their description, is tabulated below.

Midi Control Surface Hardware Section Schematic
 1  The Central Processor  (a high-speed 8051 variant), two MIDI ports, 40 bits of Motor direction/enables, "mux" addressing, and a 40x2 LCD); Central Processor
 2  The Motor Controller (16 motors driven with Left, Right and Enable/Disable signals)and Power Supplies. Motor Drive - Interface
 3  24 Input Analog Multiplexer and 8 bit Analog to Digital Conversion Analog to Digital Conversion
 4  Potentiometer Connection  Potentiomer Interface




Analog to Digital Conversion

The "digitization" of all Potentiometers (rotary or joystick) is performed to an 8 bit quantization level by MAX1110 serial multiplexing ADC's.  As 24 channels are needed three chips implement.  The Max1110 has a 50KHz maximum conversion rate which means that if connected free-running the ADC's maximum per pot conversion rate is ~ 2000 conversions per second.  A conversion rate of ~100 times a second is implemented in this design.

Panel Controls

Text Box:  Upon power up the control surface retrieves the last mode and potentiometer mechanical setting.  This restored parameter set is immediately issued out of either or both MIDI ports.  Stored settings can be retrieved from the catalog of stored settings.  

The control surface can also be "reset" to a uniform minimum, median, and maximum settings.

Switches connect to either of two MAX7600 I2C parallel port bit.  The ports selected are such because they can generate and interrupt to the microcontroller.  This feature is not exploited in the current design.

The LCD interfaces using 8 data bits and Register Select, Read/Write &, Enable signals.

Motor Interface

The Motor Driver Implementation incorporates both Motor and Potentiometer related signals.   The main components of the Motor Drive / Potentiometer implementation (depicted upon page 2 of the Control Surface Schematic), list below:
  • Heat Sinks for each Motor Drive I.C. package;
  • Bulk capacitor storage for the motor drive circuits
  • Glitch suppression capacitors for the digital direction circuits,
  • 8 L293DNE "H BRIDGE" Motor Drivers powered using a 6 VDC power supply for the motors and a seperate 5 VDC for the logic power;

Motor Circuit Integration

The L293DNE integrated circuit incorporates two H-Bridge motor driver circuits per chip. Additionally, the chip also includes four "fly-back" diode snubbers typically required to accomodate "back EMF" from the connected motor coils.  This greatly reduces the wiring and component counts as only 8 I.C.'s (and their companion capacitors) are required to connect the 16 potentiometer motors.

Motor Logic  

The Potentiometer Motor Drive encompasses 16 individual drive circuits.  Two drive circuits implement per L293DNE chip.   Each, of these 16, motor driver circuits requires 3 Control Bit's.   An Enable and two Direction Bits. The resulting Truth Table is depicted below:

 Motor Truth Table
ENABResult
100Fast Brake
101LEFT
110RIGHT
111Fast Brake
0XXFree Wheeling


As up to two motors can be driven from a single L293DNE 16 Pin Dip integrated circuit, and in order to reduce power demand upon the power supply, as well as, reduce motor driver heat disipation, by convention only one driver circuit per integrated circuit package is "enabled" at a time.  With 8 chips comprising the motor driver section this means that only 8 of 16 motors by convention are adjusting at any one time.  This configuration reduced the wiring requirement in that only two (instead of four) "direction" bits must connect to each L293 chip.  

This results in the ability to adjust a single or up to eight potentiometers at any given time.  The microcontroller performs this adjustment such that this characteristic is not necesarilly perceptible to the eye.

Although each chip (and thus every two motors) share the same two direction bits, each driver is individually "enabled". This allows a variety of grouping when potentiometers are driven in the same direction (off or full on).

The microcontroller connects to each motor driver chip using an intermediary "port expander" chip.  This integrated circuit connects to two signals of the microcontroller and exchanges data using a synchronous serial format.  The two expander chips implement to provide eight pairs of "direction bits" (as defined above) and 16 individual motor enable bits.


Construction Techniques

Microcontroller

The microcontroller implements as a programmed control device.   The algorithms are described within the Firmware Page.

Many choices of microcontroller exist. This design implements a Maxim DS89C420 microcontroller.  This micro is an i8051 "variant" and represents a very fast and high integration solution for embedded control. For this design, the '420 provides:
  • 1K Static Ram
  • Two interrupt driven Serial Ports for MIDI
  • 16K of Flash partitionable as 8K program (code) and 8K data storage (settings)
  • A potentiometer "read" timer, and a motor "write" timer
  • A data port for the ADC, a data port for the LCD
  • Individual "bit ports" for ADC addrs, LCD control, and synchronous serial signal generation
  • Very fast execution rate.

Many other variants exist with chip socket compatibility.   Some variation of this design can implement for many 8051 variants including low cost devices.  Lower cost 8051 variants could engender some feature reduction.   Examples of features vs. processor type are:
  • The majority of 8051 variants will only provide 1 MIDI output channel;
  • The majority of 8051 variants will not provide 1K of XRAM Memory;
  Two MIDI output channels require a microcontroller equipped with two UARTS. The DS89C420 implements in the embodiment described upon this page. Alternative processors such as the DS80c520, and with some modification, DS80c320 can be used.

The central microprocessor connects to the motor driver using 16 "Motor Selects" and 4 sets of A-B Direction Bits.   These signals derive from the Max7300 port expander chip.   The Table above summarizes the   The Potentiometer Interface depicts the connection of the potentiometer motors and resistive control output.

Power Supply

The Power Supply consists of an outboard source of 12 VDC @ 3 amps. This source is distributed to three regulated power supply sub-configurations.
  • The Motor Regulator is a standard "right out of the data sheet" LM350 regulator adjusted to provide 5.6 VDC to the Motors (via the L293DNE driver IC's). The selection of the LM350 was to ensure enough current to allow many simultaneous motor activations (the stall current for a potentiomenters' motor is 125 ma. with 100 ma being typical of non-impeded rotation).   Note that each driver IC has a local "resevoir" capacitor of 100uf.

  • The Logic Regulator is a standard LM340 type 5 VDC regulator and drives the logic portion of the motor drivers, the microcontroller, the 74HC593s, and the MIDI interface.  Each logic chip has local "de-coupling" via .1uf capacitors with some resevoir capacitors distributed near chips which require the greatest amount of transient power

  • An additional LM340 regulator is provided to power the MAX1110 ADCs and the potentiometers.

The grounds of all regulators and the chips they supply are "star" connected to a single point at the point of entry to the regulators.
Hosted by www.Geocities.ws

1