Hyper 212 Evo by Cooler master

It’s a huge fan. I was overwhelmed by its size when it arrived.

cDSC_0001

cDSC_0003

The installation instruction was unclear and I had to take off it once after finding 50 Celsius degrees in idle run. The square hole of the contact plate was too small so that it seat on top of the processor leaving 2 mm to 1.5 mm of gap.

I used two M5 washers instead two pieces of aluminium block for making full contact between processor and heat sink.

cDSC_0011

I think I spent good few hours to install the cooler.

cDSC_0006

cDSC_0008

cDSC_0009

It lowered CPU temperature five to ten Celsius degrees compared to the stock AMD cooler. The cooling fan runs around at 1,000 to 1,200 RPM, which is half the speed of the stock cooler. The computer runs quieter.

Posted in DIY | Tagged , , | Leave a comment

Layer fan and a dummy object makes printing difficult models.

I opened an account on 3D Hubs as 3D Printing service provider. The first order I had to print the Marvin. It looked a simple model but I had to print over sixteen samples before I managed to print an acceptable Marvin.

Filament: PLA 1.75 mm
Layer height: 50 microns (0.05 mm)
Printing speed: 60 mm/s
(I set the printing speed to 20 mm/s on bottom and top part.)

cDSC_0030

The hook on top of Marvin gave me a lot of frustration because extremely slow printing or fast, 10 seconds of layer cooling time by Cool lift failed to produce decent shape. Cool lift left messy strings around the hook.

I thought ‘Is that all?’ and went out for Internet searching to find out how other users handle the Marvin. I forgot which site that a simple technique using a dummy object, which provide enough cooling time of tight layer such as the hook. So I added a cube object beside the Marvin on build platform in Cura.

The cooling time of target object’s layer is determined by travel speed and distance from the object, and shape of dummy object. Suppose travel speed is set 250 mm/s, five seconds of cooling time is derived by following formula.

Speed = distance / time
time = distance / speed
5 = distance / speed
distance = 5 * speed
distance = 5 s * 250 mm/s
= 1,250 mm

The nozzle makes a round trip so half of 1,250 mm is the distance between two objects, which is 625 mm. And we add average printing time of one layer of the dummy object to get the desirable cooling time of the target object.

By three to four test printing like below, I found dummy object’s size and separating distance from Marvin.
cDSC_0008

Near finish of a successful Marvin printing.
cDSC_0018

Air flow near the nozzle affects printing quality too. The ideal setup is to direct air tip of the nozzle in circular pattern.  The oval fan duct I installed today afternoon produced better quality of Marvin with 0.1 mm layer height, compared to the above one.

cDSC_0031

cDSC_0035

Posted in Reprap 3D Printer | Tagged , , , , , , | Leave a comment

The layer fan is magic secret!

http://www.thingiverse.com/download:62984

Last month I tried to print it and realized that my Bulbul Junior couldn’t make it due to lack of cooling power. Later on I learned that to have good quality in PLA filament, layer fan is must-have device.

cDSC_0015

