Current version

-

Status

Work in progress

PCB manufactured

-

PCB assembled

-

BOM

-

File repository

-

License

TAPR v1.0

Contributions

C4.1 (Collective Code Construction Contract)

Planned feature list

  • 14-bit (or 16-bit) 4-channel simultaneous sampling ADC with SPI (same as AFE2)
  • 1 x additionally isolated (floated) voltage input
  • 1 x additionally isolated (floated) current input
  • 2 x programmable bidirectional voltage or current inputs
  • On-board low noise LDO
  • Optional external voltage reference
  • Dimensions: 141.5 x 68.5 mm, 2- or 4-layer PCB

 

Add a comment

Current version

-

Status

Work in progress

PCB manufactured

-

PCB assembled

-

BOM

-

File repository

-

License

TAPR v1.0

Contributions

C4.1 (Collective Code Construction Contract)

Planned feature list

  • 24-bit 6-channel simultaneous sampling ADC with SPI
  • 2 x current inputs with fast auto-ranger circuit: Hi-range up to 2 A, Lo-range: 2 mA with 10 nA for measuring standby current of MCU and IoT devices
  • 2 x voltage inputs with switchable 2 ranges (±3 V and ±12 V)
  • On-board low noise LDO
  • Optional external voltage reference

 

Add a comment

 

Current version

r1B2

Status

Work in progress

PCB manufactured

No

PCB assembled

No

BOM

-

File repository

https://github.com/eez-open/dib-mux14d

(include Eagle, Gerber and BOM files)

License

TAPR v1.0

Contributions

C4.1 (Collective Code Construction Contract)

 

Fig. 1: MUX14D PCB prototype r1B2

Feature list

  • On-board STM32F030C6T6 ARM Cortex-M0 Value line MCU, 32 KiB Flash, 48 MHz CPU, LQFP-48 package
  • 2 x 16-pin dual row 3.81 mm connectors
  • 2 x ADIB connectors (10-pin 2 mm)
  • Dual 2-wire 1:7 reed relay multiplexer switchable to 1:14 multiplexer
  • On-board +3.3 V LDO
  • Firmware download via UART
  • Optional SWD for debugging
  • I2C EEPROM for storing board specific parameters
  • Dimensions: 131 x 95 mm, 2-layer PCB

The MUX14D module features dual 2-wire 7:1 reed relay multiplexer that can be combined in single 14:1 multiplexer. Multiplexer output is exposed on front panel terminal or can be connected (firmware controlled) to ADIB that offer internal wiring with other modules (e.g. MIO168).

 

The module has two 16-pin 3.81 mm connectors on the front panel thanks to which it is possible to quickly and easily connect the wires without the need for an additional breakout box. 8-way pluggable female terminal connector blocks in low-profile push-in and screw-fasten variants can be used to connect the wires.

 

Fig. 2: MUX14D block diagram

EEZ DIB interface

The SMX46 module interface with the MCU module is accomplished over the 28-pin 0.1” right angled header (X2).

On-board I2C EEPROM (IC1) provides storage for module-specific information such as its ID, analog outputs calibration data, working hours counters and relay switch cycles. Its address is defined by RN2-2 to RN2-4 pull-up resistors and ground connections on the backplane.

 

The STM32F030C6T6, a mainstream ARM Cortex-M0 Value line MCU with 32 KiB Flash, 48 MHz (IC1) is used to control power relays and to communicate with the master MCU on the MCU module.

UART and BOOT0 are used to program its flash memory, a process that is controlled by the master MCU and can be easily done via a touchscreen screen without the need for an external programmer/ debugger (ST-Link or similar). 3-state buffer (IC2) is used to control the UART TX output which can only be active while downloading the firmware to flash memory.

 

The powering of the MCU and all logic is done via 3.3 V LDO (IC3) which uses +5 V from DIB.

 

Two 10-pin 2.0 mm ADIB connectors (X1, X3) are used for internal connectivity with other modules (e.g. MIO168): P1 multiplexer output could be connected to ADIB #1 and P2 output to ADIB #2. MUX14D ADIB ID is set to 002.

 

Fig. 3: MCU pin assignment (CubeMX) for r1B2 version

 

 

Fig. 4: DIB, ADIB, power, EEPROM and MCU

Reed relay multiplexers

Dual 2-wire 7:1 multiplexers are accomplished with two group of low power reed relays (K1-K7 and K10-K16). Multiplexer outputs are exposed to front panel terminals (pin X6-15, X6-16 and X6-7, X6-8). Outputs could be selectively applied to ADIB connectors that provides internal wiring to other DIB modules equipped with ADIB connections.

