TEdit - Terraria Map Editor

TEdit 3 Beta for Terraria 1.1.1 is available. If you would like to see it, check out github!

What is Terraria Map Editor a.k.a. TEdit?
TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint!

Downloads - There will usually be a few versions, as well as the schematics.
http://binaryconstruct.com/games/tedit

Issues (posting bugs, crashes, feature requests) - check here if you have an issue, chances are it is already there and you can post a comment on the issue or attach a log
http://github.com/BinaryConstruct/Terraria-Map-Editor/issues

Wiki - If you can't figure out how to use a tool or feature, please read!
http://github.com/BinaryConstruct/Terraria-Map-Editor/wiki/Getting-Started

MAKE A BACKUP OF YOUR WORLD BEFORE USING THIS!!!
It will make one for you (wld.Tedit), but you should anyway.

TEdit Screenshot
TEdit Screenshot

C# WinForms Search Textbox and Toggle Button

WinForms Search Text Box
V2: Now uses GDI+ to draw the icons. Single code file instead of code + png images.
Here is a quick control I cooked up today for a project I'm working on. It is a winforms textbox with a search/clear button. It has two modes, search and clear. Each mode will show a different button and trigger a different event when the button is clicked. When using this in your own project, be sure to update the image paths and namespace. In the spirit of open source the license is GPL. I borrowed some code from other sources and they are listed in the code file.
Clear mode shows an X icon and fires the Cleared event. Clear mode also and clears the textbox when the button is clicked. Search mode shows the magnifying glass icon and fires the Search event when clicked. The default text can be customized using properties. The icons have an alpha channel use GDI+ so if you want to change the color of the button it should still look OK.

Download: https://github.com/BinaryConstruct/CSharpControls

search textbox

Winforms Toggle Button
Functions like a checkbox, but its a button!
toggle button

Resistor Heater X2

It turns out a single resistor wasn't enough to drive the extruder, so following some ideas from Makerbot I decided to create a double resistor heater. I wanted to reuse parts that I already had as much as possible, so I started with a standard heater barrel. The heater block is machined from a single piece of brass.

Here are the build instructions.
Materials Required:

  • Heater Barrel
  • Nozzle
  • Double Resistor Heater Block
  • PTFE Washer
  • Heatsink
  • Hybrid Thermal Barrier
  • 2x Resistors
  • Heatsink Epoxy
  • Heatsink Grease

Mix up some heatsink epoxy and coat the resistors with it. This will hold them inside the heater block permanently, so be sure to place them exactly where you want them.

Once the epoxy sets, 5 minutes or so, apply a drop of heatsink grease to the heater barrel where the block will sit. This will help heat conduction from the block to the barrel. Screw the block onto the barrel. I used a bit of fiberglass sleeving to insulate the resistor wires. If you don't have any you can use PTFE tubing or any insulator that can handle 250C. 

Attach the thermistor or thermocouple to the nozzle and wrap a bit of Kapton to keep it in place.

Slide the PTFE washer onto the barrel. Put another drop of heatsink grease on the barrel, then thread the heatsink on.

Thread the barrel into the thermal barrier, then put it back on the RepRap.

The resistors I used are 5ohms each, and in parallel this is 2.5 ohms. The power draw is a little too much for the extruder board, so I added in a 40 amp automotive relay to drive them.

And, it works!

Caution Choosing a Thermistor

Temperature Tuning Part 1

Thermistors work very well when measuring temperatures near the middle of the specified range. They operate nearly linear and have a high resolution (large resistance change per degree). These properties make it easy to determine the actual temperature using the RepRap electronics.

There are two parts to this problem. The first part is when you get close to the upper end of the range of the thermistor the resistance changes per degree are very small. Depending on the resolution of the DAC being used, this can allow for more error in measurements and loss of individual degrees (e.g. incrementing the digital value may be 2 - 3 degrees).

The other part is the resolution of the lookup table in the firmware. Since thermistors are nonlinear and ATmegas are relatively slow at float-point calculations, a lookup table is required to convert the output of the DAC measuring the thermistor to an actual temperature. This table approximates the curve of the thermistor’s change in resistance to actual temperature.

With careful thermistor choice you can reduce the effect of this problem. I will attempt to explain below.

Here are some lookup tables generated using the script on the RepRap Wiki Thermistor page. The highlighted row (reading 54) is the turning point for these thermistors. Temperatures above this value will have lower resolution.  This low resolution is bad because each incremental value from the DAC is more than one degree; in fact it is quite a lot more. For each of the three thermistors below here is the actual temperature increment for one digital increment:

  • 100k 1mm Makerbot Thermistor: ~5C
  • 100k EPOCS: ~11C
  • 100K RRRF: ~12C
