Printing with ABS
The most important advantages of ABS are impact resistance and toughness. Lego is made from ABS. It will also not deform in hot water, compared to PLA. On the downside ABS is hard to print. You need very hot printbed (around 110 degrees Celsius) and Kapton tape, so the first layer will stick properly. ABS can also warp and curl. There are also other issues in the Marlin firmware that need some attention.
To start we need to apply the Kapton tape to our printing bed. First put soapy solution on the surface of the borosilicate glass. Initially we do not want the Kapton tape to stick so we will be able to position it.
Now you can safely apply layers of Kapton tape to the glass.
After you are done, it should look like in the picture below.
Squeeze the soap from underneath the kapton tape with a credit card.
Cut off the tape sticking outside of the glass with a Stanley knife.
After you are done clean off the remaining soap. The glass with the applied Kapton tape should look like this.
Put the glass back on the heatbed and heat it up to 110 degrees Celsius (in my case I could not reach it and got stuck at 85). Then squeeze the extra bubbles out that will reappear underneath the Kapton tape.
Now you are ready to start your print. Depending on the hardware, heat elements and power supply, it is possible that you will get this an error message that Heating failed or you encountered a Thermal runaway.
This problem can be easily fixed by changing some lines in the Marlin firmware code. The changes below apply for Marlin-1.1.0-RC8.
Heating failed error occurs when the temperature does rise as fast as expected. If that happens you can make a fast fix and change some lines in Configuration_adv.h file.
On lines 109 and 110 there are 2 constants that are responsible for this:
#define WATCH_BED_TEMP_PERIOD 60 #define WATCH_BED_TEMP_INCREASE 2
What is basically says is that it accepts the maximum time of 60 seconds to heat up by 2 degrees. If it takes longer, then the error will be triggered. WATCH_BED_TEMP_INCREASE variable should not be lower then 2, but you can make the period longer. In my case I have changed it to 360.
#define WATCH_BED_TEMP_PERIOD 360
The error of Thermal runaway occurs when the temperature drops more sudden than accounted for. For example when you blow too hard with the fan on the heated part and the heating cannot keep up with it causing the temperature to fall. In other words if the temperature stays too far below the target (hysteresis) for too long (period), the firmware will halt the machine as a safety precaution. To change it look for lines 97, 98 in Configuration_adv.h file. The default values are:
#define THERMAL_PROTECTION_BED_PERIOD 20 #define THERMAL_PROTECTION_BED_HYSTERESIS 2
For ABS this is too optimistic, especially when you use the fan to cool down your print. In my case the temerature dropped (on the first layers) up to 5 degees. So I changed the defaults the ones stated below.
#define THERMAL_PROTECTION_BED_PERIOD 120 #define THERMAL_PROTECTION_BED_HYSTERESIS 6
The other option is to disable the printing fan. This might be better in some cases, as rapid cooling down of ABS is mostly bad for the print and you can get splits between layers. The choice is up to you.
I hope that this quick summary will help you with printing with ABS. Although it takes more effort, the pay off is a good and durable quality of your prints.