Introduction | Bill of Materials | Y-axis Assembly | X-axis Assembly | Connecting X-axis and Z-axis | Motor Installation | X and Y-Axis Motion | Heated Bed Assembly | Extruder Installation | Electronics and Wiring | Firmware Configuration | Validation and Testing | Working with Files and Printing
In the validation and testing stage we will get your machine up and running and get some test prints going to see how the machine is working. Testing and tweaking is something that is a continuous cycle with a Reprap. As you get more experience you'll want to configure things specific to not only your machine but perhaps your workflow style or the kind of objects you are printing. Understanding the application of the the basic concepts will help you as you grow further into 3D printing.
The software tool chain is the combination of software components that control your printers movement and prepare the files for you to print. There are several packages from which to choose though for the purposes of this build we will use two packages, one is a printer host software, the other is a slicer. The printer host is your machine control panel. You can control the basic functions of the machine, move axis and heat the bed or nozzle. You will also load files to print into the host.
Before you load those files, you need to prepare them for printing. The objects you will download to print are in a model file format called .stl The program used for preparing stl files for printing is called a slicer. A slicer gets its name from the simple fact it divides the stl file into "slices" with each "slicer" being a layer your printer will print. We aren't going to focus on the details of how it does it just now. Our focus now is to get the software installed and configured. There is a great deal of information about the hows and whys of slicing and print hosts. At this point if you'd like to strike out on your own and use another host or slicer that's fine though I may not be able to fully answer any questions or issues you may encounter. That said, they all work largely the same and the major players are fairly stable and many use them with good results. I chose these for the doc because that's what I'm most familiar with for single host controllers.
For these instructions we'll use the printer host called Printrun (program is Pronterface.exe) and the slicer called Slic3r. There are other packages but we'll use these to get you up and going. Download and install Printrun Pick the most recent version. Unpack the archive and you should be able to run it straight away. The programs are a bit different between platforms (Win, Linux or Mac) but the program functions the same. In the Windows version of Printrun there is also a version of Slic3r but we will download a newer version of Slic3r in the next step.
Next we'll download and install Slic3r. After you unpack it don't run it yet, there is a setup program that runs and later we'll take you through the settings. Right now we are going to use models sliced here in our lab to test and validate your machine. Then we'll get to slicing a file and inputing it into your machine.
At this point your printer should be built and ready to test. Make sure that your PSU and board are properly hooked up as shown in the Electronics and Wiring page. Plug the PSU into the wall outlet. The psu fan should start and there will be some lights on the controller board as it boots.
Connect the USB connector from the control board to an open USB port on your computer. Try to use a USB port on the computer itself and not on a hub. On some machines and some hubs printing over USB can be problematic but we'll cover that more in detail later. Right now we want to make sure everything works as it should.
IMPORTANT NOTE Never plug or unplug anything into the board while it is powered. There is a good possibility that it could damage the electronics. Always unplug both the main power input and the USB connector before plugging or unplugging anything on the board. The reason to unplug the USB is that it also provides power to board.
Open the print host on your computer. It will look like this...
We now need to connect the computer to the printer. This is done by using the port selection drop down menu on the upper right hand side. The port you use will depend on your platform and the configuration of your system.
We now need to set the baud rate. The baud rate at which the port communicates. This is done by using the port selection drop down menu next to the port settings. The firmware in your printer is set to 115200. This is because it's a rate that most all cards and computers can use without issue. When you get more familiar you can experiment with setting it at 250000. On some Windows machine (particularly older XP based machines) and some newer Linux distributions there can be issues with using anything higher than 115200. For now we'll use 115200 as it's the safe choice.
Now we'll make the computer and the printer communicate. There is a "connect' button next to the baud rate drop down menu. Press it to get the computer and printer to talk to each other. On the right hand pane in the printer host is a terminal display window. This pane is basically a screen from which you can send commands to the printer and read the response from the printer. You can send commands by entering them into the text input box on the bottom of the pane and pressing the "send" button. When your machine connects to your computer you should see a message like this in the terminal pane.
If a message displays that it didn't connect there should be an indication of the problem in the message. For example an incorrect port or rate setting. Confirm your settings and try again.
Once there is a successful connection move to the next step.
In this step we'll start moving motors to confirm they work and are going the right way. The motors are controller by stepper motor drivers on the control board. The driver boards each have a small trim pot on them to adjust the current to the motor. Too little current and the motor won't turn, to much and it may not turn or behave erratically. In both cases the motor will "chatter" and either not move or move in jerky spurts. There is a precise method to set the current you can use later, but for now we will adjust them, only if needed, by hand. It's best to use a small jeweler style non conductive screw driver or trim pot driver. It can be a delicate operation, take care not to damage the trim pot by pushing too hard or turning too forcefully.
We'll test the X axis first as it's the easiest to work on. Slide the X carriage to the middle of the X axis by hand. It should move easily but if not use the printer host software to release the motors by pressing the "motors off" button on the upper left side of the program. At this point we haven't set home on the machine so the motor should only move in the positive direction on the first move. When the machine is powered on it thinks it is at the "home" position, that is the position from which it will start printing. Home is the zero position, or reference position. Once we make sure the motors go the proper direction and the end stops work we'll home the machine. When validating motors (or any of the heated element for that matter) always keep a hand toward the power plug to turn off the machine should things get out of hand. You should be OK, but just in case be heads up.
With the X carriage in the middle of the X axis move the motor 10 mm to the right, or in the postive or "+" direction. To move the motors using the printer host there is a circular set of controls in the middle of the program window. The circle is divided into four parts. The top and bottom part control the Y + and - direction and the left and right part control the X + and - direction. Using this wheel you can manually driver your machine. The rings in the circle represent movement distance in 1, 10 and 100 mm increments. It's important right now to only use the 10 mm increment. The 10 mm increment offers enough movement to see it but not enough to get away from you.
Press the ring to move X motor 10 mm in the positive or + direction. The motor should move 10 mm to the right. If it does, it's all good. Move it a couple of times more to the right. Now move it to the left or the - direction in 10 mm increments. You should be able to move back as many times as you moved if forward. If that works you are ready to test your X end stop.
It it doesn't move the first time try to move it in the - direction. If it moves then it means the motor has a reversed connection. ALWAYS remove both the PSU power and the USB power before plugging or unplugging anything on the board Make sure you've plugged it in as per the directions on the Electronics and Wiring page.
If it doesn't move in either the positive or negative direction listen to hear if the motor is trying to turn or is humming. if so, then adjust the current trim pot on the stepper driver board. If you are using a conductive screwdriver take care not to short the board out. Turn the pot in the counter clockwise direction until it stops moving then turn it up a quarter turn or so then see if the motor moves. Keep tuning using those steps until it turns smoothly.
The end stops are used to limit the travel of an axis. Each axis has two endstop positions available, minimum travel or maximum travel. In a Rework build we only use one end stop position on each axis. The X end stop is set to the maximum X travel or X_max. When the X axis homes it will travel all the way to the right of the machine, contact the switch lever, slowly back off, then slowly home back to contact the switch and stop. When the switch is contacted there will be an LED lit on the switch board. We test the switches by issuing commands to the printer using the command input box in the print host. The command input box is in the lower right hand part of the print host screen. The command M119 returns the current state of the end stop switches. Issue an M119 right now and you should get a result like the one in the next pic. Note that even though we are only using three end stop positions on the machine, the command returns the results for each of the six possible positions. Simply ignore the position you are not using.
As a test slide the X carriage by hand all the way to the right until it contact the X end stop. If the motors have too much resistance (because the coils may be energized) use the "motors off" button in the printer host. It's below the port selection menu. When you contact the end stop switch an LED should light on the end stop switch board. With the X carriage and extruder still touching the end stop issue an M119 command. When the X end stop is triggered the display window in the print host should look something like this...
We've confirmed the endstops work and now we'll test the axis using the motor. Slide the X carriage back to the middle of the axis. On the motion control circle in the printer host panel there are home buttons on the upper and lower quadrants of the circle. The X home is in the upper right quadrant. Home the X axis by pressing the X home button. The motor should move the X carriage toward the end stop.
The method to test the Y axis is almost just like the X axis. One difference is the position of the end stop. The Y end stop is set at the minimum position or Y_MIN. The other difference is how the moves are represented on the motion control circle in the printer host. When the bed move in the positive or + position it will move toward you. It will move away from you when moving in the negative or - position. When you press the Y + movement circle (the top of the circle) the bed will move toward you.
Start with the bed in the middle of the Y axis. Use the same 10 mm increments to test the Y movement that we used in testing the X movement. Once you've confirmed the axis moves in the correct direction, slide the bed by hand to contact the Y end stop as we did with the X end stop. Issue an M119 with the Y end stop triggered and confirm the Y_min end stop is reported as triggered in the printer host. If all is well then slide the bed back to the middle of the axis and home the Y axis.
The Z axis is different from the X and the Y in that the moves are smaller, need to be more precise and are not as fast. The Z axis moves only once per layer by a distance of the thickness of the layer. The initial Z axis height plays a big part in getting a good print. The integrity of the first layer is key to getting proper adhesion necessary for a good print. At this point the Z axis should be about halfway up, off the print bed. We are going to move the Z axis down to the middle of the print bed and set the gap between the nozzle and the print glass. We are going to move the Z axis by hand, grasping each Z motor by the coupler tubing and turning each motor together to lower the axis toward the print bed. If the motor coils are engaged use the motor off function in the print host. When the nozzle gets with a couple of millimeters of the print bed glass, put a piece of paper on the print bed between the nozzle and print bed. I use regular copier/printer paper.
Once the nozzle touches the paper check to see that the X axis is still level and parallel to the bed. When you move the axis by hand like that it's an almost certainty that it will get knocked out of alignment as turning the Z motors by hand at the same rate is highly unlikely. With the nozzle in the center of the bed set the Z height so that piece of paper lightly drags on the nozzle as the paper is moved back and forth between the nozzle and print bed. If the paper is too tight or doesn't move, the nozzle needs to be raised. Likewise if there is no friction between the nozzle and the paper it's too high and needs to be lowered. It will take you a few trys to get it right the first time. This is going to be a common step in maintaining and tuning your printer and how well you do it will directly impact the quality of your prints. Once the center of the bed and nozzle have a gap set, keeping the nozzle at the same height move the X and Y axis to a few different spots to check the gap.
You'll likely need to adjust the gap a bit in each spot. Sometimes it's a compromise to get the gap the same in many different points on the bed. As you become more familiar with your machine and tuning it it will become easier to know what to do. For now let's concentrate on getting it good near the center of the bed as the test parts we'll print later will be fairly small, only about 40 mm square or so. Don't move the Z axis up or down after you've set the gap. We'll need it at the set height in the next step so we can configure the Z end stop.
Now that we have the gap set we'll set the Z end stop. The Z axis is controlled in the printer host by a bar next to the motion control circle. The increments are much finer on the Z axis to reflect the difference in movement compared to the other two axis and use .01 mm, 1 mm and 10 mm as movement increments.
The Z axis end stop is set to the minimum or Z_min position. On the Z end stop bracket loosen the Z end stop board and slide it until the switch lever contacts the X motor end.
(Z cal pics of end stop adjustment)
The end stop board LED should light. Tighten the Z end stop board to the bracket. Send an M119 to confirm the Z end stop is communicating with the printer. The software should show the Z_min as being triggered. Move the nozzle so it points to the center of the bed with the paper we used to set the gap still in place.
Lift the Z axis 10 mm from the print bed. When we test the Z home it's important to get the nozzle 10 mm or so above the bed so when we home the axis it will be more similar to how the printer is used. If we only go up a couple of mm we may not get the gap properly set. After the Z has lifted 10 mm, home the Z axis again.
With the test paper in the gap again move the paper back and forth to confirm the gap clearance. If it still feels good, check it in a few more places on the bed. As in the previous step if it's too loose you'll need to lower the Z end stop board on the bracket. If it's too tight you can raise the Z by .1 mm increments until the paper feels right. When you've got it to a place where you like it, raise the end stop on the bracket until switch lever makes contact with the X motor mount then tighten the end stop to the bracket. Repeat as necessary to set your Z home.
Now that you've made it this far it's time to print something. Proceed to the next step.