Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Additional Information

https://kunbus-gmbh.atlassian.net/wiki/spaces/KS/pages/2629566465/RevolutionPi+IO-Modules+FAQ?parentProduct=JSM-Portal&parentProductContentContainerId=10001&initialAllowedFeatures=disable-login-flow.disable-share&locale=en-US#How-to-wire-the-RevolutionPi-AIO%2C-MIO%2C-DIO%2C-DI%2C-DO-modules%3F

https://kunbus-gmbh.atlassian.net/wiki/spaces/KS/pages/2629566465/RevolutionPi+IO-Modules+FAQ?parentProduct=JSM-Portal&parentProductContentContainerId=10001&initialAllowedFeatures=disable-login-flow.disable-share&locale=en-US#How-much-RevPi-IO-Modules-can-I-connect-to-a-RevPi

High-Side

Here is a practical example of implementing a High-Side circuit with a RevPi DIO | DO module.

Useful information for this article:
https://revolutionpi.com/tutorials/overview-revpi-i-o-modules/konfiguration-dio-di-do/

Features

A high-side switch refers only to the position of the switch. A high-side switch switches the positive supply voltage. See the illustration below.

All 14 output ports can supply 500mA simultaneously, in high-side mode.
All outputs can be individually set to push-pull, which is the default setting, or to high-side mode.

If the module gets too warm, all ports are switched off. This prevents the device from being damaged.
See under the tuple “Status” under the following link https://revolutionpi.com/tutorials/overview-revpi-i-o-modules/konfiguration-dio-di-do/

Wiring

Connect The RevolutionPi DIO as in the Following picture

Drawio
mVer2
zoom1
simple0
inComment0
custContentId3052503484
pageId2680520754
lbox1
diagramDisplayNameUntitled Diagram-1691063845588.drawio
contentVer1
revision1
baseUrlhttps://kunbus-gmbh.atlassian.net/wiki
diagramNameUntitled Diagram-1691063845588.drawio
pCenter0
width664
links
tbstyle
height751

DIO

Drawio
mVer2
zoom1
simple0
inComment0
custContentId3051783178
pageId2680520754
lbox1
diagramDisplayNameUntitled Diagram-1691063884728.drawio
contentVer1
revision1
baseUrlhttps://kunbus-gmbh.atlassian.net/wiki
diagramNameUntitled Diagram-1691063884728.drawio
pCenter0
width664
links
tbstyle
height763

DO

Drawio
mVer2
zoom1
simple0
inComment0
custContentId3052536274
pageId2680520754
lbox1
diagramDisplayNameUntitled Diagram-1691063930206.drawio
contentVer1
revision1
baseUrlhttps://kunbus-gmbh.atlassian.net/wiki
diagramNameUntitled Diagram-1691063930206.drawio
pCenter0
width641
links
tbstyle
height530

  1. Connect 12V -24V to the X4 plug located on the bottom of the device.

  2. Connect 12V -24V to the X2 plug on the top of the unit to supply power to the output ports.

  3. Connect 12V -24V to the X2 plug on the top of the unit to supply power to the Input ports.

  4. Connect all the grounds marked on the plugs X4 and X2 together.

  5. Connect one port from Output 1 to 14 to the electrical consumer [M], [M] can be a 24V LED

  6. Connect the ground from the electrical consumer [M] to the same ground as the RevolutionPi (X4 plug)

Connect the extension module with a base module

Connect the RevolutionPi DIO to the RevolutionPi Connect with a PiBridge.

RevolutionPi IO-Modules FAQ |

PiCtory Configuration

The following describes how to set up the PiCtory configuration to run the DIO in high-side mode.

For this example, you can use a RevolutionPi Core or Connect. The only difference for this example is which base module is inserted into PiCtory.

Set output to high-Side mode

for high-side mode, 2 bytes are available to switch each output from push-pull to high-side.
Set the corresponding bit to 1 for high-side mode and 0 for push-pull mode. The default value is 0x0000.