Multiplexer outputs can be combined to make a single 14:1 multiplexer by using to K8 relay.

 

Fig. 5: Multiplexer switches

Two 8-port darlington drivers (IC5, IC6) are used to drive two group of reed relays (K1-K7, K9 and K10-K17). Selected drivers feature protection diodes whose common outputs are connected using zener diodes (ZD1, ZD2) at +5 V.

The remaining relay (K8) has a separate driver (Q1) with protection diodes (D1, ZD3).

 

Fig. 6: Multiplexer drivers

 

 

 

Add a comment

 

Current version

r1B3

Status

Work in progress

PCB manufactured

Yes (r1B2)

PCB assembled

Yes (r1B2)

BOM

-

File repository

-

License

TAPR v1.0

Contributions

C4.1 (Collective Code Construction Contract)

 

Fig. 1: AFE1 r1B2 prototype

Feature list

The EEZ DIB 4-channel Hi-voltage / Hi-current AFE for MIO168 module

  • 24-bit 4-channel simultaneous sampling ADC with SPI
  • 2 x Hi-voltage channels featuring 3 measurement ranges (±2.4 V, ±12 V, ±240 V), and one current range (±240 mA)
  • 2 x Hi-current channels, featuring 3 measurement ranges (±24 mA, ±1 A, ±10 A) and 2 voltage ranges (±2.4 V, ±15 V)
  • Latching relays for lower continuous power consumption
  • On-board ±2.5 V low noise LDOs
  • Dimensions: 141.5 x 68.5 mm, 4-layer PCB

Fig. 2: AIN#1 three range hi-voltage / two range lo-current input, latching relays driver

 

Fig. 3: AIN#2 three range hi-voltage / two range lo-current input

 

Fig. 4: AIN#3 three range hi-current / two range lo-voltage input

 

Fig. 5: AIN#4 three range hi-current / two range lo-voltage input

 

 

Fig. 6: 4-channel 24-bit simultaneous ADC, Low noise LDOs

 

Add a comment

Work in progress

 

Node-RED is a free and open source flow based programming tool for event-driven applications that provides a browser-based editor that makes it easy to wire together program flows using the wide range of predefined nodes that perform a specific action.

The integration of EEZ BB3 with Node-RED allows the creation of complex automation tasks quickly and without the need for common procedural programming. This makes this solution suitable for use in ATE environments for benchtop development, lab testing automation or manufacturing floor quality assurance.

An additional advantage of this combination is that it is end-to-end open source and cross-platform which facilitates deployment in different environments and facilitates the sharing of test procedures.

Node-RED also includes support for Git which further simplifies team development and sharing.

This chapter will describe how to install Node-RED and a simple flow example to automate relay contact testing. The flow used is available at https://github.com/eez-open/node-red-relay-loop-test

17.1. Node-RED installation

Unlike the MicroPython integration described in the Scripting with MicroPython chapter where the MicroPython script is executed autonomously on EEZ BB3, in the case of Node-RED you will need to have a computer on which to execute it. To communicate with EEZ BB3 it will be necessary to establish a connection via the Ethernet interface. For this reason, it will be necessary to install Node-RED first.

Details of the installation can be found on the official Node-RED website at the following link https://nodered.org/docs/getting-started/local

In short, the installation can be summarized in the following few steps:

1

Node-RED requires a supported version of NodeJS.

Download and install NodeJS for your operating system available at https://nodejs.org/en/download/

 

2

Open a terminal application (in Windows this is called the Command prompt) and start the Node-RED installation with the following command:

npm install -g --unsafe-perm node-red

Linux users requires root privileges, therefore the command has to include sudo:

sudo npm install -g --unsafe-perm node-red

The same command can be used later to upgrade Node-RED to the latest version.

 

3

The same procedure is needed to install the Node-RED dashboard. Windows user need to enter the following command:

npm install node-red-dashboard

On Linux system enter:

sudo npm install node-red-dashboard

4

Run the following command to ensure Node.js and npm are installed correctly:

node --version && npm --version

In response, you will receive versions number similar to:

v12.19.0

6.14.8

 

17.2. Node-RED running

Node-RED is also started from the terminal (command prompt). To start enter:

node-red

Note that the terminal in which you started Node-RED must be active at all times for normal operation. If you want to exit, first press Ctrl + C and wait for the prompt to appear. You can then close the terminal application or run Node-RED again.

 

Welcome text similar to the one shown below will appear on Linux:

 

bb3_man_node-red_started.png

 