100K - 1mm MKRBOT EPCOS 100K RRRF 100K
r0 93700 r0 100000 r0 100000
t0 24 t0 25 t0 25
r1 0 r1 0 r1 0
r2 4700 r2 4700 r2 4700
beta 4881 beta 4066 beta 3960
Reading Temp Reading Temp Reading Temp
1 477 1 841 1 929
54 189 54 255 54 266
107 159 107 209 107 217
160 142 160 184 160 190
213 130 213 166 213 172
266 120 266 153 266 158
319 112 319 142 319 146
372 106 372 132 372 136
425 99 425 124 425 127
478 93 478 116 478 119
531 88 531 108 531 111
584 82 584 101 584 103
637 77 637 93 637 96
690 71 690 86 690 88
743 65 743 78 743 80
796 59 796 70 796 71
849 51 849 61 849 62
902 43 902 50 902 50
955 30 955 34 955 34
1008 4 1008 3 1008 2

If you were trying to use the PID to control the temperatures in this range, it would behave very poorly. The PID could never stabilize because the next temperature reading it received could be as much as 12C higher than the previous.  Notice the first thermistor's temperature at reading 54 is 189C. Anything above 189C will have a very low precision and cause the PID to operate poorly.  As a test, I used this thermistor and set my extruder temperature to 190C. The temperature would ramp up as expected to 189C and then instantly jump to 195C, causing the PID to turn off completely, instead of ramping down the PWM slowly to achieve steady state. With the heater off, the extruder starts cooling, and the temperature would fall to about 186C before turning the heater on again. It takes a few seconds with the heat on before the thermistor starts indicating the temperature rising again, by then the temp had fallen to 179C.

Think of the PID and heater control as you holding a long spring with a weight attached. Your goal is to move the weight to a specific height as quick as possible. Most likely, when you first move the weight up, you will overshoot the target height. When you move your hand down to make up for it, the weight will drop below the target height. Eventually you will find the proper place to hold your hand to keep the weight at the right height, achieving steady state. This height can be related to the PWM output, or power, of the PID control to the heater. The goal is to find the right power to keep the temperature at a steady state.

Now imagine the spring example, but you can't see the weight unless it is just below or far above the mark. We as humans could guess at where to hold the weight to achieve a steady state, but the microcontroller doesn't have that luxury. It needs to know the temperature with as much precision as possible to be able to achieve steady state.

If we selected one of the other thermistors, we could precisely measure temperatures of a much higher value, up to 255C or 266C. This is more than adequate for melting PLA, ABS or most any other thermoplastics the RepRap is capable of extruding.  There are other thermistors than these three, some with higher temperature ranges, most with lower.  Before purchasing a thermistor take a look at the datasheet, and run the createTemperatureLookup.py and see where the best precision range of that thermistor lies and if it will meet your needs.

If you still don't trust thermistors, you can always try a thermocouple! Next time I'll talk about PID tuning vs thermal mass and heater power.

Mendel Working and Another RepSnapper Fan

I finally got my Mendel working, as it turns out almost all my problems were being caused by bad thermistor calibration. You can see from the screen shot, 250C indicated by the software is actualy around 225C in the real world. On short notice I found the correct look-up table here: RepRap 1mm Thermistor Lookup Table. Brian helped me fix a leaking thermal barrier. My spool is mounted below my machine, so I put together a Bowden cable to feed the extruder to keep it from jaming.

I've been using RepSnapper, and I think I'm starting to like it. It is so easy to calibrate your machine when it only takes 5 seconds to create gcode from and stl. There are a couple issues with it, but overall it is much more convienient to use.

Pros:

  • Extremely fast slicing and converting to gcode ( < 5 seconds for most mendel parts)
  • Easy to reposition/rotate objects and create RFO prints
  • Easy settings and manual machine control
  • Nice 3D preview

Cons:

  • No bottom/top cap so objects are see-through
  • Raft doesn't seem to work Added in new version
  • Only 64 bit? It could probably be recompiled to work on 32 bit, but I haven't looked into it A new version has been uploaded to SVN and it works on 32 bit and 64 bit
  • No reversing of extruder? Added in new version
  • No early-start, the start of layers if you have multiple objects tends to gap

I haven't figured out if there are settings I'm missing or if these haven't been implemented yet. Anyway, thank you for this software, it is great!

Here are some photos of the Mendel building Nophead's pullys, being driven by RepSnapper.

Three Pulleys 1
Three Pulleys 2
Three Pulleys Wide
RepSnapper

Announcing RepRapStores.com

