Tuesday, December 27, 2016

Tronxy X3A Extruder Temperature

The extruder temperature on my Tronxy X3A likes to run about 1.5 degrees below the setpoint.  I don't know how much effect that has on the quality of my prints, but I do know that until the temperature difference gets less than 1 degree, the print won't proceed if the M109 code has been used in the program.

As a workaround, I just blocked the airflow to the extruder fan with a card, the temperature went up slightly, and the test print proceeded.

But now I want to fix it so it works properly.  I think I want to do an autotune cycle.

I did an autotune by following the procedures on Using Repetier Host with my Tronxy X3A.

PID Constants from Autotune

Here are the results of the autotune:

Kp = 17.44
Ki = 1.19
Kd = 63.71

After entering these values from Repetier host, the temperature control is perfect.

Entering PID Constants

Now that I have the constants, they need to be installed in the printer.  This is done by the following:

1. Send an M205 to the printer.  This will display a list of all the EEPROM settings.
2. In the list, find the PID settings for the extruder.  On my printer, they are  as follows:
EPR:3 218 17.4400 Extr.1 PID P-gain/dead-time
EPR:3 222 1.1900 Extr.1 PID I-gain
EPR:3 226 63.6996 Extr.1 PID D-gain
The first number following EPR is the type.  All are type 3 (float).
The second number following EPR is the position in EEPROM.  218 for Kp, 222 for Ki, 226 for Kd.
The third number is the value (17.44 for Kp, 1.19 for Ki, 63.6996 for Kd).

3. Set values by sending an M206 command to the printer.  The M206 command to set Kp to 17.5 would be as follows:
M206 T3 P218 X17.5
Note that the T parameter is the type, the P parameter is the position,  and the X parameter is the value to be stored in that position
4. Once you have set all 3 values, you should have the new PID constants set.

Using Repetier Host with my Tronxy X3A

I want to do an autotune on my extruder to get better temperature control.  To do that, I need to send an M303 code to my printer.  I hope to use Repetier host to do that.  This entry shows the process.

Setting up the Printer

I needed to set the 3D printer up properly as a printer in Repetier.

Getting the driver

I needed a USB to serial driver.  The website for a downloadable driver is found on the microSD card that came with the printer.  For my printer, the website was http://www.ftdichip.com/Drivers/VCP.htm

Then I installed the appropriate driver for my system.  Now I have a usb to serial port as my printer.

Setting the Baudrate

In order to communicate properly, the baudrate of the Repetier host needs to match that of the printer. 
Use the LCD panel to get to Configuration/General/Baudrate.  The baudrate on your printer displays.

Now go to Repetier and look at the Printer menu, Printer Settings, select the proper baud rate, and hit OK.  

Then click on the Connect button, and the printer should be connected.  Your printer should reset, and you should get a message that tells what your firmware is (in my case, Repetier_0.01).  And your printer status should go to idle.

Running an Autotune

The following command should give me an autotune:

 M303 E0 S200 C8

I need to get this command to the printer. O To do so, I use a script under the G-Code tab in Repetier-host.

Select Script  1 from the list.

Paste in the command above.

Save it with the save icon.

Go to Printer/Send Script 1.  This starts the autotune running.  On Repetier-host I see

Info: PID Autotune Start

Now I need to wait for the extruder temperature to go above and below 200 C 8 times.

Another way to send the command

An easier way to send the command to the printer is using the Print Panel.

On the print panel, there's a G-code entry box.  Paste the command above into the box, and click the Send button.  And the autotune runs just as it did above.

Tronxy X3A Bed Leveling

Before making test prints, it's necessary to level the bed.  I tried several times, and read several websites, before I finally converged on the process that worked for me.  So without further ado, here's my bed-leveling process.

Compress the bed adjusting springs

Adjust the nuts on the corners of the print bed to compress the springs as far as possible.  Be careful not to over-compress them.  You will over-compress them if the Y-axis roller screws run into the bottom side of the heat bed.  This distorts the Y-axis table and causes slop.  If you get them too tight, just loosen them a little bit.

Adjust the Z-axis limit

By default, the printer wants to start at Z=0.  It's possible to use G-code to make a printer offset (and that's what I'll do once I have the auto-level sensor), but in the meantime it's easy to adjust the Z-axis limit and the print bed to make everything work well.  Here's the procedure:
  1. Home all axes, using the buttons on the LCD panel.
  2. Look at the end of the extrusion nozzle relative to the surface of the print bed.  Is it a few mm or more above the bed?  You'll need to lower the Z-axis limit switch.  It it at or below the level of the bed?  You'll need to raise the limit switch.  Is it 1-2 mm above the bed?  Your limit switch is just right.
  3. To lower the Z-axis limit switch:
    1. Loosen the nut holding the switch in place.
    2. Slide the switch down.
    3. Use the LCD panel and buttons to lower the Z-axis. Get extruder nozzle 1-2 mm above the print bed (your eye is a sufficient measurement device).
    4. While watching the limit switch output on the display, slide the limit switch up until the display says the limit switch is closed.  Tighten the limit switch in the new position.
    5. Return to step 1 and see if the limit switch setting is correct.
  4. To raise the Z-axis limit switch:Slide the switch down.
    1. Use the LCD panel and buttons to raise the Z-axis. Get extruder nozzle 1-2 mm above the print bed (your eye is a sufficient measurement device).
    2. Loosen the limit switch.
    3. While watching the limit switch output on the display, slide the limit switch up until the display says the limit switch is closed.  Tighten the limit switch in the new position.
    4. Return to step 1 and see if the limit switch setting is correct

