Welcome! Log In Create A New Profile

Advanced

Hangprinter version 3

Posted by tobben 
Re: Hangprinter version 3
November 22, 2017 01:11PM
Order some parts

4 xMechaduino
E3D Volcano Eruption Pack 3mm
3mm Eruption Pack
E3D Titan Extruder
E3D Volcano Silicone Socks
PTFE (Bowden) Tubing 750mm
we think we have alot of the other parts at the maker station got to do some inventory
Re: Hangprinter version 3
November 22, 2017 02:31PM
@imrcly
Got around to make beam insertion more practical today. This one was fun to code =)

Green faces were added, red faces were removed




torbjornludvigsen.com
Re: Hangprinter version 3
November 22, 2017 03:12PM
Any chance we could get one for us wood?
Re: Hangprinter version 3
November 22, 2017 03:53PM
Change parameters in parameters.scad. Change Beam_width to match the width your us wooden beams. Then open a terminal cd to your hangprinter directory and do
make openscad_stl/beam_clamp.stl openscad_stl/corner_clamp.stl openscad_stl/beam_slider.stl
This should create three new stls that matches your parameters.

Edited 1 time(s). Last edit at 11/22/2017 03:54PM by tobben.


torbjornludvigsen.com
Re: Hangprinter version 3
November 22, 2017 06:46PM
Thanks
Re: Hangprinter version 3
November 22, 2017 11:47PM
Delete

Edited 1 time(s). Last edit at 11/22/2017 11:54PM by delloman.
Re: Hangprinter version 3
November 23, 2017 07:16PM
Should I get Bowden or derect drive? I believe derect drive after more reading

Edited 1 time(s). Last edit at 11/23/2017 10:17PM by delloman.
Re: Hangprinter version 3
November 24, 2017 04:04AM
Probably direct drive, but it depends on your extruder.


torbjornludvigsen.com
Re: Hangprinter version 3
November 24, 2017 11:23PM
So we have ordered all the parts! The build will start next week we are using an e3d vacano also using Mechaduinos.
This is the part list are we missing anything?
Extruder
E3D V6 Hot End Kit 3mm 12v
E3D Nozzle Spanner
E3D Volcano Eruption Pack 3mm 12v
E3D Titan Extruder
E3D Volcano Silicone Socks
E3D 30mm Fan (heatsink fan)12V
E3D V6 Fan Shroud (Heatsink Mount)

build plate
42x42in glass build plate
Silicone Heater Pad 240V 1000W 450x450MM

parts
5 x Nema17 steppers
60 m FireLine 0.5 mm
ca 47x47 cm MDF or plywood sheet
1 x Arduino Mega
1 x RAMPS
L7805 Positive Voltage Regulator Output 5v TO-220 x 20
TB6612 1.2A DC/Stepper Motor Driver Breakout Board x2
A4988 Stepstick Stepper Motor Driver Module + Heat Sink x 5
Jumpers
1 x USB cable, type B plug
15x15 mm wooden beams lengths 3x40 cm + 1x20 cm
1 x Power supply (12 V, 10 A recommended)
13 x M3 screws, length 25 mm
16 x M3 screws, length 5 mm
2 x M3 screws, length 10 mm
4 x M8 screws, length > 50 mm, head countersunk
8 x 608 bearing
12 x 623 V-groove bearing
More than 20 self tapping wooden screws, length 10 - 20 mm, width ca 4 mm
5 m of 20-lead ribbon wire
washers for all screws

4 x Mechaduino PCB
More than 20 jumper wires
5V->3V3 level converter for i2c usage
Raspberry Pi
raspberry pi camera wide angle
All the printed parts will be printed in Polymaker Polymax PLA how much fiament dose it take to build all the parts?

Thanks for your great project
Alex

Edited 1 time(s). Last edit at 11/24/2017 11:26PM by delloman.
Re: Hangprinter version 3
November 25, 2017 05:12AM
Quote
tobben
@delloman
Cool! I'm excited to hear that. Mechaduinos give you closed-loop control. Details are on my blog.

@dc42
Forward kinematics anchor_ABCD_xyz are calibration constants. carthesian[XYZ_AXIS] are absolute positions from G0/G1-command. Motor names are mapped like [X, Y, Z, E0, E1] <-> [A, B, C, D, E].

The motors A, B, C, and D should be constantly enabled.

Homing for HP3 with Mechaduino: Put all motors in torque/constant force-mode and drag mover to origo by hand. Then send G28.
Homing for HP3 without Mechaduino: Get mover to origo by manually stepping individual motors using G6 (I know it makes more sense to call this command G1 S2). Then send G28.