RepRap Stores Community Shop is a new host for multiple vendors to sell parts and allows RepRappers to find what they need quickly. All products will be displayed in one conglomerated catalog for easy end-user browsing.

Features

RepRap Stores will host your products, handle website maintenance, payment gateways and provide technical support. You can list as many products as you like and there is no limit on how much you can sell. You can also create blog entries and online instruction manuals using a WYSIWYG editor directly on the website. If you need help, a real person will be available to help you set up your account.

We will provide you with a complete ecommerce solution including order processing and fulfillment, customized sales reports and inventory management.

For more information see: http://www.reprapstores.com/

If you would like to sell parts, see http://www.reprapstores.com/becomeavendor

For question and concerns please contact RepRap Stores, or leave a comment.

McWire creates a Mendel Part 2

I have assembled most of the Mendel now, just waiting on a new Z-belt from McMaster. The BoM for the Mendel has the wrong one listed, try this instead: 6484K512

The NEMA17 I have for the extruder is slipping. It is a KL17H-2-47-168-4B rated at 63oz-in but I don't think I am getting that kind of torque using the Extruder Controler board. I have a spare stepper board I might try and drive it from.  I am also going to attempt to build a Bowden cable with teflon lined tubing (McMaster Part: 4mm I.D. 5557K33 or 3mm I.D.
5557K38). This will allow me to use a NEMA 23 motor rated much higher (282 oz-in).

I moved the stepper controller mounting plate outside the frame to allow for the 4th stepper controller. I will probably move it as it might restrict the Y axis movement.

The next step is to attach the Z belt and finish the extruder.

Mendel without Z axis
Mendel Assembled 1
Mendel Assembled 2

McWire creates a Mendel Part 1

This is no April Fools' joke! All the metal hardware was delivered yesterday and I began assembly. I got a late start so only the X-Axis is assembled. The motors are not attached, because I forgot to make a few parts and the motors driving the McWire.
A few of the holes were a little small so they were drilled out to M4. To fit the trapped nuts, I heated them with a torch and pressed them into the sockets with pliers. I used a razor blade to clean up any sloppy edges and the squished first layers on some parts.

Mendel Bars
Mendel Hardware
Mendel Trapped Nuts
Mendel X Carrage
Mendel Frame
Mendel X Axis

Fixing Extruder Jams and Flow Problems

If you are experiencing extruder jams, here are the basic steps to follow to reduce or, as in my case, completely eliminate them! Jams can be cause by incorrect temperature settings, trash in your nozzle, incorrect extruder grip, long melt zones, poor spooling and any number of other causes. Here are some solutions to those problems and some additional tips.

Fix temperature settings

Almost every supplier of filament has slightly different datasheets for their plastic. You need to set your temperature high enough to melt it and get an even flow. In my case this involved two things, the first was to mount the thermistor very close to the nozzle tip tightly wrapped with kapton to get a more accurate reading. The second was to crank the temp up to 243°C for ABS. I've read multiple documents indicating anywhere from 220°C to 245°C, with varying conditions. In my case I do have a heated bed, and most people seem to get away with the lower end, but I just couldn't get even flow so I had to move up to the upper end. If you start getting pops, hisses and steam from your extruder, its probably too hot and you should lower it. It the flow is uneven, try increasing the temperature.

Clean your filament

This one is easy. Take a lint free cloth, cut a 1" x 4" strip and wrap it around your filament before it gets to your extruder. Take a zip tie and secure it around the filament, and then use another zip tie to hold it to the frame or some fixture to keep the cloth in place. This will also act as a guide for your filament so be sure to put it in a place that your filament normally feeds through. The cloth will wipe any hair, dust or other trash off the filament before it feeds into your extruder.

Clean your nozzle

If your extruder is shooting out plastic sideways, in an oval shape or thinner than you expect there may be trash inside the barrel. To clean your nozzle, disassemble your extruder while cool. If you use kapton/nichrome to heat it you may have to redo the heater section. If you have a removable heater this is much easier.  Once you have the barrel/nozzle out of the PTFE thermal barrier, you will need to secure the barrel to remove the nozzle. I recommend using a chuck in a hand drill or drill press, as a vice will crush the sides and probably tear the barrel in half.

Before wrenching off the nozzle, hit it with a torch for a few seconds to melt and plastic inside or melted into the threads. If you have the barrel secure in a chuck, use a wrench to slowly turn the nozzle off. If it doesn't come off easily, hit it with the torch again. Be very careful here, especially if your barrel is thin. If you use too much force you will tear a hole in the barrel which is bad news.

