Sunday, January 1, 2017

Building a second 3D printer - mounting, wiring up and configuring the heated bed

For the filaments I use, PLA and PETG, a heated bed is more a nice to have than an absolute necessity. That is why it is one of the last things on my list. And was the reason that I had the heated bed mounted to my printer MacGyver style for so long. I used clamps to mount the bed to the printer frame and bulldog clips to hold the glass to the bed. Especially with larger prints I always had the check that the end effector would not hit one of the clamps.


Clamps and bulldog clips holding the glass and heated bed to the printer MacGyver style


Design of the heated bed holders / adapters

These clips and clamps not only made my printer look cheap, it also made it impossible to connect the heated bed. The soldering connections were clamped to the printer frame. The holes in the heated bed are not suited for my Kossel XL 2020. They were intended for 15 mm bars. OpenSCAD to the rescue. I designed some heated bed holders/adapters to:

  • mount the bed to the frame
  • mount the glass plate to the bed
  • wire up the heated bed



Lowest part is for mounting the bed to the printer frame

The holder/adapters I design do all of the above. They consist of an lower and upper part. The lower part connects the bed to the printer frame. One of them has room to wire up the heated bed. The upper part connects the glass plate to the bed.


The upper part mounts the glass plate to the bed.


Close up of the mounted heated bed holder/adapter
With these adapters, you can mount and wire up the heated bed, and the printer instantaneously looks 500€ more expensive :-)



Pile of prototype material



Wire up the heated bed

To wire up the heated bed you need wire, a thermistor and kapton tape. I ordered an 3950 NTC thermistor. You can find plenty of those cheap on ebay and chinese web shops. To mount the thermistor to the bed, first solder one of its legs. Cover that leg with some kapton tape, to mount and isolate it. Solder the second leg and cover the whole with another piece of kapton tape.

Thermistor soldered and mounted using kapton tape
Note that because of its size, the 3950 is not suitable for a hot end.

Thermistor and wires mounted to the heated bed.
Because of the current, you need thick wire to connect the heated bed. I had some beefy speaker wire laying around. The image above shows the wire attached for 24 volt usage.


Wire up to the RADDS-controller

I am using the RADDS controller. In the schema above, you can see how to connect the thermistor of the heated bed, and the heated bed itself.

Configuration

Configure the firmware

I updated three values in the Repetier 92.9 firmware that I use:
#define HAVE_HEATED_BED 0
#define HAVE_HEATED_BED 1
To let the firmware know there is a heated bed.

#define HEATED_BED_SENSOR_TYPE 1
#define HEATED_BED_SENSOR_TYPE 14
To configure the correct thermistor (the 3950).

#define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60
#define UI_SET_PRESET_HEATED_BED_TEMP_PLA 30
For the UI controller; according to my PLA specification a bed temperature between 20 and 35 degrees Celsius is enough.

Also update the configuration string:
- "hasHeatedBed": "1",
- "uiPresetBedTempPLA": 30,
- "bedSensorType": 14,

Compile and upload the new firmware.

Configure the slicer

Also the slicer software has to be aware that the printer has a heated bed.
Update the configuration of your slicer software for that.


Configuration of the slicer software, Cura 15.04.6 in this case

Wednesday, April 13, 2016

Building a second 3D-printer - electronics

Electronics

Controller

I want a 32-bits controller board for the printer. One on which I can choose my own motor driver boards. I found RAMPS-FD 1.0, a cheap RAMPS-based board that can be piggybacked on a 32 bits Arduino Due board. You can not use a normal RAMPS board with an Arduino Due, because the Due runs on 3.3 instead of 5 volt. After buying the RAMPS-FD I found out that this 1.0/1.2 version of the board is not safe to use. More information here:
http://reprap.org/wiki/RAMPS-FD. Because now that I have the Arduino Due, I started looking for another board that piggybacks the Arduino Due. I found the RADDS (RepRap Arduino-Due Driver Shield) 1.5 board.


Figure 2: RADSS wiring


Power supply unit (PSU)

Because of the heated bed, a beefy PSU is needed that can provided enough amps. I choose a 24 volt, 15 ampere LED strip PSU (360 Watt). 24 Volt because it does heat up the hotend and bed faster. Connect the PSU to the two print screw terminals of the RADDS board in the upper right en left corner, see figure 2.

Mounting the PSU to the frame

Looking for a way to mount the PSU, I came across these brackets on thingiverse to mount the PSU inside the base triangle, underneath the heated bed. After printing the brackets and mounting the PSU I found out that there is not much room left. I started looking for designs that keep the PSU on the outside of the printer frame. These brackets were just what I was looking for. Too bad they did not fit my PSU. I designed a parametric version of these brackets using OpenSCAD. You can create your own version of it in Thingiverse Costumizer.

The PSU mounted to the Z-tower of the frame

Closeup for the PSU mounted to the frame


Wiring the PSU to mains and adding a switch and fuse