Yesterday I managed to install the layer fan. (http://www.thingiverse.com/thing:540716) It improved printing quality instantly. More over it literally moved capability of Bulbul Junior to next level. Printing sphere, overhang object were impractical.

Printing speed of the left side was up to 5 mm/s.
cDSC_0441

Normal printing speed over 30 mm/s created failed cups.
cDSC_0442

cDSC_0131

cDSC_0140

cDSC_0144

cDSC_0146

I’ve had 3D Printing fever for few days. Sometimes replacement of broken part required Marlin firmware hack. One week ago thermistor of E3D V6 hotend got broken. The thickness of thermistor lead is 0.2 mm according to the data sheet. I would take two to three weeks for getting the thermistor kits from E3D company in England. So I decided to install other thermistor I could buy in domestic market. I found a thermistor rating -40C to 250C made by Korean company from an online electronic shop.

Configuration.h

// 20 is 20k Samkyung NTC-20KGJG (4.7k pullup)
// 60 is 100k Maker's Tool Works Kapton Bed Thermister
//
// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
// (but gives greater accuracy and more stable PID)
// 51 is 100k thermistor - EPCOS (1k pullup)
// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)

// Custom thermistor
#define TEMP_SENSOR_0 20 // 5 (E3D V6 Hotend)

thermistortables.h

// Thermistor lookup table for Marlin
// ./createTemperatureLookup.py --rp=4700 --t1=25.0:20000.0 --t2=115.0:877.52 --t3=250.0:54.44 --num-temps=60

#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20)
const short temptable_20[][2] PROGMEM = {
{97, 284},
{105, 278},
{114, 272},
{124, 266},
{135, 260},
{147, 254},
{161, 248},
{176, 242},
{193, 230},
{212, 224},
{233, 218},
{257, 212},
{284, 206},
{315, 200},
{349, 194},
{388, 188},
{433, 182},
{484, 176},
{542, 170},
{609, 164},
{685, 158},
{773, 152},
{874, 146},
{991, 140},
{1126, 134},
{1282, 128},
{1462, 122},
{1672, 116},
{1914, 110},
{2195, 104},
{2519, 98},
{2892, 92},
{3320, 86},
{3809, 80},
{4363, 74},
{4985, 68},
{5675, 62},
{6431, 56},
{7245, 50},
{8105, 44},
{8996, 38},
{9897, 32},
{10784, 26},
{11636, 20},
{12431, 14},
{13153, 8},
{13792, 2},
{14341, -4}
};
#endif

Fast retraction causes early failure of Bowden drive. PTFE tube of extruder wears out. Once it starts popping out middle of printing, it’s game over. Two times in a row for two days, heavy duty Push fit that has six tiny metal teeth chewed up end of the PTFE tube on extruder. I got so pissed off by it, frustrated about stupid or silly design flaw. I started thinking how to eliminate the movement of PFTE tube on extruder, came up with gluing the tube and Push fit altogether permanently.

cDSC_0001

The first order was effector for E3D V6 hotend and I made it for free. Printed parts kit of Kossel Mini for 2020 aluminium extrusion. It’s the second order delivery. I gonna charge service fee on it. I set printing rate about 2,000.00 KRW/hour that covers operation cost of Bulbul Junior for a while. As soon as I’ll run second Reprap 3D Printer, I’ll start make some money out of 3D printing business.

Within few months I gonna have three Deltabot 3D Printers. By end of this year I plan to build at least one SLA 3D Printer by myself, including 3D scanner system that uses Open Source photogrammetry software.

cDSC_0004

cDSC_0003

cDSC_0003

Bulbul Junior in action

Six endstops, 2020 Kossel Mini kit

Stepper motor mount, 2020 Kossel Mini kit

40 mm layer fan duct kit

Turbine blade for blower motor

Posted in Reprap 3D Printer | Tagged , , , , | Leave a comment

Babies of Daurian Redstart

April 13, 2015

April 13, 2015

April 24, 2015

April 24, 2015

The mother bird

The mother bird

Posted in Photography | Tagged , | Leave a comment

Temperature lookup table of NTC-20KGJG, Samkyung thermistor for Rich Cattell’s Marlin v1.0

NTC_thermistors_samkyung

Name: NTC-20KGJG
Resistance: 20k (25C)
Operating temperature: -40C to 250C
B constant: 3991K

Configuration.h

// 20 is 20k Samkyung NTC-20KGJG (4.7k pullup)
// 60 is 100k Maker's Tool Works Kapton Bed Thermister
//
// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k
// (but gives greater accuracy and more stable PID)
// 51 is 100k thermistor - EPCOS (1k pullup)
// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)
// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)

// Custom thermistor
#define TEMP_SENSOR_0 20 // 5 (E3D V6 Hotend)

thermistortables.h

// Thermistor lookup table for Marlin
// ./createTemperatureLookup.py --rp=4700 --t1=25.0:20000.0 --t2=115.0:877.52 --t3=250.0:54.44 --num-temps=60

#if (THERMISTORHEATER_0 == 20) || (THERMISTORHEATER_1 == 20) || (THERMISTORHEATER_2 == 20) || (THERMISTORBED == 20)
const short temptable_20[][2] PROGMEM = {
{97, 284},
{105, 278},
{114, 272},
{124, 266},
{135, 260},
{147, 254},
{161, 248},
{176, 242},
{193, 230},
{212, 224},
{233, 218},
{257, 212},
{284, 206},
{315, 200},
{349, 194},
{388, 188},
{433, 182},
{484, 176},
{542, 170},
{609, 164},
{685, 158},
{773, 152},
{874, 146},
{991, 140},
{1126, 134},
{1282, 128},
{1462, 122},
{1672, 116},
{1914, 110},
{2195, 104},
{2519, 98},
{2892, 92},
{3320, 86},
{3809, 80},
{4363, 74},
{4985, 68},
{5675, 62},
{6431, 56},
{7245, 50},
{8105, 44},
{8996, 38},
{9897, 32},
{10784, 26},
{11636, 20},
{12431, 14},
{13153, 8},
{13792, 2},
{14341, -4}
};
#endif

ADC read codes

read_ADC_function

temperature.h
// public functions
void tp_init(); //initialise the heating
void manage_heater(); //it is critical that this is called periodically.
void read_ADC();

temperature.cpp
// shown ADC value for current temperature
void read_ADC()
{
for(uint8_t e=0;e<EXTRUDERS;e++)
{
SERIAL_PROTOCOLPGM("ADC:");
SERIAL_PROTOCOLLN(current_temperature_raw[e]);
}
}

Marlin_main.cpp

case 105 : // M105
if(setTargetedHotend(105)){
break;
}
#if defined(TEMP_0_PIN) && TEMP_0_PIN > -1
SERIAL_PROTOCOLPGM("ok T:");
SERIAL_PROTOCOL_F(degHotend(tmp_extruder),1);
SERIAL_PROTOCOLPGM(" /");
SERIAL_PROTOCOL_F(degTargetHotend(tmp_extruder),1);
#if defined(TEMP_BED_PIN) && TEMP_BED_PIN > -1
SERIAL_PROTOCOLPGM(" B:");
SERIAL_PROTOCOL_F(degBed(),1);
SERIAL_PROTOCOLPGM(" /");
SERIAL_PROTOCOL_F(degTargetBed(),1);
#endif //TEMP_BED_PIN
for (int8_t cur_extruder = 0; cur_extruder < EXTRUDERS; ++cur_extruder) {
SERIAL_PROTOCOLPGM(" T");
SERIAL_PROTOCOL(cur_extruder);
SERIAL_PROTOCOLPGM(":");
SERIAL_PROTOCOL_F(degHotend(cur_extruder),1);
SERIAL_PROTOCOLPGM(" /");
SERIAL_PROTOCOL_F(degTargetHotend(cur_extruder),1);
}
#ifdef ADC_DEBUG
read_ADC(); // __debug__
#endif

Posted in Reprap 3D Printer | Tagged , , , , , | Leave a comment

Getting close to official Bulbul Junior 3D Printer.

Thermistor of E3D V6 hotend got broken while I was cleaning blockage of filament few days ago. It would take one or two weeks to get new thermistor. Out of frustration I decided to install a hotend I bought almost year ago. At that time due to lack of knowledge and experience about Reprep 3D Printer, I put it away.

3Dimensionshop hotend

Changed I’ve made:
– RAMPS 1.4 controller board is on top instead side.
– Extruder motor has a aluminium heat sink.
– 30x30x10 off of E3D Hotend kit runs in full speed all the time.
(I’ll install a layer fan that’s controlled by Marlin firmware.)
– Spool holder is upper left side.
– Three top endstops
– Three bottom endstops
– Diameter 180 mm of print bed
– Three heavy duty bed mounts

To do:
– New effector and carriage system that uses steel ball joints
– A blower
– Frame support and extra weight
– Bed heater
– Enclosure

cDSC_0590

Thermistor: NTC 100k 5% Honeywell (135-104 LAF-J01)

Configuration.h of Marlin firmware


// 3Dimensionshop hotend
#define TEMP_SENSOR_0 71 // 5 (E3D V6 Hotend)
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 0

// M303 E0 S200 C8
// bias: 172 d: 82 min: 195.00 max: 206.31
// Ku: 18.46 Tu: 62.92
// Clasic PID
// Kp: 11.08
// Ki: 0.35
// Kd: 87.10
#define DEFAULT_Kp 11.08
#define DEFAULT_Ki 0.35
#define DEFAULT_Kd 87.10

To get the PID values of the 12V heater (Heating Resistor Welwyn-w21 6R8 J1), I ran PID autotune in Pronterface. And I had to replace old PID values of E3D V6 with M301 P11.08 I0.35 D:87.10.


>>> M303 E0 s200 c8
SENDING:M303 E0 S200 C8
PID Autotune start
bias: 168 d: 86 min: 189.02 max: 204.94
bias: 181 d: 73 min: 189.67 max: 206.81
bias: 178 d: 76 min: 194.33 max: 206.75
Ku: 15.59 Tu: 68.03
Clasic PID
Kp: 9.35
Ki: 0.27
Kd: 79.52
Setting hotend temperature to 0.000000 degrees Celsius.
bias: 172 d: 82 min: 196.13 max: 206.13
Ku: 20.88 Tu: 61.47
Clasic PID
Kp: 12.53
Ki: 0.41
Kd: 96.27
bias: 171 d: 83 min: 196.00 max: 205.63
Ku: 21.96 Tu: 59.64
Clasic PID
Kp: 13.18
Ki: 0.44
Kd: 98.22
bias: 171 d: 83 min: 195.09 max: 206.31
Ku: 18.84 Tu: 61.47
Clasic PID
Kp: 11.30
Ki: 0.37
Kd: 86.86
bias: 171 d: 83 min: 195.00 max: 206.28
Ku: 18.74 Tu: 62.39
Clasic PID
Kp: 11.24
Ki: 0.36
Kd: 87.67
bias: 172 d: 82 min: 195.00 max: 206.31
Ku: 18.46 Tu: 62.92
Clasic PID
Kp: 11.08
Ki: 0.35
Kd: 87.10
PID Autotune finished! Put the Kp, Ki and Kd constants into Configuration.h

Most of rewiring work had done a week ago. I extended wires of three stepper motors, shortened three endstop switch and auto level probe wires.

For an half hour I had to troubleshoot filament blockage when the first printing started. There was no sign of melted filament at the nozzle tip. Inner diameter of the PTFE liner inside heat breaker was too tight to get through 1.75 mm filament. I had to replace it with a spare metal liner.

I did manual level calibration followed by auto calibration of Rich Cattel’s Marlin v1.x. Rich Cattel’s Marlin testing version didn’t work out even though it reported successful calibration. I’ve developed habit of manual checking of four points – X, Y, Z, and center on print bed – right after auto calibration. I use it as fine tuning not depending on it. When the center of bed was zero in Z, X tower was Z1.20, Y tower Z-1.40, Z tower Z1.10.

Photo of February 15, 2015

Posted in DIY, Reprap 3D Printer | Tagged , , , | Leave a comment

Journal of 6/3/2015

cDSC_0002

cDSC_0343

6/3/2015

Earthbag dimension: 28 (W) x 46 (D) x 8 (H) cm

Circumference of 1st layer is 826.24 cm.

C = 2 * Pi * R

= D * Pi

=  263 * Pi

= 826.24

Number of earthbags  is 29.

C / Width of Earthbag = 826.24 / 28

cDSC_0001

cDSC_0013

cDSC_0133

Two pounders and a sample earthbag.

cDSC_0148

cDSC_0170

cDSC_0298

Posted in DIY | Tagged , , | Leave a comment