Once disassembled soak the barrel and nozzle in acetone overnight, or at least for a few hours. Afterward you should be able to use some filament to push all the old dirty plastic out of the barrel and a small wire to scrape out the nozzle. If you can't push a pin or wire through your nozzle you may have to redrill the tip. I recommend securing the tip in a vice and using a dremel drill press or something similar with a 0.5mm bit to redrill it.

You can also redrill the inside of the nozzle with a 5mm bit while you are at it. Be very careful if you decide to do this as you can go all the way through quite easily. If you redrill with a 5mm bit you might want to retap the threads. You can also put the barrel in a hand drill and file the tip down to 118° (so it is the same angle as your drill bit). This will help the seal and prevent leaking around the nozzle threads.
Before reassembling, run a die over the threads of the nozzle to clean up any burrs caused by the chuck.

Align your extruder

If you have a pinch wheel extruder, be sure it is adjusted properly. If you have too much grip you will deform the filament, which will cause it to jam. If you don't have enough it won't feed and will cut an C out of the side of the filament. Makerbot recommends a space of 2.0mm between the idler wheel and gripping gear. [Makerbot Extruder Assembly Guide] RepRap.org reccomends 2.5mm between the motor shaft and idler bearing for a Mendel extruder. [RepRap.org Extruder Assembly Guide] Use the one that is appropriate for you filament. I use a drill bit to align the space, have your motor bolted in firm but loose enough it can slide a little. To expand the gap, run a drill bit down the filament shaft by turning the motor to feed it in. It should space the motor to the size of the bit.  If you want to decrease the gap, just stick a smaller bit in the shaft and slide the motor against it. Once aligned, tighten up the bolts to keep it in place. You may find that you have to realign your motor every 30 or so hours of use, depending on the type of mount you use.

Spool your filament...tightly!

If you don't have a spool make one! [Thingiverse: Cardboard Spool by charlespax] This one is cardboard easy to make, I made 4 in a couple hours with a weed-eater box,  tin snips and a cardboard cutter. When you put the filament on the spool, wind it on tightly. This is easier with two people, so you can help keep the tension up. If you don't you may end up with one of these:

Shorten Your Melt Zone!

Done all the above and still having problems? Perhaps the melt zone of your extruder barrel is too long.  When feeding filament slowly (230PWM or less), the entrance to the barrel is often hot enough to soften the filament. This makes the plunger effect of the filament ineffective and pushes melted plastic back up the nozzle in reverse. This melted plastic would form a plug and leak out the PTFE barrier. The PTFE barrier would be deformed and unusable afterward, as the threaded section would be stretched out and the middle bulging. There are two steps to fixing this problem, but you may only need the first. Buy or machine a barrel like this:
Extruder Barrel CAD
The thin section in the middle will cut down on heat flowing from the hot tip up to the PTFE barrier. The other step is to switch to a PTFE sleeved PEEK thermal barrier instead of PTFE. I have found that PEEK does not deform under the stress and heat like PTFE, and the PTFE sleeve allows PLA to feed without sticking.

Still having problems?

If you did all this and are still having problems, you might try some different filament, leave some comments, or post on the forums [forums.reprap.org]!

Easy and Cheap Heated Bed

 Needing a quick solution to a heated bed, I dug around my closet and found this $20 GE hot plate that I had used to do some SMT soldering.  I purchased the 8"x8"x0.25"aluminum plate at a local welding shop for $5 and covered it with Kapton tape. I used a bit of doublestick tape to hold the hot plate to the McWire platform and some more Kapton to hold everthing down.  I "borrowed" my wife's thermometer and taped it to the bottom of the plate for a quick way to measure temperature. 

 So far it has worked great and ABS parts come off with ease.  This solution isn't very elegant or complicated but it gets the job done, took less that 10 minutes to build and test and cost under $30 for all the parts including the Kapton. It probably wont fit on anything other that a McWire or gantry style machine with this size hotplate but you may be able to find a smaller one in your area.

Easy Heated Bed

 

Here is a photo of Mendel parts printed on the bed. Its about 25% of the RP parts needed.

Mendel Parts

Pages

Connect

RSStwitter

Support

Feel like supporting BinaryConstruct?

Recent Posts


TEdit
Instructions To install TEdit, simply download the latest version and unzip all contents to the...

TEdit - Terraria Map Editor
TEdit 3 Beta for Terraria 1.1.1 is available. If you would like to see it, check out github! What...

C# WinForms Search Textbox and Toggle Button
WinForms Search Text Box V2: Now uses GDI+ to draw the icons. Single code file instead of code +...

Resistor Heater X2
It turns out a single resistor wasn't enough to drive the extruder, so following some ideas from...

Caution Choosing a Thermistor
Temperature Tuning Part 1 Thermistors work very well when measuring temperatures near the middle of...