Skip to content

4x 5V Buffered Output Module

bdring edited this page Sep 26, 2022 · 21 revisions

This modules uses a 74ACT245 transceiver to take a 3.3V or 5V inputs and give 5V outputs. Each of the 4 channels used can source or sinks 50mA. Each circuit has an LED to indicate when the channel is on. It has a pluggable terminal block that can be plugged in horizontally or vertically.

This can be used for spindle and laser circuits, laser PWM signals and other functions.

It can be used on Module #2, #3, #4 and number #5.

FluidNC Examples

relay:
  output_pin: gpio.14
  enable_pin: gpio.13
  direction_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  spinup_ms: 0
  spindown_ms: 0
  tool_num: 100
  speed_map: 0=0.000% 0=100.000% 1=100%
relay:
  output_pin: gpio.26
  enable_pin: gpio.4
  direction_pin: NO_PIN
  disable_with_s0: false
  s0_with_disable: true
  spinup_ms: 0
  spindown_ms: 0
  tool_num: 100
  speed_map: 0=0.000% 0=100.000% 1=100%
coolant:
  flood_pin: gpio.14
  mist_pin: gpio.13
  delay_ms: 0
laser:
  tool_num: 0
  speed_map: 0=0.0% 1000=100.0%
  output_pin: gpio.26
  enable_pin: gpio.4
  disable_with_s0: false
  s0_with_disable: false
  pwm_hz: 5000

Grbl_ESP32 Examples

Here is an example using Module Socket #3.

// Example 5V output CNC module in socket #3
// https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module
#define SPINDLE_TYPE            SpindleType::PWM
#define SPINDLE_OUTPUT_PIN      GPIO_NUM_26  // 1st channel
#define SPINDLE_ENABLE_PIN      GPIO_NUM_4   // 2nd channel
#define SPINDLE_DIR_PIN         GPIO_NUM_16  // 3rd channel
#define COOLANT_MIST_PIN        GPIO_NUM_27  // M7 on M9 Off

// Example 5V output CNC module in socket #3 // https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module #define SPINDLE_TYPE SpindleType::PWM #define SPINDLE_OUTPUT_PIN GPIO_NUM_26 // 1st channel #define SPINDLE_ENABLE_PIN GPIO_NUM_4 // 2nd channel #define LASER_OUTPUT_PIN GPIO_NUM_16 // 3rd channel #define LASER_ENABLE_PIN GPIO_NUM_27 // M7 on M9 Off

// 5V output CNC module in socket #4
// https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module
#define SPINDLE_TYPE                SpindleType::PWM
#define SPINDLE_OUTPUT_PIN          GPIO_NUM_14
#define SPINDLE_ENABLE_PIN          GPIO_NUM_13 // optional 
#define SPINDLE_DIR_PIN             GPIO_NUM_15 // optional
//                                  GPIO_NUM_12
// 5V Output Module in Socket #4
// https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module
#define USER_DIGITAL_PIN_0      GPIO_NUM_14 //  M62 M63
#define USER_DIGITAL_PIN_1      GPIO_NUM_13 //  M62 M63
#define USER_DIGITAL_PIN_2      GPIO_NUM_15 //  M62 M63
#define USER_DIGITAL_PIN_3      GPIO_NUM_12 //  M62 M63
// 5V output CNC module in socket #4
// https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module
#define COOLANT_MIST_PIN        GPIO_NUM_14 //  M7 on M9 Off
#define COOLANT_FLOOD_PIN       GPIO_NUM_13 //  M8 on M9 Off
#define USER_DIGITAL_PIN_0      GPIO_NUM_15 //  M62 P0 (on) M63 P0 (off)
#define USER_ANALOG_PIN_0       GPIO_NUM_12 //  M67 E0 Qnn (nn=0-100 percent)

Here is an example using Module Socket #5. Note: Socket #5 uses shift register pins and currently PWM is not supported on those pins Note: The shift registers can start in an random state for about a second at turn on. Looking for a solution to this.

// Example (4x) 5V Buffer Output on socket #5
// https://github.com/bdring/6-Pack_CNC_Controller/wiki/4x-5V-Buffered-Output-Module
#define SPINDLE_TYPE            SpindleType::RELAY
#define SPINDLE_OUTPUT_PIN      I2SO(24) // No PWM
#define SPINDLE_DIR_PIN         I2SO(25)
#define COOLANT_MIST_PIN        I2SO(26) //  M7 on M9 Off
#define COOLANT_FLOOD_PIN       I2SO(27) //  M8 on M9 Off

Tips

IOT Relay

An easy way to safely and easily wire AC voltages is to use an IOT relay. They are often out of stock, but can be found from other sources. Only one circuit is digitally controlled, but it is usually handy to have an outlet strip near your machine anyway.

Relay Circuits

You cannot directly drive a stand alone relay, but relay circuits such as this one can be used. You want one that is controlled be a 5V signal and draws less than 20mA per channel on the control signal. Get one with a main power of 5V or the motor voltage you are using. Then you can use voltage from on of the fan connectors on the 6 Pack.

Clone this wiki locally