Level the bed

Now you need to get the bed leveled and adjusted to the proper height.  Here's how I did it:

  1. Use the LCD panel to preheat the bed and extruder.  I don't know how important this is, but some websites mention that thermal expansion can be an issue.
  2. Use the LCD panel to move the Z-axis to a position of 0.12 mm.  This corresponds to the thickness of a typical sheet of paper.
  3. Move the X and Y axes to position the extruder over one corner of the bed.
  4. Place a sheet of paper between the bed and the extruder nozzle.  Loosen the bed adjusting screw to allow the bed to rise toward the nozzle, while moving the paper back and forth.  eventually, you will feel a slight drag as the nozzle makes contact with the paper.
  5. Repeat steps 3 and 4 with each corner, and verify that the drag is the same at all locations on the bed.
Now you should be ready to print a test part.

Tronxy X3A Build Tips

Here are some tips I wish I'd had when building my printer.


Y Axis

Make sure the rollers fit tight on the Y-axis, so the table can't wobble.  The holes in the acrylic table support are large enough to provide a little adjustment room.  I made things work by slightly loosening the rollers, pinching them in with my fingers, and tightening the screw with a hex key oriented so the tightening force would push the screw towards the center of the extrusion.

X Axis

Mount the X-axis screw nut supports as far down on the Z-axis carriage as possible (the screws will be as high in the adjustment slots as possible.

Mount the X-axis extrusion as high as possible on the X-axis screw nut support.

If you don't do both of these things, you may find that the X-axis roller nuts will interfere with the Z-axis screw supports.  I put it together wrong, and had to readjust the positions to make my axis work.

Make sure the X-axis motor is mounted with the electrical connector facing down.

Z Axis Limit Switch

Mount the Z-axis limit switch on the outside of the Z-axis extrusion.  If you don't, the Z-axis won't be able to get down to the surface of the print bed.

Wiring

Use twist ties or cable ties to temporarily secure your wiring before testing the printer.  I did all my wires up in the spiral loom that was provided.  And then I found some wiring problems.  So I had to deal with the loom at this point.  Wish I had waited to put the wiring in the loom.

Tools

Some T-handle or other long-handle metric hex keys make assembly much nicer than working with just the ones provided in the kit.  And ball-end keys help work around some of the obstacles.

Small (6 mm and smaller) combination wrenches would help with assembly.  I ended up using a 4-inch adjustable wrench for lots of the assembly, but it's kind big and gets in the way. 

Tronxy X3A Initial Impressions

I just bought my first 3D printer -- A Tronxy X3A self-leveling printer -- on ebay.  I chose the printer because it was inexpensive, seemed to have good components, and was self-leveling.  This begins my 3D printing experience.

Because there's not a lot of documentation for this printer, I thought I'd start a blog as a place to share my experiences.  It will provide a place for me to keep track of important information, and maybe it will help others.

Let me begin with a list of pros and cons for my new printer.

Pros

  • Great structure.  Built with aluminum extrusions, which makes it light and rigid.
  • High build quality for parts.  Everything fit well and went together nicely.  Some of the more complex subassemblies came preassembled.
  • All-metal extruder head.
  • Sockets, rather than screw terminals, for wiring components.  Made the wiring nice and robust.
  • Smooth roller system for axes.
  • Twin-screw z-axis drive is very smooth and robust.
  • Nice filament roll support system.
  • Nice enclosure for the electronics (although I might prefer to have the electronics better integrated with the printer structure).

Cons

  • Cryptic instructions.  The printer came with a set of pictorial instructions.  They were sufficient to build the printer, but I ended up moving backwards several times through the construction because I had missed something (or else it wasn't even covered in the instructions).
  • No help once you get the printer built.  Once the printer was built, I was on my own for getting it up and running.  Fortunately, there is a robust 3D printing community, and this Tronxy is a prusa derivative, so most of the prusa i3 instructions will apply.
  • Weak after-sale support.  Whenever I asked a question of the seller on ebay, I got an offer for a partial refund, rather than the answer to the question I wanted.  I felt like I was pretty much on my own.
  • Although I bought an auto-leveling printer, the one I received didn't have the auto-level sensor. And Tronxy wouldn't send me one.  They did give me a $20 partial refund, and I used that money to buy the sensor elsewhere, so I think I will soon have autolevel.

Summary

Would I buy this printer again?  In a heartbeat.  The price is right; the parts quality appears to be excellent; the printer works.

But I wish the documentation were better.  I'll provide some notes that would have helped me had I had them.