For example, you want to run Output O_14, O_10 and O_2 in high-side mode.
The Binary value is 00101000000000102 = 10.24210

10.242 is the decimal value you need to enter into the corresponding field.

Save the config like in the picture below, with “Save as Start-Config“. This Configuration will be load at each boot.

Image RemovedImage Added

Now you have to reset the driver.

Tools → “Reset Driver”

or

Code Block
piTest -x #driver reset

Switching output with piTest from piControl

Check that the RevolutionPI DIO is detected correctly.

Code Block
piTest -d
Code Block
Found 2 devices:

Address: 0 module type: 105 (0x69) RevPi Connect V1.0
Module is present
     input offset: 113 length: 6
    output offset: 119 length: 5

Address: 31 module type: 96 (0x60) RevPi DIO V1.4
Module is present
     input offset: 0 length: 70
    output offset: 70 length: 18

Control of the DIO Output ports

Switch Output 1 (0_1)

Code Block
piTest -1 -r O_1
Bit value: 0

piTest -w O_1,1
Set bit 0 on byte at offset 70. Value 1

piTest -1 -r O_1
Bit value: 1

If output 1 = 1, the circuit is closed.

If output 1 = 0, then the circuit is not closed.

Push-Pull

Here is a practical example of implementing a push-pull circuit with a RevPi DIO | DO module.

Useful information for this article:
https://revolutionpi.com/tutorials/overview-revpi-i-o-modules/konfiguration-dio-di-do/

Wiring

Here, there are two possibilities for a circuit:

Push Mode

Drawio
mVer2
zoom1
simple0
inComment0
custContentId3052863606
pageId2680520754
lbox1
diagramDisplayNameUntitled Diagram-1691063845588.drawio
contentVer1
revision1
baseUrlhttps://kunbus-gmbh.atlassian.net/wiki
diagramNamepull mode
pCenter0
width664
links
tbstyle
height751

Pull Mode

Drawio
mVer2
zoom1
simple0
inComment0
custContentId3052699692
pageId2680520754
lbox1
diagramDisplayNameUntitled Diagram-1691063845588.drawio
contentVer2
revision2
baseUrlhttps://kunbus-gmbh.atlassian.net/wiki
diagramNamePush mode
pCenter0
width664
links
tbstyle
height751

PiCtory Configuration

The register “OutputPushPull” contains a bit field in which is defined which function is active:

  • 0 := Push-Pull

  • 1 := High-Side

For example, the following configuration should be created:

11 1111 1111 1110 dual = 16382 decimal

  • Write the decimal value into the variable “OutputPushPull”

  • Save the PiCtory configuration

  • Restart cyclic data communication

Switch

Code Block
languagebash
piTest -w O_1,1 # Output 1 := 24V
piTest -w O_1,0 # Output 1 :=  0

Read input values

How to read values from the inputs of the RevPi DIO | DI

Code Block
languagebash
piTest -r I_1 # Input 1 := 12V
1

piTest -r I_1 # Input 1 :=  0V
0
Drawio
mVer2
zoom1
simple0
zoominComment10
inCommentcustContentId03053125655
pageId2680520754
custContentIdlbox30531256551
diagramDisplayNameUntitled Diagram-1691063845588.drawiolbox1
contentVer1
revision1
baseUrlhttps://kunbus-gmbh.atlassian.net/wiki
diagramNameINPUT-1691063845588.drawio
pCenter0
width594
links
tbstyle
height751

Input Mode

Encoder

Counter

All inputs, of the DIO, DI that have been activated, can count individually on rising or falling edge.

Image Added

To read the value of on counting register:

Code Block
piTest -r Counter_1_xyz

PWM

To activate the PWM signal, you have to set the following variable to 1.

Code Block
OutputPWMActive_i04 = 1

In the PiCtory you can configure the period of the PWM Signal

This function is availably on the RevPi DIO | DO

Image Added

each individual output can send out a PWM signal.

Image Added
Info

You can select only one frequency for all outputs.