Filaments for Hangprinter

Hangprinters need a lot of material to print big. And usually to print bigger most users decide to install hotends with higher troughput. That's why the need of bigger filament spools comes up. There are few vendors who sell really big spools. This reduces the task of filament reloading. Trikarus is not a printer to print small things slowly. It has a high output extruder (E3D Super Volcano with 1.40 mm nozzle). To show what Trikarus can do it's best to print big parts with big cavities inside and maybe some holes in the outer shape - just to overcome getting small and flat looking shapes. This allowes to print into width and height but without needing a 10 kg spool per week. 

PLA consumable supplier for large spools > 4kg @ 1.75mm diameter


Sellerprice / spoolprice / kgspool sizes and net weights
1

motedis.com

  • 16,39 € gross

2

reprapworld.de (they also have 20kg spools)

  • 17,95 € gross
  • 17,95 € gross

3

redline-filament.com

  • 18,82 € gross
  • 18,82 € gross
  • 21,10 € gross
  • 8.5 kg spools
    • 335 mm outer diameter
    • 168 mm width
    • 13 mm wall thickness
    • 36 mm inner diameter
    • net spool weight: 1045 g
4Spectrum Filament
  • 18,87 € gross
  • 18,87 € gross
  • 18,87 € gross
  • 18,87 € gross
  • 18,87 € gross
  • 18,87 € gross
  • 18,87 € gross

5

eumakers.com

  • PLA, white 10,0 kg / 195,00 € net
  • 19,50 € net

6Builder
  • 30,00 € gross
  • 30,00 € gross
  • 30,00 € gross
  • 30,00 € gross
  • 30,00 € gross
  • 30,00 € gross
  • 30,00 € gross

7

Formfutura

  • 36,66 € gross
  • 36,25 € gross

8makerbot
  • PLA, white 4,5 kg / 249,00 € gross
  • 55,33 € gross

9

3dk.berlin

(question)(question)

(info) Side note: sellers for 2,85 /3,00 mm filaments

Redline Filaments PLA

Slicer profile and important parameters of Trikarus

Slicer profiles require basic data about the printer configuration (hardware and firmware parameters). The creation of a single large 3D print object over a gigantic period (several weeks / months) is extremely delicate because of the possible lack of continuous monitoring. If the print fails in one place, everything might fail. For object sizes in the meter range, the costs are immense (several hundred euros). The following parameters are used in general terms. We use PrusaSlicer to generatore GCode. A more specific overview of chosen parameters can be found in the PrusaSlicer config.ini file. There are more possible good slicers like IceSL, MatterSlice, Cura or Simplify3D, which we do not use.

Hotend, print speed and material flow

The following images from E3D shows the well known "Benchy" model which is popular for doing test prints.  All of these Benchys were completed using the same settings in terms of speeds, acceleration, infill pecentage, perimeters and so on.

Benchy test prints with different hotends

SuperVolcano example

Table which shows the physical test values for each hotend

Source of images and information:  https://e3d-online.com/blog/2019/02/28/supervolcano

Choosing the right flow helps getting consistent results. Polymer flow variation can be understood in the following way:

  • increasing the line width, height or speed will increase flow
  • more flow means that the polymer is less time in the melting zone, thus extruding slightly colder
  • Combining the lower temperature and the higher shear stress generates a higher pressure
  • a higher pressure puts more stress in the filament and extruder
  • at some point, either the motor will start missing steps or the filament will grind, and the extrusion is not controlled anymore

On the web there are different Hangprinter machine examples which were printed in big. Chris from Chris' Basement printed a large stool with 67 cm height and 40 cm in diameter. He used the following print parameters to make up the stool in 190 hours (= 24 days = 3.4 weeks = 72 working days á 8 hours = 10.3 weeks). The stool's weight is a total of 4.6 kg. This results in 24.21 g/hour material output. That means 193.7 g/working day (8 hours).

Stool exampleOctoprint evidenceMachine parameters

  • 1.75 mm layer height
  • 0.8 mm nozzle
  • 30mm/s print speed
  • 4 shells
  • 10% infill
  • stool weight 4 kg
  • support material required 0.6 kg
  • total weight 4.6 kg
  • printed material amount: 5 kg @ 1.75 mm
  • 225°C nozzle temperature

The values from Chris and from E3D show that in total it's no problem to print between 25 and 250 gram of filament per hour (4888 g in 19.75 hours = 247.49 g / hour).

First tests with SuperVolcano Hotend 1.40 mm nozzle

Thinnest possible line using the 1.40 mm nozzle with tip platform diameter \begin{array}{l}B = 3.50 mm\end{array} resulted in 3.95 mm width and 0.46 mm height.

Trikarus machine parameters


