RAMPS 1.2 old
RepRap Arduino Mega Pololu Shield, or RAMPS for short. It is designed to fit the entire electronics needed for a RepRap in one small package for low cost. It is a single layer designed board that is printable on your RepRap with the etch resist pen method, or home fabbed with toner transfer. At the same time it is based on the powerful Arduino MEGA platform and has plenty room for expansion. The modular design includes plug in stepper drivers and extruder control electronics on an Arduino MEGA shield for easy service, part replacement, upgrade-ability and expansion. Additionally as long as the main RAMPS board is kept to the top of the stack a number of Arduino expansion boards can be added to the system.
The 1.2 version by Grogyan addresses some of the issues that are with the version 1.1c by JohnnyR
- It has provisions for the cartesian robot and extruder.
- Expandable to control other accessories.
- 3 mosfets for heater / fan / heated bed outputs and thermistor circuits. #this may change when I have tested it.
- Fits 4 Pololu stepper driver boards
- Pololu boards are on pin header sockets so they can be replaced easily or removed for use in future designs.
- The pin headers for the stepper motor outputs are placed on top of the Pololu boards saving routing them on the main shield.
- I2C and pins left available for future expansion. SPI is used for Thermocouple sensor, but can be expanded on easily enough.
- All the Mosfets are hooked into PWM pins for versatility, separate from the PWM channels used for driving the motors.
- Servo style connectors are used to connect to the endstops, and leds. These connectors are gold plated, rated for 3A, very compact, and globally available.
- Motor headers are 0.1" globally available, and are of the locking variety.
The primary channel for RAMPS 1.2 support is the RAMPS Forum
The endstop pins are Signal - GND - VCC, instead of the VCC - Sig - GND like the rest of RepRaps boards. Make sure to wire them correctly. This is done to allow squeezing fatter traces on the printable board.
Connect your 12V power supply to the RAMPS shield. The barrel connector on the Arduino MEGA is not used for our application.
The power connector plug may not be obviously labeled, looking at the power connection the positive is on the left and the negative is on the right of the plug.
RAMPS is quite happy with the 12 V line from PCPowerSupply. Or you can hack up a 12V laptop power supply, or other 12 V "wallwart" power supply. Be sure that the power can output 5A or greater. If you plan to use a FET for a heated bed, insure your powersupply can supply at least 6A @ 12V. You can easily modify the board to use the output from a FET to be driven from a separate poer supply.
Maximum Input Voltage
Power Supply without diode
The 1N4004 diode connects the RAMPS input voltage to the MEGA. If your board does not have this diode soldered in, you can safely input as much as 32 V. (The pololus can do up to 35V)
Power Supply with diode
If your board has a 1N4004 diode soldered in, do not apply more than 12 V to it. Original flavor Arduino Mega are rated to 12 V input. While Arduino Mega 2560 can take 20 V, it is not recommended.
Firmware and Pin Assignments
You will need the Arduino software at http://www.arduino.cc/en/Main/Software to upload the firmware to Arduino Mega.
Here are the pin definitions for the older board.
I have not upadted this yet for my version of RAMPS, though by quick observation from the Eagle files and you can change the pins and config files as needed.
RAMPS v1.1 and later
The following values need to be entered to "Arduino Mega pin assignment" in the "pins.h" file of the firmware if not already configured.
// RAMPS v1.1c #define DEBUG_PIN 13 #define X_STEP_PIN (byte)26 #define X_DIR_PIN (byte)28 #define X_MIN_PIN (byte)3 #define X_MAX_PIN (byte)2 #define X_ENABLE_PIN (byte)24 #define Y_STEP_PIN (byte)38 #define Y_DIR_PIN (byte)40 #define Y_MIN_PIN (byte)16 #define Y_MAX_PIN (byte)17 #define Y_ENABLE_PIN (byte)36 #define Z_STEP_PIN (byte)44 #define Z_DIR_PIN (byte)46 #define Z_MIN_PIN (byte)18 #define Z_MAX_PIN (byte)19 #define Z_ENABLE_PIN (byte)42 // Heated bed #define BED_HEATER_PIN (byte)8 #define BED_TEMPERATURE_PIN (byte) 1 //extruder pins #define EXTRUDER_0_STEP_PIN (byte)32 #define EXTRUDER_0_DIR_PIN (byte)34 #define EXTRUDER_0_ENABLE_PIN (byte)30 #define EXTRUDER_0_HEATER_PIN (byte)10 #define EXTRUDER_0_TEMPERATURE_PIN (byte)2 #define EXTRUDER_1_STEP_PIN (byte)23 #define EXTRUDER_1_DIR_PIN (byte)25 #define EXTRUDER_1_ENABLE_PIN (byte)27 #define EXTRUDER_1_HEATER_PIN (byte)9 #define EXTRUDER_1_TEMPERATURE_PIN (byte)8
-> TODO add schematic here
I'll double check later on the lib files.
|File:RAMPS-1-2-1-Grogyan.zip||Eagle Files all in one||These are the files you need to make the board.(Use the File: link to the left to access older versions of the file.)||media:RAMPS-1-2-1-Grogyan.zip|
|File:RepRapjr.lbr||Eagle Libraries||The components used in this board are here. see Eagle_Library||media:RepRapjr.lbr|
I have reworked this board to fit my personal preferences, and is largely based on the work by JohnnyR. This board is mostly based on Adrian's Pololu_Electronics and work by Tonok. copper etch resists methods suggested by Vik. Also inspired by Vik's work with EasyDrivers. circuit design based mostly on Adrian's Pololu_Electronics Used Joaz's pin definitions for initial layout Many suggestions and ideas from others in the RepRap community.
Bill of Materials
Is identical to RAMPS 1.2 by JohnnyR
Has locking connectors for the motors. Uses the MAX6675 thermocouple sensor, which essentially replaces the AD595. Less vias, which should also increase building time. Bottom only, to enable the possibility of a RepRap or toner transfer method to fabricate the board. Moved the power LED to the front for easy identification. Providing the user has a proto-shield for Mega, there is plenty of pins left for them to play with. By using another tiered board, will alow the possibility of more extruders and LCD all of which can communicate over the I2C/SPI protocol. The 2 FETS may probably be going onto another board at a later date, once I have tested the boards.
All work done so far is two days in the New Zealand summer and a few days after.
- V1.2.1 Febrary 22 2011
- Uploaded files and copy much of the wiki page from JohnnyRs RAMPS page
- v1.2 January 04, 2010
- Added 0.1" motor connector to RAMPS for each driver (motors no longer have to be connected on top of stepper drivers)
- Added breakouts for serial and I2C
- Changed extra power and pin headers around for easier connection to extra boards.
- Lost most extra analog breakouts
- More silk screen and bottom layer fixing
- v1.1 September 30, 2010
- Replaced power barrel jack with plug-able screw terminal
- Added jumpers to select micro-stepping on stepper driver boards
- Added debug LED
- Changed mosfet pins to be compatible with FiveD firmware
- Reduced number of 100uF capacitors to 1
- Added 100nF capacitor to 12V input
- Put auxiliary 12VIN and GNDIN pads in a straight line
- Silk screen and bottom layer cleaned up
- v1.0 Original RAMPS PCB design
- v0.1? Point to point wired Arduino MEGA Prototype shield
- SD Card
- Control Panel w/LCD
- Host USB
- Tiered board moving 2 FETs to this board
- Check List
- RAMPS shield firmly seated on Arduino MEGA
- No stray wires/metal to cause short
- All connections firmly seated, screws tight
- Power connection oriented correctly, connected to RAMPS shield (only USB is connected to MEGA)
- Thermistor connected to T0
- Firmware uploaded
- Stepper driver potentiometers to a sane setting (maybe 25% from CCW to start, adjust to enough power to drive axis + not overheat)
- Heater wires properly connected
- Arduino MEGA 2560
- There are drivers for windows that are included in the Arduino software package. You may need to install them when connecting your board for the first time. http://www.arduino.cc/en/Main/Software. If you have driver problems you can follow the steps in this forum comment http://forums.adafruit.com/viewtopic.php?f=25&t=17769#p91019
- The Arduino version 21 has been confirmed to work with the MEGA 2560. Other versions may not function properly.
Warning: Do not attempt this if you are afraid your mosfet will release magic smoke. This has not been tested on V1.0, and might not work as well due to thinker mosfet traces It is possible to run your heated bed off of the RAMPS shield without a relay. Some users may be inclined to use a mosfet as it will release magic smoke and cut power, rather than a relay's inclination to fail in the closed state. How to: You need to jump the two pads where the resettable (yellow) fuse normally goes. The through holes are small, but the pads are big, so it is better to use a larger gauge wire and solder on the pads. It is not as mechanically strong, but will let you use a bigger wire. On the Version 1.1 & 1.2 shield, it might be best to use D8, as it has thicker traces.