# Specific 3D Printers, Scanners, & Hardware > RepRap Format Printer Forum >  Printer Built, Whats Next? (Calibrations)

## RamJam

Hey Guys

The printer I inherited has now been completely rewired, and is ready to be calibrated, However my knowledge of this step is next to none  :Frown:  
What are the steps i need to take to ensure that I don't write the printer of at first print? I'm guessing this would require maximum and minimum limits as well as Datums to be set.

The printer is a MendelMax 1.5 running Ramps 1.4 board and Marlin config.

So really what im asking is how do i go about getting the printer ready to print?

Also what printing software do you guys favor? As there area many different programs i have seen

Many many thanks in advance

Ramjam

----------


## Roxy

One thing you can do is set the Feed Rates very low.  Maybe at 10% of what they normally are set at.   That gives you a lot of time to press the reset button if the wrong thing happens.    If it was me, I would use PronterFace and just see if I can get it to home one axis at a time.   Then I would use the Target part of PronterFace to move the printer a little in all directions and see if that behaves correctly.

You can either rebuild the firmware to lower the Feed Rates, or you can set them with M203.

----------


## RamJam

Ive tested the motors using PronterFace, each motor moves, extruder extrudes and heatbed heats up as required, Looking at the front of the printer the motors move using PronterFace in the following directions.

(+Y Moves towards me)
(-Y Moves away from me)
(+X Moves right)
(-X Moves Left)
(+Z Moves up)
(-Z Moves down)

When you say Home the axis, how does the printer know where the Home position actually is, as when i hit the home axis button using PronterFace, it will move in a direction slightly, and continue to do this at repeated button pushes, until it hits the edge of the printer.

----------


## Roxy

It sounds like you have one of the (X,Y) pair flipped.    You can unplug a motor cable and flip it.   That should take care of the movement.   But assuming the connectors are plugged in correctly, it might be best to keep things standard.  You can make the changes in Configuration.h.  You are looking for lines that look like this:



```
#define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
#define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
#define INVERT_Z_DIR true     // for Mendel set to false, for Orca set to true
```




> When you say Home the axis, how does the printer know where the Home position actually is, as when i hit the home axis button using PronterFace, it will move in a direction slightly, and continue to do this at repeated button pushes, until it hits the edge of the printer.


It will move towards the limit switches defined by these lines in the Configuration.h file:



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

If it doesn't move and it isn't at the end of travel, you have a problem with the limit switches thinking they are being pressed when they are not.  You can check this with the M114 command.   With the nozzle in the center of the bed, give it a M114 and see what it says.   With the motors turned off, slide the extruder to one end (where you see a limit switch).  Give it another M114 and see if the state of the switches change.

----------


## RamJam

> It sounds like you have one of the (X,Y) pair flipped.    You can unplug a motor cable and flip it.   That should take care of the movement.   But assuming the connectors are plugged in correctly, it might be best to keep things standard.  You can make the changes in Configuration.h.  You are looking for lines that look like this:
> 
> 
> 
> ```
> #define INVERT_X_DIR false    // for Mendel set to false, for Orca set to true
> #define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false
> #define INVERT_Z_DIR true     // for Mendel set to false, for Orca set to true
> ```
> ...


Okay so printer moves in the correct axis now (+/- X,Y,Z) when operated manually in the program.

Using PronterFace, when i press the Home axis Button on X and Y they move towards the Limit Switches, however Z moves up (+Z) and doesnt stop, meaning i have to knock power off, this even happens when I push the limit switch myself. The way i have my limit switches layed out is at positions Maximum +Y, Maximum +X and Min -Z. 

They are wired in the Normaly Closed function, and sometimes when i turn the printer on it wont move in a specific direction -Z because the limit switch is made (According to PronterFace).

----------


## Roxy

Check that the limit switches behave properly with M114.   You should be able to see them report triggered or open depending upon whether they are pressed or not.

----------


## RamJam

> Check that the limit switches behave properly with M114.   You should be able to see them report triggered or open depending upon whether they are pressed or not.


M114 command doesn't show me the end stop positions, However did some research and found that the M119 function shows me the end stop state. 

Here are the results when the printer is in its idle state: 

>>>M119SENDING:M119
Reporting endstop status
x_min: TRIGGERED
x_max: open
y_min: TRIGGERED
y_max: open
z_min: TRIGGERED
z_max: open

When i trigger them manually, each of the switches min value changes from triggered to open.

----------


## Roxy

> M114 command doesn't show me the end stop positions, However did some research and found that the M119 function shows me the end stop state.


Sorry...  It is hard to keep everything straight.   Yes, M119 is correct.   And once the correct behavior is confirmed, you should be able to move the carriage (with the motors off) to verify that the end-stops trigger as they should.

You will be printing soon.....    :Smile:

----------


## RamJam

> Sorry...  It is hard to keep everything straight.   Yes, M119 is correct.   And once the correct behavior is confirmed, you should be able to move the carriage (with the motors off) to verify that the end-stops trigger as they should.
> 
> You will be printing soon.....


What should i be seeing with my end stops in the configuration that they are? This is what i get when all are not activated and the axis mins change to open when activated. Is this correct for Normally Closed operation?