parametervaluehints
1nozzle diameter1.40 mm
2platform shapecircle
3max. print heightget it by calibration → see Building basics, checks, maintenance
  • belongs to the room / frame where it is mounted
4print diameter1000 mm (maximum physical value by the manufactured print platform) or 918.1mm by thumb formula
  • belongs to the room / frame where it is mounted
  • for max. recommended build diameter at z = 0 see RepRapFirmware and calculations (thumb formula)
  • remember that in \begin{array}{l}z_{max}\end{array} the print radius will be much smaller because the typical Hangprinter build volume shape looks like a trumpet or funnel
5max. feed XYZE
  • XYZ 9500 mm/min = 158.33 mm/s - we use 160 mm/s
  • E 3600 mm/min = 60 mm/s
  • should match firmware settings
6max.  velocity XYZE(question) mm/s²
7max. jerk XYZE(question) mm/s
8regular (nominal) print speed1800 mm/min = 30 mm/s
  • should be low because we use huge nozzle with high output. We can actually print "really quick" because we use a nozzle with 10 times more volumetric output and power but we still print with the same "slow" speed like a regular desktop 3D printer.
  • tested and validated with Encoder KY-040 by Keyes - filament monitor
9max. volumetric throughput6600 mm³/min = 110 mm³/s
  • working parameter by E3D's Benchy hotend comparison test
10print speed for first layer20% of regular speed
  • 30-50% speed of regular print speed
11print travel speed130 mm/s
  • can be tuned higher. We use maximum possible value
12

typical layer (track) height

1.00 mm
  • ~50% of nozzle diameter are usual
  • working parameter by E3D's Benchy hotend comparison test
  • lowest working layer is 0.50 mm (tested successfully)
13first layer height110%
  • 160% of typical layer (track) height
14first layer width1.57 mm
  • 120% of typical layer (track) width
15retraction vertical lift (Z hop)1.50 mm
  • disabled to reduce vibration and vertical stringing
16retraction speed60 mm/s
  • using the maximum allowed and measured feed of 3600 mm/min
17retraction0.80 mm
18coastingdisabled
19G-Code FlavorMarlin
  • this is defined as a GCode flavor or dialect in RepRapFirmware

PLA filament parameters

These settings highly depend on the bought filament (vendor, charge) and the print speed. Higher print speeds require higher heat intensity.


parametervaluehints
1filament diameter1.75 mm
  • measure this for each filament. Sometimes we have 1.80 mm instead of 1.75 mm which makes a differene of ~2.8 % in flow rate
2extrusion multiplier1.0
  • extruder is well calibrated so not really a need to adjust this
3maximum hotend temperature260 °C
  • limited to that value because E3D hotend with silicone sock
4extrusion temperature for first layer205 - 210 °C
  • 190 - 210 °C for usual printing (Desktop 3D printers)
5extrusion temperature for other layers210 - 240 °C
  • 190 - 210 °C for usual printing. As  we print really quick we need to raise PLA temperature to 240 °C to have a good plastic flow. Lowering the temperature leads to stumbling extruder gear or devoured filament string
6automatic cooling of the printenabled
7min. cooling fan speed55 %
  • got the value by experiments
8max. cooling fan speed100 %
  • got the value by experiments. The better the cooling the better the surface quality

Print volume verification and line collisions

Currently there is no tool to determine if a given 3d model fits within "the print volume" of a given Hangprinter (with known calibration constants and dimensions, and given a cylinder with a known radius and height). Regular slicer engines do not support the special needs of Hangprinter build volume. The term "print volume" is more complicated for Hangprinters than for regular 3d printers. There exist a well defined "reachable volume". This reachable volume is interesting, but very rarely relevant. For Hangprinter most print volumes will be limited by lines touching the print and messing up the positioning of the effector. Lines may crash into previously printed material, so the reachable print area at a given layer depends on the shape of previously printed layers. The concept of a print volume exists, but it's shape is different for every print. In a more general situation where we don't print in 2d-layers, we would need to analyze the gcode directly, and consider every single move to be limited by every previous print move. Every single print move will cast unreachable "shadows" pointing from the anchor point and through the printed material. In regular 3d printer slicers like Cura, Simplify3D, MatterControl, IceSL or PrusaSlicer, the build volume is cubic or cylindric shape. Hangprinter shape is really different. More information about build volume can be found at What is a Hangprinter and how does it work?. The following illustration shows a possible line collision example for a case where the effector would move to the maximum left position.

Simplified line collisision / print volume verification

