Friday, July 15, 2011

Day 8 - X,Y and Z calibration

It's time to calibrate the home positions by cutting the flags into their proper length. to do this wee need to start-up the electronic.

First I attached 12v to the main board without anything else attached. I used a lab power supply with a current limiter started at 0 Amps and slowly rising until we get a steady current that is reasonable. My board showed about 40mA and that is resonable. If it goes up to a few 100mA something is wrong. Switch off power.

If you don't have a power supply with a current limiter you can connect an ampere meter in serial to see the current (Power + to ampere meter Amp input and then ampere meter Ground/Common to Mendel +). If it rises above reasonable limits quickly turn off the power.

Install the FTDI driver on your computer and connect the USB cable. Connected the X,Y and  Z motors + the X,Y and Z home sensors.

When it comes to host software I'm no fan of Java written programs. Yes it is platform independent as long you stick to simple things, then the problems starts. In my opinion, if you are not too lazy, it is possible to write x-platform software in C/C++ with great success. Blender is an extraordinary good example on this approach.

So I tried both RepRap and Replicator and none of the was able to find the communication port (running on 64-bit Vista, and yes it works as a charm on my computer)). I ended up with a home brewed communication software I wrote 10 years ago (ComSpy2 and yes I'm lazy, it only runs on Window platforms).


You can either use a Java application that works on your system or whatever terminal program you like. Set baud rate to 19200 8,n,1 no handshake. Turn on the power and rise the current limiter. You should be at approx. 630 mA and after a while you should read "start" in your terminal program. Now we have connection and the current looks okay.

Start with the command G28 Y0 to move the heated board into its home position.

If they go in the opposite directions or not move at all, you have some sort of problem :) Motors running backwards usually have the wires in the wrong place (change them in the connector). If it isn't moving at all, it might be the same problem or a faulty motor / driver.

If they don't stop at the home position you might have a faulty sensor or miss wired it.

If that worked well issue the G28 X0 to move the extruder sled into home position. Then issue the G28 Z0 command. Be ready to push the reset button (on the board) if it doesn't stop at the home position. If you haven't touched the flags yet, the Z-Axel will stop quite a bit over the heated bed.

Now when we have tested the home sensors it is time to do some adjustments.

By now I finally found a program that finds the "Mendel serial port", Repsnapper on Mendel-part's download page ;) So for now on, I'm using Repsnapper.


On the "Print" tab you can control each axle separately. First connect to the Mendel by pressing the "Connect to printer" button. Below "GCode" there are another 3 tabs, select the "Interactive Control" tab, then press "Home all" and all 3 axles should move out and home again.

As you can see there are 3 rows all begining with a "Home" button. This is the X,Y and Z axis. In the middle of each row there is an edit box with a 0 value.


Make a not of the distance nozzle - edges. Write 200 in the edit box for the X and Y axis (we will wait with the Z axis for now).

The motors should start as soon you type in values in the box. Now, notice the distance between nozzle and edges again. All your flags should be to long at this point. By shortening them you will move the home position further in on the heated bed (widening the distance nozzle - edges) and thus shortening them in the other end.

Cut the flags gradually to adjust the margins on the home and 200 position to be about equal.

When entering values in the edit boxes it will not do a sanity check! if you enter 2000 instead of 200 it will try to move 2m. Press the reset button on the board to abort.

I found the Z-axis to be the trickiest part. First of all you must be sure that the heated bed is levelled with the X-Sled (extruder).

To get a good reference, I first tightened the springs (under the heated bed) so there was a clearance of 20mm PTFE to PTFE at all springs (picture on right).

I used a spirit-level to check that the "ground" (table or whatever you place your Mendel on) was in level. Then I checked the heated table with the spirit-level. I was lucky and had it in perfect level. If not, adjust the table to level it. Check the level in both X and Y direction!

Manually lower the z-axis to about 5mm over the surface. Manually move the extruder slowly back and forth to see if the gap is the same in both ends, do the same in the other Y position.

If they are not the same we need to adjust one of the z-rods. Loosen up the belt so you can manually turn them individually. Place two papers at the end with the smallest gap and lover the z-axle so the nozzle touches the paper. You should feel a slight friction when moving the paper. Now move over to the other side and lower that z-axle until the nozzle touches the paper. You should adjust it to get about the same friction as before.

Carefully put back the z-belt without rotating the z-axles before they are connected with the belt. At this point the nozzle should be aligned with the heated table.

Next step I tighten the Z-opto sensor a few rounds (not to many) so I can losen it up if I cut away to much of the Z-flag. If you already didn't bend the Z-flag in a god and sturdy shape, now is the time to do it.
Manually move the Z-axle so the flag is positioned  near the opto sensors's centre and press the "Home All" button.

Shorten the Z-flag gradually and press the z-axis home button to get it as close as possible to the surface.
Again use 2 sheets of paper (I used standard office paper, 80g/m2) to get a slight friction. Press "Home All" and then slowly manually move the nozzle around all corners to check that it had the same friction every where. Done!

2 comments:

  1. Hi. i followed everything, but only one of the three axis goes ad home in the right way... the second one goes in the opposite direction and the third move only one step... can you help me please?

    hello

    ReplyDelete
  2. The stepper motor cables are most likely miss-wired in the connector. I don't have an Ocra but on my GEN6 controller board the cables should be from left to right (USB connector at top and motor connectors at bottom): Black-Green-Yellow-Blue.

    You might have different colours on your motor and in that case I can't help you so much more.

    ReplyDelete