[ hide ]
By the end of this stage, your machine will be ready for its first print.
Before you start trying to talk to your machine, you need Python and the dependencies. If you know how to do this, you can install the dependencies listed here. If you need more instructions, go to the link below and follow the instructions (4 items to download and install in order for Windows):
And go here for Windows 7:
You may need to go into the pyreadline-1.7 folder and click setup, which will made a command window pop up for a moment; this may or may not be needed.
The first thing to establish is that you can communicate with your machine. You will need to install and run the eMAKER Pronterface software, which you will find in our github repo here. The button to download a ZIP file is near the upper left.
Connect your Sanguinololu to a USB port on your computer, then run pronterface.py and select the active serial port in the upper left. Click Connect, wait a moment, and the software will confirm when the printer is online.
Press the GET POS button, and if the machine returns a position of X0.00 Y0.00 Z0.00 your serial communication is functioning correctly.
NOTE: If your pronterface window does not display the custom buttons (GET TEMP, GET POS, … ), you will need to rename .pronsolerc-example to .pronsolerc in your Printrun installation folder.
It is a good idea to verify you have no short circuits in your motor drive electronics. To minimise the cost of a fault, test each axis in turn by fitting one stepper driver in each of the 4 positions on the Sanguinololu, and command a motor to move.
To do this, you will need to connect the motor to the relevant header pins which match the position of the stepper driver board. It is best to use the extruder motor for this test since this can rotate freely without hitting anything.
DO NOT CONTINUE WITHOUT SETTING CURRENT LIMITS!
If limits are not set, the driver boards will most likely be destroyed.
Connect power to your electronics, then set the current limit on your stepper driver to a maximum of 1 Amp. This equates to a reading of 0.4v on the Ref exposed via on the stepper driver board (circled in red below). Put the (+) test probe on this Ref and put the (-) probe to ground (one of the 4 large mounting holes on the Sanguinololu). Adjust the Potentiometer on each driver board (it looks like a screw) to set the current limits.
G1 X5 F500
in the field below the log window and click Send. The X-motor should move to 5mm in the positive direction (X5) at 500mm/min (F500).
G1 X0 F500
and send. The X-motor should move back to its starting location (X0). If you find that your machine will not move in the negative direction, your endstops are probably not wired correctly. Refer to the wiring diagram to check your wiring.
REMOVE power from the Sanguinololu, then repeat the above test for the other 3 axes. Disconnecting the motor whilst the driver is powered will result in damaging the A4988 stepper driver IC. For each axis test, replace the X in the above command with the relevant axis letter (X,Y,Z,E).
Having verified you can drive all four axes, fit all the stepper drivers to the Sanguinololu and set their current limits as before.Cycle the power to your electronics then move all axes to the centre of their travel by hand.
Now command each axis in turn, ensuring each moves in the direction you expect. If an axis moves in the opposite direction, turn off the power, then rotate the motor wires connector for that axis by 180 degrees.
To test the endstops, repeat the above test for the X, Y and Z axes in turn, this time with a much slower feed and a larger negative distance, for example
G1 X-20 F100
As soon as you press Send and the axis begins to move, activate the relevant limit switch to halt movement of the axis. If activating the switch does not halt your axis, check your wiring.
You are almost ready to home your machine. Before doing so, ensure the Z endstop is high enough on the Z smooth rod to trigger the switch without the head ploughing into your heatbed.
Press the HOME ALL button and your machine will find its reference position at X0 Y0 Z0.
A 150mm steel rule is best for this step. Place the rule on top of each X end in turn and measure the distance to the Z motor mount. Rotate the Z motors until both X ends are the same distance from their respective Z motor mount.
One of the major differences between the standard pronterface and the eMAKER version is the way the machine is manually controlled. You have five buttons which enable you to position the head above the four corners of the bed and over the centre. The Z axis can be moved in increments of 0.1mm, 1mm and 10mm. The E axis can be moved by the amount specified in the distance spin control. The speed of manual moves can be specified in the spin controls above the manual move buttons.
To level the bed, move the head up such that you have at least the height of your measured object between the head and the bed. Then position the head in the centre and bring it down gradually until it is almost touching the object. Moving the head to each corner, adjust the three M3x30mm cap head screws by which the heatbed is mounted in order to level the bed. The nuts on the M3 screws need to be tight against the spring mounts.
After you have leveled the bed you should add a drop of superglue to the outside of each of the levelling nuts to minimize the shaking as the bed moves. Its actually good if some gets into the threads; you can still adjust be bed height, but it won’t creep around by itself.
With the head at Z0, the tip of the nozzle should be within a paper thickness away from the surface of the bed. To achieve this, follow the sequence:
When you get fed up with physically adjusting the endstop, you can offset the Z height as follows:
To adjust the Z height in firmware, send the command M203 Z<value> from the Pronterface software, where <value> is the amount in millimeters by which you wish to adjust the Z height. If the first layer is too close to the bed, you need to effectively move the bed down, so <value> will be negative. If the nozzle is too far from the bed during the first layer, <value> should be positive to raise the bed. Adjustments may be made in the range from -1.28mm to +1.27mm. Note that the Z height adjustment is stored in non-volatile memory on the printer so your printer will remember this setting even if you remove power.
Command the heatbed to 45C (warm), tick the monitor checkbox and verify that the heatbed temperature reading rises and stabilises around 45C, and that the heatbed is actually warm. It is easy to plug either the heater wires or thermistor wires back to front between the bed and nozzle heater pin headers.