EEZ DIB SMX46 switch matrix module
Completed, ready for production
Yes (TME, Mouser, Digikey, Farnell, RS)
(include Eagle, Gerber and BOM files)
- 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)
- 4 x 6 switch matrix (24 two-wire crosspoints), max. 2 A
- 1 x power relay, max. 8 A / 230 Vac
- 2 x analog output 0 – 10 V, 10 mV set resolution (12-bit)
- On-board +3.3 V LDO
- Firmware download via UART
- Optional SWD for debugging
- I2C EEPROM for storing board specific parameters
- Dimensions: 146 x 95 mm, 2-layer PCB
The SMX46 module offers a switch matrix of 24 signal 2-wire crosspoints organized into 4 rows and 6 columns. Additional functionalities are two analog outputs and one power relay with two SPDT (form C) switches.
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.
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 (IC3) 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 (IC4) which uses +5 V from DIB.
Two 10-pin 2.0 mm ADIB connectors (X6, X7) are used for internal connectivity with other modules (e.g. MIO168): Y1A/Y1B lines are exposed to ADIB #1 and Y2A/Y2B to ADIB #2. SMX46 ADIB ID is set to 001.
Switch matrix and power relay
Two wire crosspoints switch matrix were made by contacting the signal relays K1 to K24 as shown in Fig. 5.
Matrix line pairs are exposed on the front panel connectors X3 and X4 and are denoted by the suffixes A and B: the columns have designations from X1A/X1B to X6A/X6B, and the rows Y1A/Y1B to Y4A/Y4B.
Low power MOSFETs (Q2 to Q25) are used to drive the switch matrix relays, whose inputs also have pull-down resistors (RN2-RN8, Fig. 4) for better immunity.
Relay coil suppression is accomplished by a combination of rectifier (D2 to D25) and zener (ZD2 to ZD25) diodes. This affords the best compromise both to coil switch protection (MOSFET) and relay switching performance and reliability. The relays are powered by +12 V which is filtered with C3.
The on-board power module (K1) offers switching of two additional circuits.
The MCU used does not offer DAC outputs so PWM is used to generate analog signals. Conversion of PWM to analog signals is accomplished with DC filtering and additional ripple cancellation (IC5) as proposed by Stephen Woodward (see EDN article Cancel PWM DAC ripple with analog subtraction, November 28, 2017).
Since the PWM amplitude is +3.3 V, the generated analog signal cannot exceed this voltage. For this reason, a non-inverted op-amp (IC6) with a gain of about 3.13 is used so that the max non calibrated output voltage is just over 10 V (10.3 V).
The output current is limited by using R6 + R7 and R12 + R13, and TVS1 and TVS2 are used for overvoltage protection.
Table of content
- DIB BP3C backplane
- DIB AUX Power Supply
- DIB STM32F7 MCU module
- DIB DCP405 Power module
- DIB DCM220 Dual output power module
- DIB DCM224 auxiliary power module
- DIB SMX46 switch matrix module
- DIB PREL6 power relays module
- EEZ DIB MIO168 Mixed I/O module
- DIB MIO168 AFE1
- DIB MIO168 AFE2
- DIB MIO168 AFE3
- MUX14D 2-wire dual 7:1 (14:1) Multiplexer
- Specification and comparison with the EEZ H24005
- Wire harness
- User Manual
- 1. Introduction
- 2. Key features
- 3. Operation Environment
- 4. Unpacking and Checking the EEZ BB3
- 5. Overview
- 6. Getting started
- 7. Basic operations
- 8. System settings
- 9. System functions
- 10. Channel protections
- 11. Special channel functions
- 12. Power modules calibration
- 13. Firmware upgrade
- 14. Data logging
- 15. MQTT
- 16. Scripting with MicroPython
- 17. Node-RED integration
- 18. Troubleshooting
- 19. MIO168 mixed I/O module
- SCPI reference manual
- 1. Introduction
- 2. Syntax and style
- 3. Registers and queues
- 4. Common command reference
- 5. Subsystem command reference
- 6. Device-specific (unclassified) commands
- 7. Error messages
- 8. Parameters and settings
- 9. Software simulator
- 10. Programming examples
- 11. SCPI commands scheduled for upcoming releases
- 12. SCPI commands summary
- Building instructions
- Firmware and scripts