Difference between revisions of "Ramps1.4"

From Geeetech Wiki
Jump to: navigation, search
(Software Setting)
(Software Setting)
Line 148: Line 148:
 
1. Click configuration> printer setting  
 
1. Click configuration> printer setting  
 
   
 
   
[[File:Rh1.jpg]]
+
[[File:Rh1.jpg|500px|]]
  
 
2. Set the communication port (the COM port for mega) and the Baud rate. Then click ok
 
2. Set the communication port (the COM port for mega) and the Baud rate. Then click ok
 
   
 
   
 +
[[File:Rh2.jpg|500px|]]
  
 +
3. Click “connect”> upload. Choose the GCODE file you are printing.
 +
 +
[[File:Rh3.jpg|500px|]]
 +
 +
==Get Started==
 +
Mega 2560 is the CPU of a 3d printer, manipulating the whole process of printing. Mega 2560 can’t be put in use directly without uploading firmware.
 +
 +
1. Firmware uploading- marlin.
 +
 +
2. Setting parameters of the firmware
 +
 +
3. The parameters that need setting are as below, for those not mentioned just leave them as default.
 +
 +
  #define BAUDRATE 250000
 +
 +
This parameter is for the baud rate of serial port. Note: a successful communication can be realized only when the Baud rate of upper computer is identical with that of Firmware. The Baud rate is not set in random. The common Baud rate are: 2400,9600,19200,38400,57600,115200,250000. The last three are frequently used for 3D Printer.
 +
 +
  #define MOTHERBOARD 33
 +
 +
This parameter is set for board type. 3D Printer has many types of main board, and the setting of IOs is different, therefore, the parameter has to correspond to the type of your board, or it can’t operate normally. The parameter of mega should be 33(single- nozzle) or 34 (dual-nozzle). For other board, you can refer to the annotation on the board.
  
3. Click “connect”> upload. Choose the GCODE file you are printing.
+
  #define TEMP_SENSOR_0 3
 +
  #define TEMP_SENSOR_BED 3
 +
 
 +
The two parameters are set for the type of temperature sensor respectively. They are the critical parameter to check if the sensor read temperature correctly. The printer can’t operate normally, even has potential risk (damage the device and even worse). You must modify depending on the temperature sensor you use.
 +
 
 +
  #define EXTRUDE_MINTEMP 170
 +
 
 +
This parameter is set to avoid the potential risks when the extruder operates before reaching the rated temperature. If you use other 3D Printer, such as printer to make Chocolates, 45℃ is appropriate, so that the parameter configured to a lower value(such as 40℃).
 +
 
 +
  const bool X_ENDSTOPS_INVERTING = true;
 +
  const bool Y_ENDSTOPS_INVERTING = true;
 +
  const bool Z_ENDSTOPS_INVERTING = true.
 +
 
 +
The three parameters are set for the end stops of three axes.  If the configuration is true, the end stop outputs 1 in default condition, and outputs 0 when triggered. That is to say, mechanical end stop should connect to the NO (normally open) contactor. If it is connected to the NC (normally closed), true should be changed to false.
 +
 
 +
  #define INVERT_X_DIR false
 +
  #define INVERT_Y_DIR true
 +
 
 +
Mistakes are often made in the above two parameters. The parameters are different for different machinery. In principle, the origin should be at lower-left corner of the print platform (origin: [0, 0]), or at up-right corner (origin: [max, max]). Only in this way will the printing be correct, otherwise, the printing is the mirror image of one axis which is not what expected.
 +
 
 +
  #define X_HOME_DIR -1
 +
  #define Y_HOME_DIR -1
 +
  #define Z_HOME_DIR -1
 +
 
 +
If the position of the origin is the minimum, the parameter is -1; if it is the maximum, the parameter is 1.
 +
 
 +
  #define X_MAX_POS 205
 +
  #define X_MIN_POS 0
 +
  #define Y_MAX_POS 205
 +
  #define Y_MIN_POS 0
 +
  #define Z_MAX_POS 200
 +
  #define Z_MIN_POS 0
 +
 
 +
These parameters are crucial to the printing size. Fill in parameters by reference to the coordinate graphs. It is important to note that the origin is not the printing center and the real printing center usually lies at [(x.max - x.min)/2, (y.max -y.min/2)]. The coordinate of central will be used in the slice tool. The printing center’s coordinate must correspond to the parameter configuration, or it will print to the outside of the platform.
 +
 
 +
  #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}
 +
 
 +