Suggestions for more repeatable, less time consuming homing are welcome winking smiley

Thanks! I've implemented the basic kinematics and I am finishing off the auto calibration. Documentation is at [duet3d.com]. Release will be in the next 1.20 beta or release candidate firmware.

Notes on the implementation:
  • Line buildup compensation isn't implemented yet
  • For now I am using segmentation-based kinematics. The basic Hangprinter kinematics is fairly simple (i.e. quadratic), so it should be easy enough to implement the same segmentation-free kinematics that we use on deltas. However, I want to see whether I can integrate line buildup compensation into segmentation-free kinematics before I go that route.
  • Auto calibration using a Z probe supports 3, 6 or 9 factors. The first 3 factors are the spool motor zero positions; the next 3 are the anchor XY coordinates, and the final 3 are the anchor Z coordinates. I have a feeling that calibrating the anchor Z coordinates may not work very well, at least until line buildup compensation is implemented.
  • For homing, I suggest starting with the effector in a position that is known at least approximately (e.g. just above the floor at X0 Y0, but any measurable position will do), sending G92 Xxx Yyy Zzz to tell the firmware where that position is, then running 3-factor calibration to establish it more accurately.
I don't have a Hangprinter, so I will be relying on you and/or other Hangprinter owners to test it.

Edited 1 time(s). Last edit at 11/25/2017 05:17AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Hangprinter version 3
November 25, 2017 06:32AM
@dc43 we where talking about the duet for our build the guys liked the idea. we like your hardware I was going to get a little moster and replce all the junk with a duet and real e3d parts but found the hang printer and it's really a cool idea for a club. project

Edited 2 time(s). Last edit at 11/25/2017 06:34AM by delloman.
Re: Hangprinter version 3
November 25, 2017 06:52AM
@delloman
Nice! Some sheet material for the anchors can be practical. I've not included any official way of building ABC anchors in the design, but here is one solution: [twitter.com]

