Wireless Motion Controller

Over the summer of 2007, I worked with a small team of three full time interns and some part time staff at DEKA to develop an advanced general purpose control system for an undisclosed application. It incorporated the National Instruments cRIO system, off-the-shelf 802.11g networking devices from Linksys (using both UDP and TCP/IP), off-the-shelf single board computers running Linux from Digi International and Technologic Systems, and custom electronics, most of which I designed.

The team implemented a number of software programs including LabVIEW Real-Time for cRIO, LabVIEW for laptop debugging, C for the single board computers, C for the 802.11g router, custom networking analysis software using C, PHP, JavaScript, and SQL, and C for the various Microchip 16-bit controllers used in the custom electronics. I was responsible for the software running on the single board computers, the 802.11g routers, and the custom networking analysis software.

The custom electronics were all designed using Altium, samples populated at DEKA by the team, and larger volumes built by a contract manufacturer. The electronics included Ethernet-enabled and CAN-enabled modules all based on Microchip 16-bit controllers using eval kits for reference and initial software development. We designed a number of different pieces of hardware, such as high power distribution units, inertial sensing modules, general purpose IO modules, and high power DC brush motor drives with current and encoder feedback.

By the end of the summer, we had successfully fabricated a number of running prototypes and demonstrated them for management.

Unfortunately, the project is still under NDA until 2012. Reference available upon request.

Areas of Responsibility

During the course of the project, I was largely responsible for several key tasks, detailed below. All of the electronics hardware was CANBus-enabled.

Design of Electronics Hardware

  • Inertial Measurement Unit

    • 3 Axis Accelerometer

    • 1 Axis Yaw Gyro, expandable to 3 Axis Gyro

    • 2 Axis Magnetometer

  • Pneumatics Controller

    • 12V to 24V Boost Converter

    • Solenoid Switching Circuits

  • General Purpose I/O Module

    • Reconfigureable GPI/O and A/D Channels

    • Dedicated A/D Channels

  • Brushed DC Motor Controller

    • 12V, 80A

    • Current Feedback

    • Temperature Feedback

    • Encoder Feedback

    • Hobby Servo PWM Control

    • Dedicated A/D and GPI/O for Additional Feedback

    • RS-232

Software Implementation

  • Network Quality of Service Measurement (Latency and Packet Drop)

    • Single Board Computer

      • Latency and Packet Drop Measurements

    • 802.11g Router

      • Latency and Packet Drop Measurements

    • PHP/JavaScript/SQL

      • Data Processing and AJAX Real-Time Data Rendering