The parameter means the homing speeds (mm/min). This parameter can be set as default if you use the x-axis and y-axis adopt synchronous belt drive and z-axis adopts screw drive.
 +
 
 +
  #define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333, 2560, 158.8308}
 +
 
 +
These parameters are crucial to the printing size. These parameters indicate the pulse the axis need when operating 1mm. they are corresponding to x, y, z axis and extruder respectively. In most cases these figure should be calculated by yourself, you can refer to: http://calculator.josefprusa.cz/#steppers.
 +
 
 +
So far, the commonest parameters have been configured and the printer can work now. In addition, if the 2004 LCD needs verifying, you should delete the “//” from “//#define REPRAP_DISCOUNT_SMART_CONTROLLER” to ensure the normal working.

Revision as of 09:46, 30 July 2014

Introduction

Ramps shoutu.jpg

Ramps is short for reprap Arduino mega pololu shield, it is mainly designed for the purpose of using pololu stepper driven board (similar to 4988 driven board). Ramps can only work when connected to its mother board Mega 2560 and 4988/DRV8825. Owning to its stability in operation and great compatibility with most 3Dprinter (all reprap-model such as pursa i2 and i3). The combination of Ramps1.4+MEGA2560+A4988/DRV8825 is becoming a mainstream of DIY 3D printer control board.

Features

1. Standard interfaces (as that of extruder)

2. Reserved GCI like I2C and RS232

3 MOSFET 3 MOSFET are applied to the heater/ fan and thermistor circuit.

4. Adding another 5A to protect the component parts.

5. An 11A fuse is added to the hotbed

6. Support 5 stepper drive board

7. The adoption of Pin Header as pololu makes it more convenient to repair or change.

8. I2C and SPI are reserved for expanding

9. All the MOSFET can be controlled by PWM

10. Use the interface of servo motor to adjust the level of printing platform automatically.

11. Adding a SD module for SD ramps module.

12. LED can indicate the status of the heater (the open and close of MOS).

13. 2 stepper motor for Z axis in parallel.


Overview and Hardware

Rapms front.JPG Rampsback.jpg

Weight: 68g Size: 102mm*60mm


Software

Compiling environment: Arduino IDE

Firmware: Marlin

PC software: Printrun, Repetier-Host

Source

Printrun:[1]

Repetier-Host:[2]

Arduino IDE:[3]

Arduino IDE:[4]

Marlin:[5]


Interface

Interface Layout

Ramps layout.jpg

Interface specifications

Ramps interfaces.jpg


