Welcome! Log In Create A New Profile


Hangprinter version 3

Posted by tobben 
Re: Hangprinter version 3
July 03, 2018 06:48AM
Ok.. Those are all good points. I will keep that in mind if I decide to build one. Thanks.
Re: Hangprinter version 3
July 04, 2018 04:45AM
Some thoughts on moving anchors and frames:

Thinking of anchors that move in z-hight I do not see it as a frame. It's just three axis coming up vertically from the floor.

I guess if the anchors can move 70 cm to 1m in Z, it would be very useful for a lot of printable objects. Seeing how slow the hangprinter moves due to layer hight and flow rate of the extrusion, I dought there will be a lot of situations to build bigger objects. Print fails can occure more often in a long print eg. 1 week!, 2 weeks!? or 12 weeks???

In my oppinion it is very important for the concept of the machine that it doesn't need a frame to work and it can easily adapt to different rooms. I see the wooden frames more as another existing structure which can be used with the printer.

After working for some weeks under the sealing I guess it would have been better to use a small frame (maybe 180 cm high or lower) to install everything for the first time and get it running. If one is experienced with the hangprinter it wont be to much effort to install it in different environments.

Some thoughts on simulations:

As the hangprinter has the design principle to solve as much as possible in software (did I understand this right?), a simulation seems to be more and more important. One can prove this by the new auto-calibration feature using Mechaduinos and a simulation in Python to get the auto calibration work. simulations are a very good tool to develop a robot. openSCAD looks interesting but I think in the future it would be better if the simulation can be tangled with the control of the machine. It would be great if you can use the same platform to build a performing (printing) virtual model, get (real-time) sensor data (eg. cameras, cable tension meter, temperature) and control the actuators (eg. motors, heating, fans, maybe a moving anchor or a moving build platform). Auto calibration could be performed, too in the best case.

I guess ROS and Gazebo are a good choice for that. It is open source and there's a community all over the world. It fits to the design principles of the hangprinter in that case smiling smiley

Thinking of Chris problem with cables colliding with the printed object and Tobbens suggestion (raytracing) the ROS/Gazebo Sim could maybe solve that problem too.

In the existing Gazebo/ROS Simulations of cable driven parallel robots there is no model for flexible cables. It is solved with rigid joints and rigid connectors..... First there must be a model of flexible lines and tension - a formula. With this model one can start to build a 3D sim in ROS. To build such a model you will need a bright mind and mathematics. I read somewhere that someone is working on that for the hangprinter as a bachelor thesis. How does the line flex modelling develop? Sounds great! Such a model could be used as a basis for a ROS development. I am not a simulation designer, but I will try to get the simulation topic forward as a kind of organizer. Chris is building anchors later this year. It might be better to concentrate on simulation now from my side. Anyone else interested in collaborating on a simulation of the hangprinter in Gazebo/ROS?

Edited 4 time(s). Last edit at 07/04/2018 12:29PM by Dahah.
Re: Hangprinter version 3
July 04, 2018 05:12AM
PS: Using a complex simulation - which can run on computers at home - would be an update - auto callibration of the hangprinter did it allready - of the RepRap technology (2008) from 1980s tech eg. home computers, cheap microcontrollers, stereolithography (1983), FDM (1988) and the broad use of the internet (1990s) to a more contemporary approach using complex software to solve problems in normal/ordinary/everyday life (2018). By the way: It is not just the 10th anniversary of RepRap in 2018 it is as well the 30th anniversary of Stratasys FDM patent. grinning smiley

Edited 4 time(s). Last edit at 07/04/2018 12:26PM by Dahah.
Re: Hangprinter version 3
July 04, 2018 06:57AM
I agree on your point that we can see the wooden frame as just another existing structure.

I'm super happy that you and other builders are building experience and some HP expertise by getting your hands dirty. Having to climb up to the ceiling to do fixes and adjustments is indeed a potential Achilles' heel in the Hp3 design that is easily underestimated, particularly for first-timers.

I just want to stress one point that is easy to miss about installing alternative anchor points at higher z: When preparing higher-up anchor points, before we start the tall print(s) that might use them, we should do a full auto-calibration procedure for every set of anchor points that we might want to use later. This will allow auto-calibration to compensate correctly for inaccuracies in spool buildup compensation, and for any deviation from a perfectly placed origin, for every set of anchor points.

