Reprap blog

# A Little Work on Line Flex

21-2-2018

Today's Hangprinter firmwares assumes no flex at all in the movement axes. This is obviously a very rough approximation. In reality, all Hangprinter axes act like springs. Accounting for this can win us several millimeters of accuracy near the limits of our reachable print volume.

### Solutions

Some flex comes from line modulus, but adding infinitely stiff lines alone won't solve our problems because ceilings, floors, ceiling unit sheets and plastic parts also flex. Very stiff lines are also thick, building more on the spools and making the imperfection of our buildup compensation more severe.

Another brute force solution would be to closely monitor the mover and constantly compute and execute ad-hoc compensation. This could be made to work well, but it would add to hardware cost and complexity.

A third solution is to include flex in the firmware's internal model of the movement system. This keeps hardware simple. Configuration overhead must be minimized by using standardized parts and providing scripted and straight forward instructions.

It would be possible completely circumvent configuration overhead by collecting flex data with force sensors. This would require extra hardware, which in turn would have to be configured. It is in the spirit of the Hangprinter Project to make hardware additions beyond the bare bones setup optional, and solve as much as possible in software.

### Use The Force

The scribbles below derive how to synchronize the four forces from the four motors, so that all lines can be tightened or slackened, without moving the mover. A force magnitude can be approximately mapped to a line shortening/elongation by using Hooke's law, where a guessed or measured Young's modulus gives the spring constant $$k$$. Note that the spring "constant" will vary with line length in our case.

The no-flex line lengths that current firmwares calculate can be used to calculate a new line length that does (approximately) account for flex:

$$l_{acc} = l - F/k(l),$$

where $$l_{acc}$$ is the new line length that accounts for flex, $$l$$ is the line length calculated and used by current Hangprinter firmwares, $$k(l)$$ is the spring constant of the suspended line, and $$F$$ is the desired force to be exerted by the line. The four different forces $$F$$ are called $$A$$, $$B$$, $$C$$, and $$D$$ in the derivation/scribble notes below.

Lots of divisions. Probably not simple enough to be done on a Atmel2560. So... What to do?

As my professors always told me:

"Taylor expand, my good boy. Taylor expand for the sake of glory and honor! Taylor expand, and use only the first two terms, because everything ... Yes! EVERYTHING worth fighting for can be approximated to be perfectly linear! I tell you, boy, if you ever ever feel doubt in your heart, just Taylor expand, and your problems will all be cake."

Ok, they didn't quite say it like that, and maybe we should use three terms, but I'll save you the expansion for another post. If you're so excited right now that you want to Taylor expand yourself: do it around the origin, and remember that

\begin{align} a_x &= \phantom{\text{ANCHOR_A_X}} - x,\\ a_y &= \text{ANCHOR_A_Y} - y,\\ a_z &= \text{ANCHOR_A_Z} - z, \end{align}

where ANCHOR_A_X is non-existent by convention, ANCHOR_A_Y is the y-coordinate of your A-anchor, ANCHOR_A_Z is the z-coordinate of our A-anchor, and $$(x, y, z)$$ is the position of your mover relative to the origin.

Also remember to handle the cases when denominators are zero in a graceful way. Fancy new 32-bit CPUs can probably compute the full expressions, but they can't handle division by zero.

Best regards,

- tobben

# Consequences of Miscalibrating Anchor Positions

28-1-2018

I made a script recently, to get learn how a Hangprinter axis with bad anchor positions behaves. The script itself is here.

#### The Quick Take-Away:

Moving directly from/towards an anchor gives small errors, almost regardless of calibration errors.

#### The Details:

Four plots are shown below. Only the XY axes are shown, but the results are similar in three dimensions. Line length errors in different XY-positions are shown with color codes. They are normalized so that the error in the origin is 0 in all plots. In negative areas, the mis-calibrated axis will over-tighten. In positive areas, the mis-calibrated axis will let out too much line. Click the plots to get larger versions.

- tobben

# New Extruder Holder Bracket

18-1-2018

I've converted the extruder_holder bracket to be ziptie based like the rest of the mover:

It is a great deal sturdier than it's screw-clamping predecessor. I tested lots of little tweaks to find the stiffest solution around all axes.

The motor was possible to tilt downwards no matter how I changed the model it seemed. The winning tweak turned out to be adding a third ziptie first. Like this:

