Printer Controller

From Oulware
Jump to: navigation, search

This is a add-on board for Arduino Due (32bit) with some nice features.

v1.1 overview

Features

  • 3 separated inputs for Motor, Bed and generic.
  • 6x stepper driver (StepStick compatible)
  • 2x hotend
  • 1x Bed
  • 4x FAN (PRM support for 2 fans with v1.5 onwards)
  • 3x Thermistor input with 4k7 pullup
  • Slot for MAX31865 module RTD reader
  • TMC2130 native support including sensorless homing without any external cabling
  • 6 endstop inputs configurable for 'normal' endstop or using TMC2130 diag pin output
  • Gate driver is used to run on board MosFETs to minimize heat. Heatsink for FETs
  • Bed, both hotends and one auxiliary control outputs providing 12V control signal. These can be used to control external mosfet or SSR directly
  • Multiple 12V, 5V and 3V3 output pins
  • 4x SPI output pins
  • 2x5 freely configurable GPIO pins
  • RPi 40pin pin socket
  • 2 small power FET outputs (<2A) controlled by RPi. These could be used for example controlling printer main power or some other purposes
  • Rest of the RPi GPIO pins are also available

Inputs

This board has 4 power inputs

  • Motor (max 30V) to power StepSticks
  • Bed (max 36V) for heated bed (and optionally hotends)
  • Main (max 12V) for other functionalities including Arduino Due/Mega (and optionally hotends) (24v supported with v1.5 onwards)
  • Optinal 5V input for Due and RPi.

Hotends can be powered from Bed or Main input (soldering pads for jumping wire).

Note: All input GNDs are connected together to avoid any external jumping wires!

Motor Vin

Power input for drivers is labelled as MOT. This input is connected only to StepSticks VM pin! Maximum ratings:

  • v1.1 30V
  • v1.5 36V

Heatbed Vin

Power input for heated bed is labelled as BED_IN. This input is connected only BED output connected by using N-Ch MosFET.

Hotend Vin

User can select power input for hotends by soldering jumper wire

RPi GPIOs & power

input can be either VIN or BED_IN. e.g. 24V is used for heated bed and 12V to VIN then hotend heater can be 12V or 24V version.

VIN

Power input for everything else and is labelled as VIN.

  • NOTE v1.1 board can use up to Due's max rating (17V) input, 12V is recommended!!
  • v1.5 board has on board 9V stepdown regulator to feed Due and other components. Thus, this version can accept 24v as VIN also

5V

RPi GPIOs & power
  • 5V marked pads are connected to 5V pin on Due
  • RPI_5V is connected to RPi 5V pin
  • Rpi5VExt can be used to connect external 5V PSU to power either RPi or Due or Both just using jumpers

RPi GPIO

  • RPI_CTRL1 and RPI_CTRL2 are connected to RPi's GPIO17 and GPIO18 respectively
  • TX_CONN and RX_CONN can be used to connect RPi HW serial directly to Due's UART0

Drivers

The board supports up to 6 StepStick compatible stepper drivers (e.g. A4988, DRV8825, TMC2100, TMC2130...).

Note: Max input voltage is limited by capacitors (30V) even the driver could handle more!

TMC2130 drivers can be used without any external wiring.
DIAG1 pins are internally wired to endstop pins group (Jumper is used to select DIAG1 as an endstop input).

Driver's microstep configuration is done by using a pin stripe under the driver. Where

  • V is Vio (3V3 = HIGH)
  • D is connected to driver
    • 0 -> pin10
    • 1 -> pin11
    • 2 -> pin12
    • 3 -> pin13&14
  • S stands for SPI; MOSI, SCK, CS, MISO repectively
  • NOTE: LOW pin is not available since almost all drivers have internal pull down resistor.
  • NOTE2: v1.1 board does not contain 4th(3) column so ignore it. MISO is directly connected!
driver configuration

Usage

Quick setup instructions:

  • Place control board over Due
  • Connect 12V power supply to 12V input connectors
  • Connect motor power supply
  • If using bed heating, connect power supply to BED_IN connectors and bed to BED connector
  • If using hotend heating, their power supply can be selected from 12V or bed power supply. Solder jumper wire between either top two (using bed power supply) or bottom two (using 12V) in HOTEND_PWR section
  • Connect needed fans (fans are using 12V supply) and all of 4 can be PWM controlled
  • Place needed amount of stepper drivers in place. All driver sockets can be configured to use TMC2130 and configured with SPI or more traditional stepsticks, like A4988 and DRV8825. If using SPI mode for TMC2130, place all 3 jumpers between S and D. For other stepsticks, place jumpers between V and D or leave open. If placed between V-D, that pin is pulled up and if left open, stepstick internal pulldown pulls that config pin down. Depending on jumper placement, amount of microsteps can be selected. When using TMC2130, M1, M2, M3 diag1 pins are connected to ENDSTOP section diag pins this way: M1->Xmin&Xmax, M2->Ymin&Ymax and M3->Zmin&Zmax. In order to use them as endstop, place jumper between diag and desired endstop SIG pin.
  • If using external mosfet or SSR instead internal mosfets, bed, hotend 1&2 and aux have 12V control output (active high), available on HEATER_CTRL section
  • AUX1 and AUX2 pins can be used to connect LCD or some other accessories, see pinout below
  • On bottom left, there are several power output pins: 12V, 5V and 3.3V, these can be used to power external accessories
  • 3 thermistors inputs are available at T0, T1 and T2
pinout
v1.1 AUX Pins

Due Pin Mapping

#  === ENDSTOPS ===
#  -------------------
#  | X | End MIN | D54
#  | X | End MAX | D55
#  | Y | End MIN | D56
#  | Y | End MAX | D57
#  | Z | End MIN | D58
#  | Z | End MAX | D59
#  -------------------
#
# === HEATERS ===
# | AUX | D9 |
# | BED | D8 |
# | E0  | D7 |
# | E1  | D6 |
#
# === THERMISTORS ===
# | T0    | A9  |
# | T1    | A10 |
# | T2    | A11 |
# | TC CS | D47 |
#
# === FAN ===
# | FAN0 | D10 |
# | FAN1 | D11 |
# | FAN2 | D12 |
# | FAN3 | D13 |
#
# === STEPPER X ===
# | STEP | D38 |
# | DIR  | D36 |
# | EN   | D40 |
# | CS   | D34 |
#
# === STEPPER Y ===
# | STEP | D28 |
# | DIR  | D26 |
# | EN   | D30 |
# | CS   | D32 |
#
# === STEPPER Z ===
# | STEP | D23 |
# | DIR  | D29 |
# | EN   | D25 |
# | CS   | D27 |
#
# === STEPPER E1 ===
# | STEP | D44 |
# | DIR  | D42 |
# | EN   | D46 |
# | CS   | D48 |
#
# === STEPPER E2 ===
# | STEP | D33 |
# | DIR  | D31 |
# | EN   | D35 |
# | CS   | D37 |
#
# === STEPPER E3 ===
# | STEP | D41 |
# | DIR  | D39 |
# | EN   | D43 |
# | CS   | D45 |