2 power interfaces 12v 11a/12v 5a 6 motors (one for X axis, one for Y axis, 2 for Z axis, 2 for extruder 2 interfaces for LCD&SD 6 interfaces for end stop(X/Y/Z min, X/Y/Z max) 3 interfaces for PWM (one for hotbed, one for fan and one for extruder) 3 interfaces for thermistor

Jumper Instruction

Ramps jumper.jpg

Step size of stepper driver (A4988)

  jumper       Yes/No     stepsize     
   ms1     ms2      ms3 
   no      no       no     fullstep
   yes     no       no     halfstep
   no      yes      no     1/4step
   yes     yes      no     1/8step
   yes     yes      yes    1/16step 


Step size of stepper driver (Drv8825)

  jumper   Yes/No       step size
   ms1     ms2      ms3
   no      no       no    full step
   yes     no       no    half step
   no      yes      no    1/4 step
   yes     yes      no    1/4 step
   no      no      yes    1/16 step
  yes      no      yes    1/32 step
  no      yes      yes    1/32step
  yes     yes      yes    1/32step


Development Environment setting

Interface Connecting and Setting

Ramps c setting.jpg

Precautions: Like other electronics, the inverse connection of power supply can cause irreparable damage to the board (4988 included). You are advised to connect all the components before testing.


File Burning

As Ramps1.4 is just the shield board of Mega2560, the firmware must be burned into Mega2560.

Software Setting

1.Before uploading, driver should be installed for windows. Then choose the type of board: Tools > Board > Arduino Mega 2560 or Mega ADK. (Picture below)

Bsecet.jpg


2.Select the serial port: Tools > Serial Port, the serial port for mega is usually the last one.

Portselect.jpg


3.ClickButton1.jpgto check if there is any mistake. If not, clickButton2.jpgto upload.

Rumba 11.jpg

4.During the process of uploading, the 3 LEDs corresponding to TX, RX and L on mega board will blink, if the blink stops, the uploading is done.

Done uploading.jpg


After the uploading, you can go on with the next step. If the uploading is unsuccessful, read the error report on IDE, figure out the problem, and then try again. some frequent errors are: a wrong select of board type and serial port.


The connection of Repetier-Host

1. Click configuration> printer setting

Rh1.jpg

2. Set the communication port (the COM port for mega) and the Baud rate. Then click ok

Rh2.jpg

3. Click “connect”> upload. Choose the GCODE file you are printing.

Rh3.jpg

Get Started

Mega 2560 is the CPU of a 3d printer, manipulating the whole process of printing. Mega 2560 can’t be put in use directly without uploading firmware.

1. Firmware uploading- marlin.

2. Setting parameters of the firmware

3. The parameters that need setting are as below, for those not mentioned just leave them as default.

  #define BAUDRATE 250000

This parameter is for the baud rate of serial port. Note: a successful communication can be realized only when the Baud rate of upper computer is identical with that of Firmware. The Baud rate is not set in random. The common Baud rate are: 2400,9600,19200,38400,57600,115200,250000. The last three are frequently used for 3D Printer.

  #define MOTHERBOARD 33

This parameter is set for board type. 3D Printer has many types of main board, and the setting of IOs is different, therefore, the parameter has to correspond to the type of your board, or it can’t operate normally. The parameter of mega should be 33(single- nozzle) or 34 (dual-nozzle). For other board, you can refer to the annotation on the board.

  #define TEMP_SENSOR_0 3
  #define TEMP_SENSOR_BED 3

The two parameters are set for the type of temperature sensor respectively. They are the critical parameter to check if the sensor read temperature correctly. The printer can’t operate normally, even has potential risk (damage the device and even worse). You must modify depending on the temperature sensor you use.

  #define EXTRUDE_MINTEMP 170

This parameter is set to avoid the potential risks when the extruder operates before reaching the rated temperature. If you use other 3D Printer, such as printer to make Chocolates, 45℃ is appropriate, so that the parameter configured to a lower value(such as 40℃).

  const bool X_ENDSTOPS_INVERTING = true;
  const bool Y_ENDSTOPS_INVERTING = true;
  const bool Z_ENDSTOPS_INVERTING = true.

The three parameters are set for the end stops of three axes. If the configuration is true, the end stop outputs 1 in default condition, and outputs 0 when triggered. That is to say, mechanical end stop should connect to the NO (normally open) contactor. If it is connected to the NC (normally closed), true should be changed to false.

  #define INVERT_X_DIR false
  #define INVERT_Y_DIR true

Mistakes are often made in the above two parameters. The parameters are different for different machinery. In principle, the origin should be at lower-left corner of the print platform (origin: [0, 0]), or at up-right corner (origin: [max, max]). Only in this way will the printing be correct, otherwise, the printing is the mirror image of one axis which is not what expected.

  #define X_HOME_DIR -1
  #define Y_HOME_DIR -1
  #define Z_HOME_DIR -1

If the position of the origin is the minimum, the parameter is -1; if it is the maximum, the parameter is 1.

  #define X_MAX_POS 205
  #define X_MIN_POS 0
  #define Y_MAX_POS 205
  #define Y_MIN_POS 0
  #define Z_MAX_POS 200
  #define Z_MIN_POS 0

These parameters are crucial to the printing size. Fill in parameters by reference to the coordinate graphs. It is important to note that the origin is not the printing center and the real printing center usually lies at [(x.max - x.min)/2, (y.max -y.min/2)]. The coordinate of central will be used in the slice tool. The printing center’s coordinate must correspond to the parameter configuration, or it will print to the outside of the platform.

  #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}

The parameter means the homing speeds (mm/min). This parameter can be set as default if you use the x-axis and y-axis adopt synchronous belt drive and z-axis adopts screw drive.

  #define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333, 2560, 158.8308}

These parameters are crucial to the printing size. These parameters indicate the pulse the axis need when operating 1mm. they are corresponding to x, y, z axis and extruder respectively. In most cases these figure should be calculated by yourself, you can refer to: http://calculator.josefprusa.cz/#steppers.

So far, the commonest parameters have been configured and the printer can work now. In addition, if the 2004 LCD needs verifying, you should delete the “//” from “//#define REPRAP_DISCOUNT_SMART_CONTROLLER” to ensure the normal working.