>>>M119SENDING:M119
Reporting endstop status
x_min: TRIGGERED
x_max: open
y_min: TRIGGERED
y_max: open
z_min: TRIGGERED
z_max: open

Sorry for all the questions not a subject ive had an experience in until now :/

----------


## Roxy

First, you don't have max end stops, right?  If not, we should turn those off.   That is done in Configuration.h by changing to this:


```
#define DISABLE_MAX_ENDSTOPS
```


I think the best way to proceed is move your extruder to the middle of the bed and up a little bit off of the bed.   You want none of the endstops to be pressed.   Then when you send the M119, nothing should show up as triggered.
But regardless of what it is showing for each end stop, now manually depress each end stop and do a M119.  Verify the state of the switch changes.  If it doesn't we need to get that fixed first.      If everything is right, when you manually press an end stop switch and do a M119, it should say Triggered.

If the state of the switch is inverted from what is really happening to it, we can toggle that in Configuration.h    You want the end stop to say Triggered when it is pressed and open when it is not pressed.  To toggle the action in Configuration.h you change:



```
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
```

----------


## RamJam

> First, you don't have max end stops, right?  If not, we should turn those off.   That is done in Configuration.h by changing to this:
> 
> 
> ```
> #define DISABLE_MAX_ENDSTOPS
> ```


Okay I've Disabled Max End stops in configuration h, which has now left me with only the min end stops when running a M119 Command. I can confirm that when i press the end stops, the state changes, however they are triggered and when pressed, open. 




> ```
> const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
> ```


Because of this i have inverted the logic in configuration h, which now shows them triggered when pressed, which is what I required. 

What would be my next step in getting towards my first print?

Thanks for your help so far, its been extremely helpful.

----------


## Roxy

Do a G28 and verify it homes properly.    Turn on the heat bed and the nozzle and verify those heat up and hold steady in temperature.   Then tell it extrude to 10mm or 20mm of filament and see what it does.

Go back to the start and home.   Verify you can just slip a piece or two of paper under the nozzle.    And if so....   press the 'Print' button!

----------


## RamJam

> Then tell it extrude to 10mm or 20mm of filament and see what it does.
> 
> Go back to the start and home.   Verify you can just slip a piece or two of paper under the nozzle.    And if so....   press the 'Print' button!


Okay I feel we are getting close, the printer homes correctly, and when set to extrude say 10mm, does so correctly, however when printing it extrudes extremly slowly, near not extruding? Any ideas ?

Thanks

----------


## Roxy

You do know printing even a small, hollow 20mm^3 calibration cube can take 15 or 20 minutes, right?   The plastic doesn't come out of the nozzle very fast.   It might be time for you to take a video and show us the first layer of something being printed.   We can tell a lot more from that.

----------


## RamJam

> You do know printing even a small, hollow 20mm^3 calibration cube can take 15 or 20 minutes, right?   The plastic doesn't come out of the nozzle very fast.   It might be time for you to take a video and show us the first layer of something being printed.   We can tell a lot more from that.


Yeh I inow it takes time, but what I mean is the printer is moving around and can see it moving up the z axis on the different layers but there isn't any extrusion because the gears are barely moving. However like I said the motor spins and extrudes fine manually through pronterface. I can certainly add a video you evidence this if required?

----------


## Roxy

When you tell it to extrude 10mm of filament in Pronterface, it extrudes that much of what is being feed into the extruder, right?   That isn't how long of piece comes out, right?

A video would be helpful.

----------


## LuckyImperial

My first initial guess is that your nozzle diameter/filament diameter is set incorrectly in your slicing software. This would lead to incorrect extrusion rates when trying to print a sliced part, but would not effect pronterface extrusion.

----------


## RamJam

> When you tell it to extrude 10mm of filament in Pronterface, it extrudes that much of what is being feed into the extruder, right?   That isn't how long of piece comes out, right?
> 
> A video would be helpful.


Heres the video, sorry it took so long. As you can see its 4 minutes of the printer running then at the end you can see how much plastic has been extruded.

https://www.youtube.com/watch?v=_ICO-AYqHbw&feature=youtu.be

----------


## RamJam

> My first initial guess is that your nozzle diameter/filament diameter is set incorrectly in your slicing software. This would lead to incorrect extrusion rates when trying to print a sliced part, but would not effect pronterface extrusion.


Where can i change these settings?

----------


## Roxy

> Where can i change these settings?


In Slic3r you would turn on Expert settings by doing File/Preferences/Mode=Expert
And then on the Filament_Settings tab adjust the Filament Diameter to the right number.
And then on the Printer_Settings tab adjust Extruder_1's Nozzle diameter to the right number.

----------


## RamJam

> In Slic3r you would turn on Expert settings by doing File/Preferences/Mode=Expert
> And then on the Filament_Settings tab adjust the Filament Diameter to the right number.
> And then on the Printer_Settings tab adjust Extruder_1's Nozzle diameter to the right number.


Ive ordered a new extruder nozzle as the nozzle was blocked as well as having a defect on the tip meaning the plastic curled during print, will update when new nozzle is fitted

----------