And to tighten the third ziptie with a wedge. Like this:

The end result is dead sturdy and looks like this:

All new files and are published to the working branch of the repo: Openscad_version_3.

- tobben

# Ziptie Mover

3-1-2018

I've implemented Tom's suggestion to use zipties on the mover corners.

• Works with beams of different widths (currently 12.5 to 17.5 mm).
• Does not rely on flexing fragile printed parts.
• Saves some weight.

I also find it easier to assemble since there are no fiddling with small screws and nuts.

For wooden movers, I've also thrown away the old beam_clamp. It's both more sturdy and lighter to just clamp the crossbeam with a little M3 screw and nut.

These two improvements combined save ca 60 g of weight compared to the previous mover.

I've also added a little nutlock to beam_slider, to make it easier to tighten/untighten with one hand.

More improvements inspired by what I learned in Hamburg is in the pipeline. Happy new year!

- tobben

# The Why Again

7-12-2017

This is the 50'th Hangprinter blog post, and I think it's a good opportunity to elaborate on why I develop Hangprinters. Read more...

# Time for Clones

15-11-2017

It's been a busy month and the next one will be busy too. I've helped fredrudolf build a v3.3 (aka HP3). We're preparing a live demo at Maker Faire Rome (Dec 1-3). After that, I will help Tom create a video series on Hangprinter. Read more...

# Version 3.3 In The Making

14-10-2017

It's been a month of very technical development. I feel like I'm searching for the version 3.3 among a forest of new ideas and insights. Read more...

12-9-2017

# Version 3.2 Overview

7-8-2017

The Hangprinter v3 has developed very quickly recently. We've been developing so intensely, we almost forgot to print a Benchy with the current prototype, called v3.2. Read more...

# Closed Loop Doing its Job and Sstruder v2 Pic

6-7-2017

This video shows how the closed loop ABC axes act like springs when hot end meets an obstacle. Read more...

# Working on Auto Calibration and Reliability

3-7-2017

I put together a closed loop single unit Hangprinter with pancake steppers recently. The following video shows that it can run upwards along the D-line at 26.6 mm/s. Read more...

# Walking the Line

4-6-2017

Following up on what I planned 35 days ago: "When the version 3 is up and running, I will focus my dev time on adding closed loop control, auto calibration and DC motors, in that order. Read more...

# Experimental Dual Unit Designs

30-4-2017

The Hangprinter Hackathon at Bitraf produced some technical progress. Read more...

# Other People's Hangprinter Builds

25-4-2017

This beauty was posted by Mario Lucas here. This impressive bottom plate was posted by Jonathan Bahrs here. Read more...

# Babel Tower Time Lapse

15-4-2017

To recharge before the Hangprinter Hackathon in Oslo next weekend, I threw together a Babel Tower time lapse. Read more...

# First Pull Request Merged

4-4-2017

The Hangprinter repo on has had its first merged pull request! Committer was awigen. Read more...

# Hangprinter.org

2-4-2017

Check it out: hangprinter.org! Big thanks to Piyush Dharnidharka for taking the initiative and building the page. Read more...

# Push Fit Sandwich

27-3-2017

In this forum post, NOVAprint confirmed what I had suspected was a weakness in the sandwich design. A gap might open between the snelle and the sandwich gear, so that line wraps around the center cylinder. I never really liked the super-short screws in the sandwich either, so I've designed a push fit solution: Read more...

# Sstruder v2 and Helsingborg

27-3-2017

I got the chance to test the improved extruder design recently. It worked better than the previous Sstruder, so stls were pushed to the repo today. Read more...

# Tweets

7-3-2017

I posted a few Tweets recently. Reposting them here now. Read more...

# The Tilt Problem

26-2-2017

Hello Reprappers and Hangprinterers! The Babel print gives a lot of lessons, so there's a lot of posts this week. Ca 1.5 m above ground and with 20 m of line on the D-spool, I've noticed a previously undocumented problem. Read more...

# Changed Anchor Points Mid Print

24-2-2017

I managed to sneak up the anchor points yesterday. The secret trick is to pause and move one anchor point at a time. Read more...

# Slowly but Surely

23-2-2017

920 first millemeters of a Babel Tower in a staircase. Read more...

# Community at Embryo Stage

20-2-2017

