Flow-X IO interface board

From Electriki
Revision as of 22:31, 27 December 2008 by Michai (talk | contribs)
Jump to navigationJump to search

So what is this anyway?

Below follows a description of a nice hobby-project to make an interface board that basically sits between a PC and an I/O module, to read module-outputs and stimulate module-inputs.

Flow-X module

This is a small but very nice modular flowcomputer for the oil- and gas-industry; since I toy with/at this thing at work, why not make a little something to make Life a bit Nicer.

Interface-board

It would be nice to test test and provide stimuli for various digital/analog I/O's on the module from a PC, while meanwhile trying to keep it safe, or rather fool-proof in case I/O is misconfigured (i.e. misconfigured 'low' output connected to 'high' output), because we all make mistakes.

Some of the module's I/O is read/stimulated by the interface-board directly, while for other signals, the board only multiplexes signals or even simply passes them through to a host-PC. All I/O the board is capable of reading/stimulating itself, is passed to/from a host-PC using a serial protocol. Remaining I/O to be read/stimulated is psysically connected to the board, where it is multiplexed or just passed through to the module.

Covered I/O =

The board reads/stimulates the following I/O on Flow-X:

2 RS-232/RS-422/RS-485 serial ports

These are simply passed through from module to host-PC; interface-board only provides a DE-9 connector for convenience sake.

1 PT100 resistance temperature measurement input

Resistance (or temperature) for the module can be specified by supplying an external voltage (0..5V) to the board. The signal is buffered by an opamp and then used to drive a high-intensity LED glued to a LDR. Current is limited to 27mA, just because we are very nice. In fact 27mA is insanely high come to think of it.

3 analog inputs, configurable for current/voltage

ain descr

In case of current-input, the module basically reads the voltage over an internal shunt-resistor. This current can be controlled by feeding the board with a voltage (0..5V), which is buffered by an opamp and fed into the shunt. Current is again limited to 27mA; this is low enough as to not cause damage in the module. V/I will not be linear, mainly because of the current-limiter (LM317), but this can be compensated by software.

In case of voltage input, the board simply places a safety-resistor in between the voltage (0..5V) offered to the board and the module. A relais on the board switches between current/voltage modes.

2 analog current-outputs

To read outputs from these 4..20mA outputs, the board simply contains a 220ohm shunt for each, and outputs the voltage over each shunt as output-level. Software will do conversion back to current.

16 open-collector digital I/O pins

dio descr

Because the module only has open-collector I/O's,

=== serial ports

On the PC

so this is a test

this is a description

text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text and here's a thumbnail: text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text

lala.


subsection again

auxsel descr

subsection 1

ctrsel descr

subsection 2

dio descr
mcu descr
power descr
swap_ab descr

so ok.

--Michai