@dc42
Thanks, this is great! Looking forward to test it! I will try to find the time to look into the code and do physical testing in January. (In the meantime I'll happily support Hangprinter+Duetwifi builders here smiling smiley)

I'm reading through the wiki page and commenting what I see there:
Quote

A Hangprinter has three positioning motors suspended from the ceiling.
A Hangprinter has four positioning motors, three suspended from the floor (ABC), and one suspended from the ceiling (D).

Quote

Each motor carries a spool, from which a pair of lines is connected to the effector.
Each of the ABC motors carry a spool, from which a pair of lines is connected to the effector.
The D motor carry a spool from which three lines are connected to the effector.

Quote

M569 P3 S1 ; drive 3 (D) goes forwards
M569 P4 S1 ; drive 4 (E0) goes forwards
Is this correct?
Earlier in the text it says that D-motor is connected to E0 and extruder motor is connected to E1.

The auto calibration section looks very interesting!
I have two questions about the procedure you describe.
Does it assume an even bed to find anchor locations, or does it assume correct anchor positions to compensate an uneven bed?

Quote

3-factor: adjusts the spool zero positions.
Does this procedure use stallGuard2 data to tighten lines, or does it assume tight lines in order to find current cartesian position of the effector?

The procedure uses a bed probe, which is not part of a standard Hangprinter, but it can be easily added.


torbjornludvigsen.com
Re: Hangprinter version 3
November 25, 2017 12:36PM
I'm sorry, I misunderstood. I thought the effector was suspended from 3 spools on the ceiling and the D anchor was used to keep the extruder drive within reach of the extruder. I've now found your documentation, and I will modify the wiki page.

The auto calibration assumes that the bed is even. If it isn't, you can choose points to probe to avoid the least even spots, and you could use the H parameter to adjust for known unevenness. After auto calibration, you can use mesh bed compensation to handle unevenness.

I think we could use stall detection to tighten the lines, by selecting stall detection endstops in the M574 command, temporarily reducing the current on the ABC motors (M913), and then using a G1 S1 command to tighten ABC simultaneously - rather like homing a delta printer. See [duet3d.com].

What type of print bed do you normally use with Hangprinter?

Edited 1 time(s). Last edit at 11/25/2017 12:39PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Hangprinter version 3
November 25, 2017 06:13PM
Cool. Automatically and reliably tightening lines with stallGuard2 would be a big UX improvement for non-Mechaduino users smiling smiley

I normally use a piece of plywood covered in white glue as a print bed.
(Suggestions for other suitable big, cheap and flat things that could be printed on welcome. winking smiley)


torbjornludvigsen.com
Re: Hangprinter version 3
November 25, 2017 09:57PM
We are going to use a 1066mm2 glass table top with possibly a heated bed using 4 of these [m.aliexpress.com]
Possibly PEI sheets but i can't find bigger then 12 x 12 in.
Re: Hangprinter version 3
November 26, 2017 09:43PM
I can't find Fireline in .5mm diameter in the US.

I found this :

[www.berkley-fishing.com]

.48mm and 80lbs break test?

Will that work?

Thank you
Re: Hangprinter version 3
November 27, 2017 01:43AM
Tobben what is your opinion on a more powerful control board? Duet wifi, beaglebone with replicape, or smoothieboard? Or something else?

Edited 2 time(s). Last edit at 11/27/2017 02:31AM by delloman.
Re: Hangprinter version 3
November 27, 2017 01:50AM
About to order some 100lb [www.amazon.com]
Re: Hangprinter version 3
November 27, 2017 03:56AM
Quote
tobben
I've used 4mm and 5mm plywood, as well as 5 mm MDF
This was a brain fart. I've used 8 mm and 12 mm plywood, as well as 12 mm MDF.

I've also made a spreadsheet with weight data of my mover parts: here.
In short:
Pinewood beams weigh 171 g.
Square carbon fibre tubes weigh 91 g.


torbjornludvigsen.com
Re: Hangprinter version 3
November 27, 2017 04:11AM
@delloman
0.48 mm Fireline will work well, particularly if your mover is light. If you enable line buildup compensation feature, remember to adjust your spool buildup factor accordingly.

I'm not sure if the 100 ib fishing line is what you want. You want as stiff and thin as possible. I think that line is a bit flexible and very thick.

My opinion on DuetWifi is already in this thread. Smoothieboard and Replicape are also very good RepRap controllers, but they currently have no Hangprinter support in their firmwares as far as I know.


torbjornludvigsen.com
Re: Hangprinter version 3
November 27, 2017 04:54AM
Quote
dc42
I thought the effector was suspended from 3 spools on the ceiling and the D anchor was used to keep the extruder drive within reach of the extruder.
To your defense, it would be interesting to see someone testing this setup. It could be implemented by moving abc-anchors to the ceiling, attaching extruder drive to D-lines and configuring achor_abcd_xys to match reality as usual.


torbjornludvigsen.com
Re: Hangprinter version 3
November 27, 2017 06:19AM
Quote
tobben
Quote
dc42
I thought the effector was suspended from 3 spools on the ceiling and the D anchor was used to keep the extruder drive within reach of the extruder.
To your defense, it would be interesting to see someone testing this setup. It could be implemented by moving abc-anchors to the ceiling, attaching extruder drive to D-lines and configuring achor_abcd_xys to match reality as usual.

I had to make one change to the firmware to switch from that setup to the actual Hangprinter setup. In the forward kinematics calculation, Hangprinter needs the positive root of the quadratic equation, because the effector is above the ABC anchors. The alternative setup has the effector below the anchors, so the negative root would be used instead.

Edited 1 time(s). Last edit at 11/27/2017 06:27AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Hangprinter version 3
November 27, 2017 08:12AM
Yes, the positive root is the right one.

Quote
dc42
Hangprinter needs the positive root of the quadratic equation, because the effector is above the ABC anchors. The alternative setup has the effector below the anchors, so the negative root would be used instead.
I think you might be mixing up the four anchor_abcd_z parameters and the line_length[abcd] parameters. The square root is part of an euclidean distance (between anchor and effector) calculation, which is positive by definition. However, the anchor_abc_z parameters do indeed change sign when switching between the two setups for the reason you mention.

In HangprinterMarlin, I've left it up to the user to use the right signs when configuring anchor positions. In the usual setup, with abc anchor at the floor, users have the freedom to rotate their cartesian coordinate systems around Z. By convention, I use anchor_a_x=0.0 to determine this rotational freedom. I haven't informed users about signs before, so posting signs of anchor positions in conventional Hangprinter setup here:
ANCHOR_A_X 0.0
ANCHOR_A_Y [negative number]
ANCHOR_B_X [positive number]
ANCHOR_B_Y [positive number]
ANCHOR_C_X [negative number]
ANCHOR_C_Y [positive number]
ANCHOR_D_Z [positive number]

ANCHOR_A_Z [negative number]
ANCHOR_B_Z [negative number]
ANCHOR_C_Z [negative number]
@dc42 In your suggested setup, the three last ones would be positive.


torbjornludvigsen.com
Re: Hangprinter version 3
November 27, 2017 08:23AM
Tobben, I think you are referring to the inverse kinematics, used to calculate the line lengths for a given head position in space. I was referring to the forward kinematics, which are used to calculate the XYZ position given the line lengths. The terminology is a little confusing, because it's the inverse kinematics that are used most of the time in the calculations. I'm not sure that Marlin uses forward kinematics at all.

For the forward kinematics calculation, the problem is over-constrained, so only the distances to 3 anchors are used. I use the ABC distances. If these anchors are at more or less the same height, there will be 2 solutions: one above the anchors, and one below.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Hangprinter version 3
November 27, 2017 08:43AM
I've given some more thought to how to auto calibrate a Hangprinter using just a Z probe. We can define X0 Y0 to be the coordinates of the D anchor, and as heights are not sensitive to rotation of the axes we can also assume that anchor A lines on X=0 as you suggest. Then we need to establish 5 anchor XY coordinates, 3 line length starting positions and 3 Z coordinates. Total 11 calibration factors. So 11 or more probe points will be needed.

The risk is that because the head position is mathematically over-constrained (because there are 4 lines instead of 3), unless the calibration is good to start with, as the head moves one of the lines may become slack. Or the lines may become excessively taut, leading to stretching so that the line length is not what the firmware thinks it is - or worse, a motor skipping steps.

So I am wondering whether the following is a practical solution:

1. Only probe at points at which exactly one of the lines doesn't need to carry any tension. So don't probe close to the centre, and don't probe along a line between the centre and an anchor.

2. When moving to a probe point and probing, slacken the line that doesn't need to carry any tension by a few mm, so that we can be sure that the other lines are not being stretched.

3. In the least squares computation, for that probe point set the derivative of height against that line length and its anchor coordinates to zero.

Does that sound viable? Or will the slack line cause problems, either with constraining the effector sufficiently or when it rewound back onto the spool?



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Hangprinter version 3
November 27, 2017 11:01AM
So what size are you recommending?
Material Line Length strength Line Diameter
PE 1000M 10LB 0.14MM
PE 1000M 20LB 0.20MM
PE 1000M 30LB 0.26MM
PE 1000M 40LB 0.32MM
PE 1000M 50LB 0.36MM
PE 1000M 60LB 0.40MM
PE 1000M 70LB 0.44MM
PE 1000M 80LB 0.48MM
PE 1000M 90LB 0.50MM
PE 1000M 100LB 0.55MM

Edited 1 time(s). Last edit at 11/27/2017 11:05AM by delloman.
Re: Hangprinter version 3
November 27, 2017 05:52PM
Quote
dc42
Tobben, I think you are referring to the inverse kinematics
Ah, thanks for the clarification.

Quote
dc42
Does that sound viable? Or will the slack line cause problems, either with constraining the effector sufficiently or when it rewound back onto the spool?
Yes, I think it might be viable. The two problems to overcome would be making spools that can handle lots of slack line (like a very wide brim), and making line wind in line in a way such that slack is not "trapped" on the spool (all line is fairly tightly wound onto the spool).

Those two problems could maybe be solved by temporarily attaching a 0.5l bottle of water in the slack line, in between the winch and the anchor.

Quote
delloman
So what size are you recommending?
I'm recommending as thick FireLine as you can find.
I think the 0.34 mm one, which is more widely available than the 0.5 mm one, can work well.

The line you linked to earlier is braided in such a way that it flexes, and it is made out of Polyethylene, which is not very stiff.
It will not give good results regardless of its diameter.

What we really want is thick long chains of Ultra-high-molecular-weight polyethylene.
Such fibres are most often called Dyneema or Spectra.
However, I've seen a line from ebay marked "Dyneema" that flexed badly.
Maybe it flexed because of the way it was braided, or maybe it wasn't really dyneema.

I recommend Berkley FireLine because it's the only dyneema line that I've tried.
There are other brands out there that would work equally well, I think.
Berkley also makes the "NanoFil" line, which is stiff for it's small diameter, but they don't produce it in thick diameters, which is why I recommend FireLine.
For more, see this post.

Best regards!


torbjornludvigsen.com
Re: Hangprinter version 3
November 27, 2017 10:04PM
Where did you get the carbon fiber beams?
Re: Hangprinter version 3
November 28, 2017 03:36AM
Re: Hangprinter version 3
November 28, 2017 06:57PM
Dellman

You can find the 15mm x 15mm square CF tube on Amazon too, but where I'm at it's twice as much as Hobby King.
Sorry, only registered users may post in this forum.

Click here to login