RAMPS 1.4.4

From RepRap
Revision as of 16:16, 17 September 2019 by MrAlvin (talk | contribs) (Reverse Polarity - just DO NOT do it!!!: changed to '=' structure)
Jump to: navigation, search
Version specific info
RAMPS 1.7 | RAMPS 1.6 | RAMPS 1.5 | RAMPS 1.4.4 | RAMPS 1.4 | RAMPS 1.3 | RAMPS 1.2 (RAMPS 1.2 old) and older
Crystal Clear action run.png
RAMPS 1.4.4

Release status: Prototype

RAMPS144C.jpg
Description
RepRap Arduino Mega Pololu Shield Arduino MEGA based modular RepRap electronics.
License
Author
Contributors
Based-on
Categories
CAD Models
External Link


Summary

The RAMPS 1.4.4 shield is a RAMPS-1.4-pin-compatible shield that can be used with:

  • 8-bit or 32-bit controllers
  • a single 12V or 24V power supply.
  • TMC2130 drivers via SPI bus jumper selection.

And:

  • on-board 3V->5V buffer chip, for a higher Gate voltage control for all mosfets
  • two additional Fan mosfets. For a total of 3 PWM controlled Fans. With 3x 2.54mm jumper pins for Fan connections (max 1A per fan)
  • power selection for Fans: power from 24V or 12V rails
  • SMD mosfets. (datasheet numbers: 2 milli Ohm for Heated Bed, 4 milli Ohm for Hot-end) Max 1A for Fans.
  • 'on-board' 24V-to-12V DC-DC switch mode regulator
  • a 4-pin 7.62 mm (20A) Screw Terminal Power Connector, for Power Supply and Heat Bed connections
  • a "blue" 5.08 (13A) Screw Terminal Connector for Heat-Bed connection
  • jumper selection of 12V -> Vin on the Arduino. No soldering of D1 needed.

Further additions are:

  • 24V protection on Thermistor inputs
  • 100nF capacitors on end-stop pins.
  • 5V protection on end-stops
  • a high voltage (12V) Z-probe port. Connected to either Z-Min (default) or Z-Max end-stop pins
  • Hardware SPI port (at center of board) for use with the Arduino DUE controller
  • includes all RAMPS familiar Aux ports - like: Aux-1, Aux-2, Aux-3 (with extensions), Aux-4, Servo, PS-on, I2C, 6x End-stops, 3x Thermistors
  • jumper connections power from 5V, 12V, 24V rails. In addition to the usual +Voltage (Vcc pins) on the Aux ports.

And some options:

  • for use with a 5V PT100 sense amplifier - even on 3V controllers
  • an on-board Resistor option. For experimenting with Thermistor self heating issues
  • on-board diodes, which can be used to lower Vin voltage, and help prevent overheating of the Arduino Mega 5V voltage regulator
  • an option for an on-board 24LS256 EEPROM. For use with controllers that have no built-in EEPROM.


Click any image for larger versions

How this board came into existence

While I was designing the RAMPS 1.7 shield, a friend said: Well, that is all good and dandy, but 10x10 cm is too big for my printer. I need a RAMPS shield that can do:

  • TMC2130 drivers (without SPI wires floating on-top),
  • can be used with a single 24V power supply,
  • and still only be the size of a standard RAMPS board - or it will not fit nicely on my printer.

And this RAMPS 1.4.4 shield is what we have ended up designing, over several experimental iterations.

Files

Once we have a working prototype, we will share the design files.

Schematics

144-schematics-01.jpg

PDF version here

Reverse Polarity - just DO NOT do it!!!

Generation3Electronics-achtung.gif Do NOT reverse polarity on the power connector. There is NO PROTECTION DIODE for the mosfet's.

Reversing polarity is likely to fry your electronics.
Triple check to make sure the polarity on your power input is 100% correct!

Stepper driver Jumper settings

A4988 etc.

RAMPS144-stepper jumpers-01.jpg

TMC2130

RAMPS144-stepper jumpers-02.jpg

Motherboard/Controller board options

Use the RAMPS 1.4.4 shield with one of the following controller boards:

  • Arduino Mega
  • Arduino DUE
  • Re-ARM
  • Adafruit Grand Central M4

Arduino Mega

Works as is. And uses the same settings are the same as RAMPS 1.4 shield, with the following exceptions:

  • PS-on, is controlled by pin D39.