To wire the PSU to mains I found a PSU inlet and switch on thingiverse that I liked, but it needed some adjustments. Luckily the OpenSCAD files were provided, so I was able to do that. The good thing about this mains inlet unit, is that it also contains a switch and a fuse.

PSU inlet and switch

Endstops

Normally closed

I have the wires mounted such that the circuit is closed when the switch is not pressed. Pressing the switch opens the circuit. The advantage of this solution is that in the event of a broken wire/connection the motor won't move, because the controller detects an open circuit. When I had chosen the other option, in case of a broken circuit, the motor would run, but won't stop at the endstop switch. My switch has the outer most connections for normally closed.


Figure 4: endstop switch on endstop holder

Endstop wiring

Connect the endstop wires to the controller board between Signal and GND. Make sure to enable the pull up resistors on the controller board. In the drawing below you find the position of the X, Y and Z endstops. Connect to X, Y and Z-max on the controller board.
Figure 5: position of the X, Y and Z-endstop.

Endstop configuration in the firmware

I use Repetier firmware. The endstops can be configured using the Repetier webpage:


Figure 6: Repetier endstop configuration. Click to enlarge.


Endstop tesing

After everything is connected and the firmware uploaded, the endstops can be tested:


  • Connect to the printer (using Proterface for example)
  • Send M119 command.
  • Firmware should report back status "0" or "open".
  • Engage the endstop by pressing the switch.
  • Send M119 again.
  • Firmware should report "1" or "triggered" or "closed".

Crosstalk

Twist the endstop wires (as well as the motor wires) to reduce crosstalk. Crosstalk can cause false readings of the endstop data.

Resouces:

http://reprap.org/wiki/Endstop
http://reprap.org/wiki/G-code#M119:_Get_Endstop_Status


Motors

X,Y and Z motor

I bought Wantai 42byghw811 stepper motors at RepRapWorld.
The order of connecting the wires for the Wantai motors is (figure 7):
  • Black
  • Green
  • Blue
  • Red
Twist the motor wires to reduces crosstalk.

Microstep configuration





Figure 7: connecting the X, Y and Z stepper motor

Extruder motor



Motor drivers


My Prusa I2 has motor drivers based on the A4988 chip. This board has a maximum microstepping resolution of 1/16-step.

For this printer I bought stepper drivers based on the DRV8825 chip. That has a maximum microstepping resolution of 1/32-step.
Note that the X, Y and Z stepper driver boards have to be mounted with the potentiometer on the left for the A4988 based boards, and on the right for the DRV8825 based boards.
The board for the extruder has to be paced 180 degrees rotated on the RAMPS FD.


Figure 8: steppers divers based on DRV8825 chip



Cooling

All extruder outputs (D9, D10 and D11) on the RAMPS FD are inverted in the firmware. That is why you cannot use them easily for a cooling fan. Use the extra MOSFET outputs (D12 and D2 for that purpose).
More information in these posts:
http://forums.reprap.org/read.php?267,459760
https://github.com/repetier/Repetier-Firmware/issues/277

Hotend fan 

The hotend always needs to be on. So connect it PSU.


Object fan

The object fan needs to be on for materials like PLA, except for the first layer. This fan needs to be managed be the controller board.

http://reprap.org/wiki/G-code#M106:_Fan_On


M106 Set Fan Speed to S and start <PWM Value[S 0-255]>
M107 Turn Fan off


firmware:
#define FAN_BOARD_PIN -1

#define FAN_BOARD_PIN 10

Fan for the controller board

For now I don't have a fan for the controller board itself. The motor driver board get hot, I have read that this is normal.

Heating


Hotend

The hotend is connected to D9

Heated bed

I have an solid state relais (opto 22) in my salvaged parts box which I plan to use for the heated bed. Not yet connected.

Saturday, March 26, 2016

Building a second 3D-printer - arms, hot end and extruder

I have created and mounted the arms, the hot end and the extruder motor.


Printer after mounting the arms, hotend and extruder motor
The arms
Six arms are needed. The arms consist of carbon tubes and tie rod ends on both sides.

Tie rod ends and carbon tubes


Rod inserted on both ends during curing of the glue to make sure all arms have the same length
I have used Bison two component epoxy glue to glue the parts together. It is important that all arms are exactly the same length. That is why I inserted a rod during curing the of glue on both ends.

Parts for the arms:

The end effector is the part in the middle, on which the hot end will be mounted.

Hot end


Parts for the hotend
I have chosen a 1.75 mm E3D-v6 bowden hot end with vulcano heater block and 0.4 mm (for precision) and 0.8 mm (for speed) nozzles. With 24 volt fan and heater cartridge. I followed these assembly instructions: E3D-v6 Assembly.

Parts for the hot end:


Extruder motor



Extruder motor mounted to the frame
I designed and printed a part to mount the extruder motor to the printer frame. This extruder motor has a gearbox for extra power. The bowden extruder head is attached on top of the gearbox.

Parts for the extuder motor:

Saturday, February 27, 2016

Building a second 3D-printer - rails, belt and motors