Given a Hangprinter with known calibration constants and dimensions, and given a cylinder with a known radius and height, analyze if we would have a line collision if the Hangprinter tried to print that cylinder. For a first catch of the possible print volume some OpenSCAD rough simulation exists. You can find that file at https://gitlab.com/tobben/hangprinter/-/blob/version_4_dev/src/simplified_print_volume_verification.scad. You will need to configure it accordingly with your own printer values. Trikarus' values can be found at RepRapFirmware and calculations and Building basics, checks, maintenance. There you can also find drawings which better illustrate the coordinate directions +-, anchor points (explicite coordinates A1/A2/B1/B2/C1/C2 and general A,B,C coordinates) and the offset used by the .scad file. The script generates collision preview for entered layer heights. It uses a cylindric shape - you can enter the values which you configured in your slicer profile too. The script is not complex enough to be used with 3d print model files. For this advanced purpose try https://gitlab.com/hangprinter/line-collision-detector

Parameters for the script

  • A1/A2/B1/B2/C1/C2 coordinate offsets from A, B and C anchor positions
  • layer height
  • total count of layers
  • print radius

Some layer examples with

A_calib = [0, -1604, -114];
A_offset = [[-220, -135, 110],[ 220, -135, 110]];
A = [A_calib + A_offset[left],A_calib + A_offset[right]];
B_calib = [1312, 1271, -162];
B_offset = [[ 220, -135, 110],[ 0, 260, 110]];
B = [B_calib + B_offset[left],B_calib + B_offset[right]];
C_calib = [-1440, 741, -161];
C_offset = [[ 0, 260, 110],[-220, -135, 110]];
C = [C_calib + C_offset[left],C_calib + C_offset[right]];
layer_height = 1;
r = 1000/2;


Layer 1Layer 100Layer 500

Layer 1000Layer 1500Layer 2500

Animate it!

Show animation bar above output log

Enter frames per seconds value and steps

The more steps and the higher the fps the smoother the rendering will be

Put $t parameter into code

This parameter is the time parameter which will be incremented

View the animation

created with PhotoScape 3.7

Advanced line collision/ print volume verification

This documentation is based on

Prepare docker environment - we are installing on an Ubuntu machine

apt install docker docker.io
docker pull gcc
usermod -a -G docker $USER
reboot

Clone line collision detector repo and compile

This step finally generates a new docker container if successful

cd /opt
git clone https://gitlab.com/hangprinter/line-collision-detector.git
cd line-collision-detector
./build-docker.sh #everytime running this a new docker container is created. See "docker ps -a"
./docker-shell.sh
#exit the container again

Rename the container

docker ps -a #list containers
docker rename <OLDNAME> line-collision-detector
docker start line-collision-detector
#docker update --restart unless-stopped line-collision-detector #do not run it all the time because its hungry for CPU ressources
docker update --restart=no line-collision-detector

Prepare the run command inside container

The run command is the final tool we need to do the collision analysis

#Inside the Docker container
cd /line-collision-detector
sudo git submodule update --init --recursive
sudo ./faster.sh #compile

cd /line-collision-detector/linc
sudo ./b #make build

#The line collision detector is ready to run:
sudo run

Create parameter file for your Hangprinter

For calculating collision we need to enter a set of coordinates

#ensure that docker container is running before trying to enter it
docker ps -a | grep line-collision-detector

DOCKER:/line-collision-detector# sudo vim params
effector-pivot-A1: ( -225.98,  -162.47, 30.50)
effector-pivot-A2: (  225.98,  -162.47, 30.50)
effector-pivot-B1: (  253.69,  -114.47, 30.50)
effector-pivot-B2: (   27.71,   276.94, 30.50)
effector-pivot-C1: (  -27.71,   276.94, 30.50)
effector-pivot-C2: ( -253.69,  -114.47, 30.50)
anchor-pivot-A1:   ( -225.98, -1328.47, 51.63)
anchor-pivot-A2:   (  225.98, -1328.47, 51.63)
anchor-pivot-B1:   ( 1263.69,   470.53, 55.76)
anchor-pivot-B2:   ( 1037.71,   861.94, 55.76)
anchor-pivot-C1:   (-1042.71,   854.94, 59.05)
anchor-pivot-C2:   (-1268.69,   463.53, 59.05)

Prepare the STL model

To do the analysis we need to adjust the STL model file:

  • position on the bed (coordinate system)
  • scaling / desired size

We can adjust the scale and re-export the STL file using PrusaSlicer with ease:

Perform the collision analysis

To simulate collision we need to put an STL file into the directory /opt/line-collision-detector (outside the container). The special command inside the docker-shell.sh file will map this directory to grant access to it within the docker container

DOCKER:/line-collision-detector# sudo run ./atlas.stl params -l 1 #using the params file and 1 mm layer height

The calculation takes less or more time (less seconds up to minutes) belonging to the given layer height, model size and computation power of your node.

In case a collision happens and we use the -o option to create a debug file (STL) file, we can view this collision:

Collision example:

  • No labels
Write a comment…