It seems like some collaboration and maybe even a little community is gathering around the Hangprinter Project. Right now, there are 5-6 builders out there wrapping their heads around the source files, assembly process and calibration. Read more...

# D-Wobble Debugged

2-2-2017

Those who have zoomed in on my Hangprints after I added the worm drive will have noticed a periodic error. Read more...

# Experimental Line Buildup Compensation Feature

27-1-2017

I've conducted a few experiments recently, and I think I've arrived at a usable implementation of the line buildup compensation that I described in an earlier blog post. In this post, I'll try to go a bit more in detail. Read more...

# Hangprinter Presentation Video and Campaign

15-1-2017

I've been helped by some friends to make a campaign. It has a presentation video and a logo and a picture of me and everything! Read more...

# Compensation May Allow Bigger Prints

14-12-2016

The line compensation code may increase print volume noticeably. During testing, it has allowed Hangprinter version 2 to go places where version 1 surely would have over-tightened lines and skipped steps. Read more...

# Compensating Line Buildup on Spools

11-12-2016

I've added to Hangprinter-Marlins some code that compensates for line buildup on the spools. Without it, I found that error in steps/mm grew to several percent as print dimensions grew close to 1 m. The problem was particularly noticeable on the D-axis since it has three doubled lines, so moving 1 mm in the D-direction puts 6 mm of line on the D-spool. Read more...

# The Worm Drive Works

8-12-2016

Just tested the worm drive. I was so happy to see it work that I made a little video. Read more...

# Adjustable D Line Lengths and New Look

26-11-2016

Just made the D-line lengths easier to adjust independently. This is useful to get Hangprinter's corners in level with bed. Newest changes are at a new branch in the repo. Read more...

# Worm Drive on D-axis

18-11-2016

The best part is that the worm is pure parametrized OpenSCAD and renders nicely. Read more...

# Another Stop Motion Video

5-11-2016

Hangprinting 0.9 m high twisted P at Teknisk Museum's 3D-printerfestival. Note: this text was edited on 7-11-2016. Read more...

# Hangprinter Calibration Manual v0.1

3-11-2016

This post will make it easier to calibrate Clerck by avoiding the need for measurements like this: Read more...

# Oslo Skaperfestival 2016

25-10-2016

Clerck was demonstrated in public for the first time this weekend! Read more...

# Homing the Hangprinter Without Adding Hardware

23-9-2016

I've thought some more about Hangprinter recently, since I'm going to demonstrate it on the 3d printer festival arranged by the Norwegian Museum of Science and Technology in Oslo. I've only ever mounted and calibrated Hangprinter once before, so getting the manual homing to work fast enough worries me a bit. I don't have the time to implement the proposed accelerometer dependent homing procedure before the festival. Read more...

# Yet Another Very Simple Extruder Design

21-9-2016

I've thought about a second generation Hangprinter lately, including the extruder. My current favourite re-design uses two motors running synchronously. Read more...

# Why Optimize Chaotic Production?

10-9-2016

RepRappers have noticed me that basing the story line of my my Master's thesis on productivity numbers doesn't resonate with them. This tickled me to think about and formulate why I do what I do, hence this post. Read more...

# Portable Gcode and Short Status

5-9-2016

Today I asked a question on reprap forums that has puzzled me for a long time. Why don't we share gcode instead of 3d models? The technical obstacles are small and it would be an obvious optimization of chaotic production. See the forum post for details. Hoping for an interesting discussion there. Read more...

# Optimize Chaotic Production

29-6-2016

I presented my Master's recently, with a story line that was very RepRap centric. I'd like to re-present and develop my thoughts with some colors here. Be warned that this is a post about why I RepRap, not how I RepRap. Read more...

# Update and Clerck Build Instructions

8-2-2016

I've been working on Open Source Ecology 3D printer workshops (see my work log for exactly what I've been up to) the past month, and will continue to work on that until mid summer. Read more...

Hangprinter Campaign: Bountysource Salt

Hangprinter Project: [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32], [33], [34], [35], [36], [37], [38], [39], [40], [41], [42], [43], [44], [45], [46], [47], [48], [49]

Print Issue Solution Filter Project: [1], [2], [3], [4]

Sourcing RepRappro Mendel in Larvik: [1], [2], [3], [4], [5], [6], [7]

Archive: 2014, 2015, 2016, 2017, 2018