Time for an update about the 3D-printer build.
What the printer looks like now

Two of the lineair rail carriages were not running smooth.

One of the new linear rail carriages

After receiving a new pair and the M3 T-slot nuts, I could continue the build with mounting the lineair rails to the frame.


The top idler

After mounting the lineair rails, I mounted the top idlers. Two flanged bearings (F623ZZ) make them run smooth.

End stop switch
I designed and printed a small part to hold the end stop switch. Good to have a my Prusa Mendel i2 3D-printer still up and running for that!


Carriage for open ended belt
The carriage for open ended belt is mounted to the lineair rail carriage. The printer arms will be mounted to the two parts sticking out. The screw at the bottom can be used to tension the belt. There is also a screw on top (not visible on the photo), that screw touches the end stop switch and is used for calibration.





Rubber motor mounts to dampen the noise

Motor mounted to the frame.
After mounting the motors the belt can be mounted. I used hex screws and an allen key to fasten the screws.

Parts used

Saturday, January 23, 2016

Building a second 3D-printer - the frame

It has been three years, since I built my first 3D printer. The Prusa Mendel i2. I have been thinking about building a new printer for some time now. Compared to my current Prusa Mendel i2, I want:
  • more build volume;
  • more speed;
  • heated bed;
  • probably switch to 1,75 mm filament.
I liked the Mendel Max 2, but once I saw a delta printer, I was sold. I wanted to build a delta.
I do not buy a kit, because I do want to select all the parts myself:
  • 2020 aluminium instead of 15 mm;
  • metal corners instead of printed once, for better rigidity;
  • 24 volt power supply, for higher speed;
  • 32 bits processor for higher speed;
  • lineair rail instead of wheels for better stability;
  • 0.9 degree stepper motors, for more precision. I will start by using normal steppers;
  • Raspberry Pi with OctoPrint to control the printer;
  • big LCD12864 display;
  • a heated bed.
So I want a delta with a big build plate. That is why I choose to build a Kossel XL. I want 2020 aluminium for the frame. I went looking online for metal corners, because that would give the printer more stability. I found those at robotdigg.com. They also have metal versions of the carriages and end effector.

The downside of selecting all parts myself will be that:

  • I probably have to buy the parts at different stores;
  • and because of that, I won't be sure the parts will fit together;
  • and because of that, have to buy more parts.
  • which will take time. But hey, I still have my trusty Prusa i2.
That was what happend when the first parts arrived. It turned out, that I needed M3 T-slot nuts to mount the sliders. I had only ordered M5 T-slot nuts.

The first two packages did arrive
The parts next to my Prusa i2 spread on the table

The frame
Cutting thread for the feet

Feet attached

Parts used so far

Saturday, November 21, 2015

Say goodbye to 3M painters tape and hello to 3D lac


I have used blue 3M painters tape on my Prusa Mendel i2 since I started 3D-printing in 2012. I could use the tape it for more than one print. Removing some prints would damage the tape, and then I had to replace some of it. The cons: the underside is not complete flat, and big objects still had warping on the edges. Note that my 3D-printer does not have a heated printer bed. On the edges the tape would stick to the object, but is tape is lifted from the bed. With the 3D lac the underside is completely flat and the warping is gone. And the printer still does not have a heated bed. An advantage of the headed bed would be easier object removal: after the bed and the object cools down, it comes of easily.

Sunday, September 13, 2015

Investigating the cause of failing hour long running 3D-prints

Short running and small 3D-prints have never caused any problems on my Prusa Mendel i2 RepRap 3D-printer. On the other hand, bigger, hours long running 3D-prints often fail. Figure 1 shows the profile of a model that failed initially. The object is 10 cm wide and 3.5 cm high. Figure 2 shows the failed print.

Figure 1: profile of the printed object. It is about 10 cm wide and 3.5 cm high

Figure 2: failed 3D-print
As you can see, the top of the object is not closed. You can see that the printer had trouble extruding the filament. In the end, extrusion totally stopped because the hobbed bolt had eaten into the filament. My first thought was that a dirt particle had obstructed the nozzle. As the print is not finished, you can see the honeycomb infill inside the object.


Figure 3: filament of failed 3D-print
Figure 3 shows the filament used for this print. The hole is the point at which the hobbed bolt had eaten into the filament. If you look close, you can see marks of its teeth on the left side of the hole. To clean the extruder, I heated it and then tried to push some filament through the nozzle. That worked without any problem! I did not expect that to work, if there was no dirt in the nozzle, what could have caused the hobbed bolt to eat into the filament? 

Figure 4: tightening these bolts on the extruder fixed my problem
When I looking closer at the failed print at figure 2, I noticed that the print did not stop at once, but that it had trouble extruding for some time. That led me to the idea to tighten the bolts that push the filament against the hobbed bolt. See figure 4.


Figure 5: successful 3D-print after tightening the screws on the extruder
Tightening the bolts that push the filament against the hobbed bolt solved the problem my printer had for a long time.