And is firmware 'Active High' (because of the additional "open collector" mosfet used to actually do the pull-down of the 'Power On' pin of an ATX styler power supply.
Where the RAMPS 1.4 signal is firmware 'Active Low', in order to turn on an ATX style power supply.
  • Fan 0 is still D9
  • Fan 1 is D7
  • Fan 2 is D12


CS pins for TMC2130 drivers are all connected to Aux-4, on pins that are NOT being used for the RRD LCD displays. This leaves all pins on Aux-1, Aux-2, Aux-3 and Servo available for regular use.

The TMC2130 CS pins are as follows:

  • CsX = D47
  • CsY = D45
  • CsZ = D32
  • CsE0 = D22
  • CsE1 = D43


Firmware - Marlin

In file 'configuration.h', select the following:

- For the line MOTHERBOARD, select (or type) "#define MOTHERBOARD BOARD_RAMPS_14_EFB"

- For regular Z-Min use, make sure that the line 'Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN' is uncommented (no // in front of the line)


For Marlin 2.0.x, in file: 'configuration_adv.h' possibly do the following changes

  • #define X_CS_PIN 47
  • #define Y_CS_PIN 45
  • #define Z_CS_PIN 32
  • #define E0_CS_PIN 22
  • #define E1_CS_PIN 42
  • #define E0_AUTO_FAN_PIN 7


For Marlin 1.0.x, in file 'pins_RAMPS_14.h' possibly do the following changes:

- If using the PS_ON_PIN, change it from 12 to 39

- If using TMC2130 stepper driver, with SPI control, then set the corresponding numbers

  • For X change from 53 to 47
  • For Y change from 49 to 45
  • For Z change from 40 to 32
  • For E0 change from 42 to 22
  • For E1 change from 44 to 43

Arduino Due

Pull-down resistors during power-up

As the DUE pins are internally pulled High, during power-up (and rest/being programmed) it is necessary to use some pull-down resistors to pins/functions that would otherwise be running wild, while not under firmware control.

For this reason, all mosfet signals on the RAMPS_1.4.4 have 10K pull-down resistors mounted.

All other functions are fine with being internally pulled High, during power-up of the Due.

Thermistor pins

Thermistor pins are default on A13-A15. But for use with Arduino DUE it is necessary to physically connect the thermistor signal pins to A9-A11

On the RAMPS 1.4.4 board this can be done in one of several ways.

One way is:

  • Cut the pins connecting the 144-shield to the Arduino, on pins A13-A15, and
  • solder the three jumpers marked J22 on the bottom of the Shield.

This will connect the thermistor signals to the correct Arduino DUE analog pins. But it will not be possible to access the A13-A15 (D67-D69) pins, for other possible uses. And on a standard 3D printer, this is fine.


Another way is:

  • Cut the three pcb paths, at the letter 'Z' (for the Z stepper driver).
The cut path is shown with two lines on the silk screen
  • Solder wires (or pins) into the three holes marked as J23 (J23 is shown on the bottom of the shield)
  • use jumper wires to connect from J23, to AUX-2.
    • A9 (D63) connects to the Hot-End (previous A13)
    • A10 (D64) connects to the Bed (previous A14)
    • A11 (D65) connects to the Chamber (previous A15)

It is now possible to replace the A13-A15 pins with longer pins (or solder some pins directly on top), so one could get access to pins A13-A15 pins, for other purposes. On a standard 3D printer, this is not necessary - for the adventures hacker, it might be useful to have access to all un-used pins.


A third way is:

  • to select the RAMPS 1.4.5 PCB files.
The 1.4.5 PCB file is the same as the 1.4.4 PCB files - except for the analog pin connections.
And you can still use the 1.4.5 shield with the Arduino Mega or Adafruit Grand Central M4 controllers, without hardware modification, by just changing some numbers in the pins_.....h files.

Firmware - Marlin

In file 'configuration.h', select the following:

- For the line MOTHERBOARD, select (or type) "#define MOTHERBOARD BOARD_RAMPS4DUE_EFB "

- For regular Z-Min use, make sure that the line 'Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN' is uncommented (no // in front of the line)


In file: 'configuration_adv.h' possibly do the following changes

  • #define X_CS_PIN 47
  • #define Y_CS_PIN 45
  • #define Z_CS_PIN 32
  • #define E0_CS_PIN 22
  • #define E1_CS_PIN 42
  • #define E0_AUTO_FAN_PIN 7


In file 'pins_RAMPS_14.h' possibly do the following changes:

- If using the PS_ON_PIN, change it from 12 to 39

- If using TMC2130 stepper driver, with SPI control, it could be useful to also then set the corresponding CS numbers. But if they have already been defined in 'configuration.adv' it is not necessary to repeat in the 'pins_RAMPS_14.h' file

  • For X change from 53 to 47
  • For Y change from 49 to 45
  • For Z change from 40 to 32
  • For E0 change from 42 to 22
  • For E1 change from 44 to 43

Connecting RRD LCD displays

As the DUE board primarily is a 3V board, the standard RRD LCD dispays, become quite dim, if operated on only 3V.

An easy way to fix this, is to use one of the LCD144 adapters that connect to the Aux-3 and Aux-4 ports, and provides 5V to the LCD's - without risk of damage to the 3V DUE pins.

As the DUE pins are also High, during power-up, the LCD beep will go off, during power-up - unless a pull-down resistor prevents this.
The LCD144 adapter boards all provide this pull-down resistor on the buzzer pin.


These LCD144 adapter boards:

  • provide the EXP-1 and EXP-2 sockets that the RRD LCD displays use.
  • they also repeat the AUX-4 port, so any pins, not used for controlling the LCD display, can be used for other purposes.
  • they supply 5V
  • they have a pull-down resistor to stop the buzzer going off, during DUE power-up
  • and there can be other functions as well, depending on the particular version of LCD144 adapter board.


PCB files 'LCD144-A' is a basics EXP-1 and EXP-2 sockets adapter board, as well as it repeats the the Aux-3 port.


PCB files 'LCD144-B' offers the same as LCD144-A, but also has a 24LS256 EEPROM footprint. In case one does not want to use the EEPROM foot print provided on the underside of the RAMPS-144 and -145 shields.

Re-Arm

As the RAMPS 1.4.4 shield uses both 3V and 5V rails on the shield, it is necessary to do the following three things to get the shield working with a Re-ARM controller board.

Cut J3

The Re-ARM controller board is a 3V only board, for all pins that go via the 'Arduino Mega' style connectors. For this reason Jumper J3 needs to be cut. On other controllers, the jumper J3 takes 5V from the +pins next to D22 and D23. These +pins are however only 3V on the Re-ARM controller board. So J3 needs to be cut, and 5V needs to be found else where.

-ToDo: picture of J3

Power the shield 5V-rail with 5V from a Re-ARM Aux pin

The Re-ARM board has +5V available on three pins, on the Re-ARM Aux ports (UART, J3, J12).
Connect one of these pins to one of the 5V-rail pins on the RAMPS_144 shield.

Ramps-144-Re-ARM-5V.jpg
Re-ARM Aux ports (UART, J3 and J12) has 5V pins

-ToDo: picture of the 5V-rail pins on the RAMPS_144 shield

Use shield J1 jumper to get 3V to the shield Vcc rail

As the Re-ARM board has no I/O pin (at the power pins of Arduino Mega-style connectors), it is necessary to use a jumper to get 3V power to the Vcc-rail of the RAMPS_144 shield.

Shield jumper J1 can be used to do this.

  • Place a jumper on the 3V side of the J1 shield jumper.

-ToDo: picture of jumper at J1

For TMC2130 stepper drivers

The CS pins of the TMC2130 stepper drivers are all brought pins on Aux-4. Aux-4 pins that are not being used for LCD control.

None of these non-LCD-pins on Aux-4 are however connected to the Re-ARM MCU. So they need to be re-routed/jumpered to functional pins on the Re-ARM. The easiest way to do this, is use an adapter board on Aux-4.

-ToDo: introduce the LCD144 adapter boards.


The TMC2130 CS pins are as follows:

  • CsX = D47
  • CsY = D45
  • CsZ = D32
  • CsE0 = D22
  • CsE1 = D43

Adafruit Grand Central M4

Testing for use with the Adafruit Grand Central M4 (AGCM4) is to be done shortly.

What is know at this point is, that the ACGM4 board uses a different numbering scheme for referring Digital numbers to the Analog pins, than the Mega and DUE does. See below for a conversion table.

RAMPS 144 MEGA ACGM4
X_STEP D54 (A0) D67 (A0)
X_DIR D55 (A1) D68 (A1)
Y_EN D56 (A2) D69 (A2)
Aux-1 D57 (A3) D70 (A3)
Aux-1 D58 (A4) D71 (A4)
Aux-2 D59 (A5) D72 (A5)
Y_STEP D60 (A6) D73 (A6)
Y_DIR D61 (A7) D74 (A7)
Z_EN D62 (A8) D54 (A8)
Aux-2 D63 (A9) D55 (A9)
Aux-2 D64 (A10) D56 (A10)
Aux-2 D65 (A11) D57 (A11)
Aux-2 D66 (A12) D58 (A12)
Hot (T0) A13 (D67) A13 (D59)
Bed (T1) A14 (D68) A14 (D60)
Chamber (T2) A15 (D69) A15 (D61)