A simulation, as complete as possible, would indeed be a great tool for HP development. I would love to steer my dev role in that direction, since it would fit my interests, formal training, and the future I envision for the project. Any help with other parts of the project (such as producing images and video of builds, writing documentation, programming firmware, hosting workshops, coordinating technical development, promoting and finding new builders/supporters), that could free up more of my time for working on simulation, is greatly appreciated. Help on the simulation itself is of course equally appreciated.

Linking in HAW#1-participant, Chris (we'll be up to 3 active Chris'es in this thread), who wants to work on a steady space model of the HP smiling smiley

Formula for flexible lines and tension
A first approximation for a line flex formula could be Hooke's law:

F = kx,

where F is force, x is line deflection (flex), and k should be measured directly, to make sure we match reality at least to some extent.
But we could start of with the crudest of the crude models by using:

k could be approximately calculated from the expected modulus of dyneema line (115 GPa, source: [www.mse.mtu.edu]), but the lines we buy are not perfect.

fredrudolf has done a (rough) measurement of flex in 0.18 mm FireLine, which gave a modulus of 63 GPa.
This one measurement should ca halve the error of our model!

However, the approximation is still very crude since it doesn't take into account flex in other mechanical parts, and line flex that is stored by being rolled onto the spools (where friction helps keep the line stretched).
The 0.39 mm FireLine and the 0.5 mm FireLine might also behave differently than the 0.18 mm line, because of how they're produced.

Blindly scaling the 63 GPa result up for the standard 0.5 mm FireLine gives the following formula:

k(L) = E*A/L = (63*10^9)*(pi*(0.0005/2)^2)/L,

where E is modulus, A is cross-sectional area of the line, and L is the length of the suspended line at any given time.

It's a starting point.

Re: Hangprinter version 3
July 04, 2018 07:47AM

It is a starting point! And a quick one winking smiley

Formula for flexible lines and tension

What sensors on the hangprinter could measure k or could measure data to calculate k? High-res cameras?
(Just quick thoughts: Line tension could be measured with a load cell - easy and cheap - and three v groove bearings, line length with a rotary encoder.)

Other flex than line flex.
We should try to get as low flex as possible in the mechanical parts except lines. Otherwise the model becomes to complex. I do not mind to use four heavy bolts and maybe bigger bearings to hold the spools. The same for the brackets and line rollers. It is better to have them a bit more sturdy than needed in my opinion. Of course costs and production time might raise a bit but its just some €s.

Edited 5 time(s). Last edit at 07/04/2018 08:04AM by Dahah.
Re: Hangprinter version 3
July 04, 2018 09:37AM
Yup. The line flex is described in more detail here: [vitana.se]

Finding k
If we measure force and deflection on a hanging effector (mover), we would get a new k that is lower because it takes flex from the whole system into account.

If we have smooth transmission (like the belts I'm in favour of adding to the v4), and good torque control (I'm hoping Mechaduinos are good enough, otherwise oDrives should be), then HP can measure its own k values simply by tightening its lines, noting down forces and deflections, and doing the math in firmware.

Adding Sensors
Yes, load cells would be an interesting addition if it turns out we still need it after adding belts. See here for relevant experiments with force sensing resistors here: [vitana.se]

In the priority list for my own work, I've placed load cells a bit down (see here: [vitana.se]) because of limited time. Load cells coupled with normal open loop stepper drivers might enable a very cheap closed loop system, including my beloved torque mode, but excluding the possibility to recover after missed steps (unless we do Prusa style re-homing by crashing into a bracket in the ceiling). I'd gladly assist any one who wants to carry out experiments with load cells!

Rotary encoders along lines could be made to work, but it maybe wouldn't be as cheap, easy, and useful as one would imagine. For it to be useful, we would have to guarantee that lines never slip. Tiny flex anywhere in the system would also have to be monitored and compensated for, or we would get degraded precision (imagine the line being stretched when rolling in, and slack when rolling out). If we were to base motor control on encoders along the lines, then we would have to make the control loop sloppy because the motor is so loosely coupled to its lines. Keeping the encoder on the motor shaft gives us high speed, high precision, but lower accuracy. It might be possible to use encoders along lines to easily and cheaply increase accuracy without degrading speed and precision too much. I would be surprised and impressed if I saw it.

Sturdier hardware
Bolts are nice and sturdy, but they come with the requirement for a straight, vertical hole in the ceiling plate. It was the standard before, but it was a relief to get rid of the need for a drill press.

