DyIO module

From Neuron Robotics Wiki

(Redirected from DyIO)
Jump to: navigation, search

Contents


Overview

This page provides a standard description of the DyIO module.

To buy your own DyIO, check out our DyIO product page

See the Getting started main page for more helpful guides.

Feature Set

Fig. 1: The Neuron Robotics DyIO module

A list of the features of the DyIO module:

  • Uses Bowler Communications System
  • Direct USB connection for communication between a controlling machine and a connected DyIO module.
  • A serial interface allows for communication between a controlling machine and a connected DyIO module independent of the controlling machine's operating system
    • No driver needed in Linux and OS X
    • Standard serial driver required for Windows (XP, Vista and 7)
  • Bowler Expansion Port for accessories and communications adapters (i.e. Wireless adapter)
  • Can be updated over USB or Bowler Expansion Port
  • Easily update-able firmware- only a single file is needed for firmware updates.
  • Cross-platform update application
  • 24 On-The-Fly Reconfigurable I/O channels
    • Each channel is a standard .1 inch 3-pin signal/power/ground connector
      • See "Fig. 3: The DyIO without external power" under the section labeled "Power" below for pin layout.
      • Typical hobby servos can be plugged directly into the channel.
      • This is standard layout for many prepackaged sensors
    • 2 banks of 12 channels per bank
  • 8 Real-Time Control Loops (P.I.D. controllers)
    • 8 Independently configurable P.I.D. control loops
    • Link any input channel to any output channel for real-time control
    • Coordinated motion and velocity control

DyIO Layout

Fig. 2: An overview of the DyIO's layout