Node-RED will also display the log of its activities in the terminal. The log output at the beginning provides information such as:

  • The versions of Node-RED and Node.js
  • Any errors hit when it tried to load the palette nodes
  • The location of Settings file and User Directory
  • The name of the flows file it is using, etc.

The first time you run node-RED on Windows, a firewall warning will appear. Confirm default settings by selecting the Allow access option.

 

bb3_man_node-red_firewall.png

 

The Node-RED editor can be accessed using an internet browser by typing

 

http://localhost:1880 or http://127.0.0.1:1880

 

bb3_man_node-red_editor.png

 

The Node-RED editor will be available at the same address if we add/ui to the end, i.e.

 

http://localhost:1880/ui or http://127.0.0.1:1880/ui

 

bb3_man_node-red_dashboard.png

 

Please note that, by default, the Node-RED editor is not secured – anyone who can access its IP address can access the editor and deploy changes.

This will not be a problem as long as everything is running on local and trusted network.

For more details on how to secure Node-RED editor and dashboard visit: https://nodered.org/docs/user-guide/runtime/securing-node-red

 

17.3. Working with projects

On the Node-RED official website, projects are presented as a new way to manage flow files. Rather than treat flows as a simple pair of files, they represent everything you need to create a redistributable Node-RED application.

It is important to know that projects are backed by a Git repository, meaning all of the files are fully version controlled and allow developers to use familiar workflows to collaborate with others.

Working with projects is not enabled by default and this is possible primarily because the git is required to be installed. Information about this can be seen when starting Node-RED:

 

bb3_man_node-red_project_off.png

 

To enable projects it will be necessary to install git first. Git is also free and open source and can be downloaded from https://git-scm.com/downloads.

More information about the installation is available at https://git-scm.com/book/en/v2/Getting-Started-Installing-Git.

 

Close Node-RED before starting the Git installation.

 

For Ubuntu, this PPA provides the latest stable upstream Git version:

sudo add-apt-repository ppa:git-core/ppa

sudo apt update

sudo apt install git

In the case of Windows, you will need to download the installation and run the installation wizard. In principle, you can proceed to confirm all the default options. However, there is a possibility that after installing git you will not be able to run from the command prompt (because its location is not added to the PATH environment variable). If this happens you will need to reinstall Git and select the following option in the Adjusting your PATH environment step:

 

bb3_man_git_win_install.png

 

To check that the git is installed and can be run (i.e. that in the case of Windows the PATH environment variable is correctly modified) it will be enough to type in the command line:

git

The final step to enabling projects is to modify the Node-RED settings.js configuration file.

The location of this file on linux is in the user home folder in the .node-red subfolder. Therefore you can use the following command:

cd ~/.node-red

It's similar with Windows: look for it in Users\<user name>\.Node-red

In the editorTheme:projects:enabled section within the module.exports block, it is necessary to replace false with true:

// Customising the editor

editorTheme: {

projects: {

// To enable the Projects feature, set this value to true

enabled: true

After saving the change, run Node-RED once again and this time the following dialog will appear in the Node-RED editor (at 127.0.0.1:1880):

 

bb3_man_node-red_project_open.png

 

Now we can start making our test flow. Here, select the Create project option and type relay-loop-test as the project name. An empty workspace will open. The available nodes will be displayed in the list on the left. Since there are a large number of them you can use the Collapse or Expand options at the bottom left. In this case, you can get to the desired node by using the Search field at the top left.

 

bb3_man_node-red_nodes.png

 

bb3_man_node-red_nodes2.png

 

The workspace editor allows you to work with multiple tabs and the first tab is called Flow 1. We can change its name as needed. Let's say we change it to Main. This will require a double click on the tab name (i.e. Flow 1) when a new dialog will open and we can enter a new name.

 

Since Node-RED editor is a web browser application, it will not be able to right-click on any option.

 

bb3_man_flow_rename.png

Fig. 1: Change flow name

17.4. Test scope and features

The scope of this example is to test changing states of one set of relay contacts at the time. The wiring diagram is shown in Fig. . One output from the power module (DCP or DCM) will be used to power the relay coil. A DOUT1 output will be used to test the state change, which will be fed to the DIN1 input via the relay contact. To increase immunity to external interference on DIN1 we will use a pull-down resistor.

 

bb3_man_node-red_wiring_diagram.png

Fig. 2: Wiring diagram

 

The Node-RED dashboard will be used to interact with the test flow in which we want to have the following:

  • Ethernet connection control
  • Module identification in the first slot
  • Setting the relay voltage (D.U.T.) and the break between the two tests
  • Counters for Passed, Failed and Total number of tests
  • Start and stop control and counter deletion
  • Graphical display of results

 

Add a comment

Subcategories