The 608 bearings are just inherited all the way back from the v1 days. I'm in favour of using bigger bearings, with a bigger printed core, but to keep the center wood screw, as a standard on the v4.

Check out a sturdier motor bracket design here: [gitlab.com] The previous one twisted too easily. Haven't had the time to test the new one.

Another low-hanging fruit I'm in favour of for the v4 is to simply increase Base_th to reduce flex in all ceiling unit parts. (PS! If you want this already, you can get it by changing the number in parameters.scad: [gitlab.com]
and doing a
make openscad_stl/lineroller_ABC_winch.stl openscad_stl/lineroller_D.stl openscad_stl/spool_core.stl
to recompile the relevant stls.)

Re: Hangprinter version 3
July 04, 2018 10:15AM
Finding k
Seems easy! smiling smiley One just uses good and precise hardware and gets precise calculations.

Closed loop
I would prefer o-drives over mechaduinos. It opens up the possibilities to use any dc motor, so in the whole there could be more individual iterations of the hangprinter depending what kind of dc motor is available. One could go without belts or gears using a hoverboard motor and o-drives. And you can control it using step/dir - so no big changes in the hangprinter system.

Load cells
I see....

Bolts and screws
Maybe one could use 3 or 4 woodscrews to make the axis sturdy?

Edited 7 time(s). Last edit at 07/05/2018 06:47AM by Dahah.
Re: Hangprinter version 3
July 04, 2018 10:35AM
rotary encoders

If I would have an exact k-value, would it be possible to calculate/simulate the values for the line being stretched when rolling in, and slack when rolling out?

How to measure the flexibility in the system (except lines)?
How big are the flex movements in the mechanical parts?
Re: Hangprinter version 3
July 04, 2018 11:39AM
Yes, everything is possible.

To measure flexibility except lines
Push a mounted effector with a force (F0), and measure how much the complete system flexes (x0). Divide the force by number of lines working against your push (n). You get a spring constant k0 = F0/(n*x0). Then get a line of the same lengths as the ones between your spool and your effector. Pull one end of that line, with no parts mounted along it, with a force F1 = (1/n)*F0. Measure how much your line flexes (x1). You get a new spring constant k1 = F1/x1. Flexibility in the system, except lines, is then

k2 = k0 - k1.

Keep F0 close to what you would expect during a print. That is, quite low, which makes Hooke's law still close to reality.

The flex in your mechanical parts (x) depends on force. Your measurements already gave you

x(F1) = x0 - x1

For small forces, you can use Hooke's law

x(F) = F/k2,

to predict how much your mechanical parts will flex.

Re: Hangprinter version 3
July 04, 2018 12:06PM
Cool, I understand it. Thank you!
Re: Hangprinter version 3
July 04, 2018 12:10PM
In the existing Gazebo/ROS simulation there are no flexible lines. They use ridgid joints and cables. How to formulate not just the line flex in a Hookes law sense but to simulate as well the way the lines bend on the spools, line rollers and anchors? I need to understand more of ROS.

Tobben, do you have experience in ROS? Do you think you could hack the existing sim to the hangprinters needs? Of course in case you would have the time. How many hours would it take?

Edited 2 time(s). Last edit at 07/05/2018 06:46AM by Dahah.
Re: Hangprinter version 3
July 04, 2018 12:21PM
Maybe it is enough to see it as a rigid joint and a rigid cable that expands/decreases=flexes in length?
Re: Hangprinter version 3
July 05, 2018 07:13AM
ROS Additive Manufacturing (RAM)
The ROS Additive Manufacturing (RAM) project is a set of ROS packages that enables automatic generation of trajectories for additive manufacturing
Re: Hangprinter version 3
July 05, 2018 10:39AM
Thanks for the link, I'll get into it if I get the time. I don't think I can drive simulation development now, only support others who want to take it on.

How closely you should simulate line flex depends on the use case you're trying to fill.
As a first goal and use case, I think it's good to start with analyzing whether lines will touch objects while printing, since that's such a practical use case.
Even a crude simulation, with no line flex, will prevent big expensive print failures.

Re: Hangprinter version 3
July 05, 2018 10:54AM
Yes, it is a good idea to solve the problems step by step instaed of designing the best case scenario.
Re: Hangprinter version 3
July 09, 2018 06:36PM
Crashdummies wanted for RepRapFirmware's Hangprinter compatibility development: [vitana.se]

Sorry, only registered users may post in this forum.

Click here to login