The DyIO has 24, 3-pin channels that are grouped into two banks with 12 channels each (see Fig. 2: An overview of the DyIO's layout). These channels are used to connect sensors, actuators (i.e. servos) or other peripherals to the DyIO. Each channel has a number of possible modes that change the behavior of the pin and give the user access to different functionality (see Table A for a description of each mode, and Table B for a list of possible modes for each channel).

There are three status LEDs (see Fig. 2: An overview of the DyIO's layout) on the DyIO that use color and flashing to indicate different messages to the user. The LED in the center of the DyIO (the blue circle in the middle of the diagram) is called the "status LED" and displays the general status of the device. The two remaining LEDs positioned below each channel bank (the "Bank" or "Power Mode" LEDs) indicate the power status of the bank directly above it (this is due solely to the voltage on that bank, and is independent of the power mode set for that bank). See the section labeled "LED Reference" for the color key.

The switches above each channel bank (see Fig. 2: An overview of the DyIO's layout) changes the power state of each bank. The two possible power states are:

  • Regulated (Labeled Reg. or Sensors on the DyIO: select this state to pull power from the USB connection or a connected accessory)
  • External (Labeled Ext. or Motors on the DyIO: select this state to pull power from a connected external power source- IE a battery pack)

See the section labeled "Power" for more information on power and the DyIO.

At the top of the DyIO there are 3 connections:

  • The USB-Mini connection allows a user to directly plug the DyIO into a host though standard USB.
  • The 7-pin "Bowler Expansion Port" allows users to plug in accessories and adapters.
  • The 2-pin connector is where external power is connected (if needed).

There is a small hole near the center of channel bank A. This is an access to the reset button. A user will need to use a paperclip or other thin prod to reset the device (reboot the firmware) or to put the DyIO into firmware update mode.

Power

Fig. 3: The DyIO without external power.
Fig. 4: The DyIO with external power.
  • Because sensors are sensitive to power fluctuations, choose the Sensors (or Reg.) power mode for banks with connected sensors.
  • Sensors mode can pull power from an accessory connected via the Bowler Expansion Port or from the USB connection.
  • Accessories supplying power via the Bowler Expansion Port and USB power supplies will not conflict (IE, having both connected at the same time will not cause issues- power will be pulled from whichever connection supplies the higher voltage)
  • Choose the Motors power mode to pull power from a connected battery pack for banks with connections to high-current devices (like servos or other motor drivers).
  • The power modes are independent- you need not select the same mode for both banks.
  • USB or connected accessories will only supply AT MOST 500 Ma. This power is shared between any banks set to Sensors mode.
  • If power is supplied through a USB connection, and the total current pulled from all banks set to Sensors mode exceeds the power available from that USB connection, then (by USB spec.) that USB connection will automatically be terminated. Restarting the computer will reset the USB connection, but make sure you've disconnected some of your sensors first!
  • If power is supplied through a connected accessory, and the total current pulled from all banks set to Sensors mode exceeds the power available from that accessory, DAMAGE WILL OCCUR.
  • The DyIO will return an error if a "High-current" mode (any channel mode labeled "High Current Only" in Table A) is attempted on any channel in a bank set to Sensors power mode.
  • High-current operations (any channel mode labeled "High Current Only" in Table A) will return an error when the channel bank is set to external power ( the Motors power mode) and there is no external power connected.
  • The color of the LED directly below each bank (the "bank LEDs") indicates the voltage on that bank (this is independent of the set power mode for that bank). See the section labeled "LED Reference" for the color key.

LED Reference

Status LED Key:

  • Blue: Device is connected to an application and communicating.
  • Teal (both Blue and Green): Device is not connected to an application or not communicating.
  • Purple (both Blue and Red): Battery voltage fluctuation error (the voltage on a bank set to Motors power mode is fluctuating). This is usually caused by the connected battery pack being close to dead or dead, and will update every 10 seconds.
  • Red: Error condition. Try re-flashing the firmware.
  • Red to Green slow flashing: Error condition. Try re-flashing the firmware.

Bank ("Power Mode") LED Key:

  • Green: Rail is at regulated voltage, 4.25v-5.25v .
  • Red: Rail is at servo power voltage, 6.5v-8.5v .
  • Orange (both Red and Green): Rail at an invalid voltage for powering anything (0v-4.25v or 5.25v-6.5v).

Channel Modes

Each channel can be set to a variety of modes. Currently, all channels can be set as a Servo Output for controlling standard hobby servos, Digital Input for reading high or low values (i.e. a button) or Digital Output for setting high or low values (i.e. an LED or relay accessory).

Most channels can be set to additional modes as well.

See Table A below for a quick description of each mode, and Table B below for a list of possible modes for each channel.

Table A: Channel Modes

Icon Mode High Current Only Group Description
File:digital-input.png Digital Input No Reads the voltage connected to the input. Over 2.5v is considered high, otherwise it is considered low.
File:digital-output.png Digital Output No Sets the output voltage to 5v when 'high' and 0v when 'low'.
File:analog-input.png Analog Input No Reads the voltage connected to the input and returns it as a 10bit integer.
File:servo-output.png Servo Output Yes Controls a standard hobby servo from 0 to 255
File:pwm-output.png PWM Output No Pulses the output. Sets the sets the output between 0% and 100%
File:uart-tx.png UART Tx No UART Sends serial data to a connected device.
File:uart-rx.png UART Rx No UART Reads serial data from a connected device.
File:counter-input-tick.png Counter Input Tick No Counter In When triggered, increments/decrements the counter.
File:counter-input-direction.png Counter Input Direction No Counter In Sets whether the trigger increments or decrements.
File:counter-input-home.png Counter Input Home No Counter In Clears the counter to 0
File:counter-output-tick.png Counter Output Tick No Counter Out Software square wave with the number of output edges corresponding to the set point
File:counter-output-direction.png Counter Output Direction No Counter Out 90 or -90 (based on positive or negative set points) degree out of phase square wave from the above wave.
File:counter-output-home.png Counter Output Home No Counter Out Clears the counter to 0
File:pwm-output.png SPI clock No SPI Clocks out the SPI clock as data is transferred
File:uart-tx.png SPI Tx No SPI Sends the serial data out
File:uart-rx.png SPI Rx No SPI Reads the serial data in
File:pwm-output.png PPM signal reader No This mode is designed to read a 6ch PPM (R/C transmitter) signal and convert the data into Bowler commands


Table B: Possible Modes by Channel Number

Channel Digital In Digital Out Analog In PWM USART Servo Counter In/Out Tick Counter In/Out Direction Counter In/Out Home DC motor Velocity DC motor Direction SPI PPM Reader
00 X X X X X
01 X X X X X
02 X X X X X
03 X X X X
04 X X X X X
05 X X X X X
06 X X X X X
07 X X X X X
08 X X X X X
09 X X X X X
10 X X X X X
11 X X X X X
12 X X X X
13 X X X X
14 X X X X
15 X X X X
16 X X X X X
17 X X X X X
18 X X X X
19 X X X X
20 X X X X
21 X X X X
22 X X X X
23 X X X X X

Remote Procedure Calls implemented in the DyIO

The DyIO implements the following namespaces:

bcs.core

bcs.io

bcs.io.setmode

neuronrobotics.dyio

Personal tools