This product is available in our web shop: ExtInOut.
ExtInOut expansion board is a device, that expands the number of motion controller inputs and outputs. This board can be used with Mk3, Mk3/4 and Mk3DRV controller.
Each input uses opto-coupler and a resistor.
*PLEASE NOTE:
Input terminal | Description |
---|---|
Input+ | Input for Vcc signal of opto input |
Input- | Input for GND signal of opto input |
Relay outputs offer: Common, NC (normally closed) and NO(normally opened) terminals.
Relays* specification:
@ Voltage 250VAC, capable of switching up to 10A
@ Voltage 125VAC, capable of switching up to 10A
@ Voltage 30VDC, capable of switching up to 10A
@ Voltage 28VDC, capable of switching up to 10A
*ExtInOut 12VDC → uses 12VDC relays
*ExtInOut 24VDC → uses 24VDC relays
Schematic below describes the use of ExtInOut board with motor contactor, small motor and input
buttons:
Schematic below describes the use of ExtInOut board with LED's, solenoid value and PNP/NPN
proximity sensors:
Diagram below, illustrates connection between Mk3/4 controller and ExtInOut board. It also illustrates connection of small DC motor and PNP proximity sensor with ExtInOut board.
Diagram below, illustrates connection between Mk3/4 controller and ExtInOut board. It also illustrates connection of solenoid value and input button with ExtInOut board.
Diagram below, illustrates connection between Mk3/4 controller and ExtInOut board. It also illustrates connection of motor starter for AC motor value and NPN proximity sensor with ExtInOut board.
Diagram below, illustrates connection between Mk3/4 controller and two ExtInOut boards:
Settings related to EXT are located under File/Settings/Input/Output → I2C,Serial,Ext
Example of EXT settings configuration for one ExtInOut board connected to PlanetCNC controller:
Please note: MK3 controller uses also EXT2 connector. Settings related to EXT2, are under SEL2 chapter.
Frequency: Value of EXT clock frequency. Default value is suitable for most cases.
SEL1 Pin:
Invert: Inverts SEL1 pin Latch:
Size: Inserted value should be equal to the number of ExtInOut boards used with EXT1 connector of controller.
Eg.g.: If you use only one board, value is 1. If you use 3 boards connected in daisy chain, value is 3.
Timer: Refresh time value of ExtInOut board inputs and outputs.
SEL2 Pin:
Invert: Inverts SEL2 pin Latch:
Size: Inserted value should be equal to the number of ExtInOut boards used with EXT2 connector of Mk3 controller.
Eg.g.: If you use only one board, value is 1. If you use 3 boards connected in daisy chain, value is 3.
Timer: Refresh time value of ExtInOut board inputs and outputs Gcode command
ExtInOut relay output control: There are multiple ways on how you can control ExtInOut relay outputs.
Example: M64 H P Q <L>
Activate relay outputs 1 and 7:
M64 H1 P1 Q1 M64 H1 P7 Q1
To turn relay outputs 1 and 7 off:
M64 H1 P1 Q0 M64 H1 P7 Q0
Example: #<_extout1|num>
Activate relay outputs 1 and 7:
#<_extout1|1> = 1 #<_extout1|7> = 1
To turn relay outputs 1 and 7 off:
#<_extout1|1> = 0 #<_extout1|7> = 0
Example: #<_extout1> = n
Activate relay outputs 1 – 4 of first ExtInOut board:
#<_extout1> = 15
Activate relay outputs 1 – 4(outputs 9-12) of second ExtInOut board:
#<_extout1> = 3840
Example: #<_extout1> = BIN[ ]
Activate relay outputs 1 – 4 of first ExtInOut board:
#<_extout1> = BIN[00001111]
Activate relay outputs 1 – 4(outputs 9-12) of second ExtInOut board:
#<_extout1> = BIN[0000111100000000]
Example: #<_extout1> = HEX[ ]
Activate relay outputs 5 – 8 of first board:
#<_extout1> = HEX[F0]
Activate relay outputs 5 – 8 (outputs 13-16)of second board:
#<_EXTOUT1> = HEX[F000]
ExtInOut board input status values are available through parameters: #<_extin1> and #<_extin2> or #<_extin1|num> and #<_extin2|num>
You can use them with your gcode, script files, expressions, toolbar buttons etc..
G-code program example:
G-code program below demonstrates ExtInOut output and input manipulation:
% #<_extout1|7> = 0 //reset ExtOut output 7 G00 X0 G00 X100 o<extin_read> if [#<_extin1|4> EQ 1] //read ExtIn input 4 (msg,program stop: input active) #<_extout1|7> = 0 M2 o<extin_read> else G00 X0 #<_extout1|7> = 1 //set ExtOut output 7 o<extin_read> endif %
We recommend that you read TNG G-code reference manual for more info about the ExtInOut parameter, gcode command and expression functions syntax.
More examples are demonstrated also in the “Custom toolbar buttons” tutorial. Note that in this tutorial expression functions for ExtInOut are used:
How to customize toolbar buttons
ExtInOut board was also used in semaphore application blog, where it was used for input evaluation and semaphore lights control:
EXT input and output status lights can be displayed under IO state panel of PlanetCNC TNG sw.
EXT IO LED settings are located under File/Settings/User Interface/State → LED ExtIn1 and LED ExtIn2 → Rows
LED ExtOut1 and LED ExtOut2 → Rows
Each row displays 8 inputs and outputs of dedicated ExtInOut board. So if you use two ExtInOut boards with EXT1 of your controller, you should use insert value 2:
You can map inputs of ExtInOut board as a shortcut pin in PlanetCNC TNG.
Example: We want to use ExtInOut boards input 1 as a program start button.
Under File/Settings/User Interface/Shortcuts → Machine/Start → Pin → ExtIn1→ ExtIn1 1
DXF file is available at link below: https://planet-cnc.com/wp-content/uploads/sw/doc/ExtInOut.dxf
If any interference problems persist, please also try additional measures below: