Want to talk about dead ends. I am a software guy.

@Preston_Bannister You’re misunderstanding the issue. (Incidentally, it annoys everyone when you jump to conclusions and decide other people are wrong before you understand the issues at hand. You’ve been doing that a lot.) Pressure advance algorithms compensate for a physical lag between “extruder pushing” and “flow out the nozzle.” Basically melt pool pressure changes slower than the extruder motor changes speed/position. The lag is caused by a few different physical effects acting in concert, which are not terribly well-understood because several of them deal with non-steady-state polymer melt rheology, which is a subject of flabbergasting mathematical and theoretical complexity. I’m not going to bother listing out the factors at this point because you won’t be able to do anything with the information, and I need to go to bed. (You need a small supercomputer and a small team of PhDs to really model this sort of polymer behavior. As it happens, the author of Sailfish, who introduced the first open-source pressure advance algorithm, has a PhD in polymer chemistry and mathematics.) This lag in hot end pressure primarily causes after-flow effects at corners where the printer is moving slower, leading to unsightly blobs. It also contributes to stringing during travel moves and insufficient filament during acceleration. It is a HUGE effect at high print speeds. Some firmwares compensate for it, some do not.

In order for the flow rate out the nozzle to remain in sync with the XYZ motion of the nozzle (ie to produce an extruded strand of consistent width as the machine accelerates/decelerates) the printer has to advance the extruder axis ahead of the motion axes during acceleration, and retard the extruder axis behind the motion axes during deceleration, thereby ADVANCING THE PRESSURE RESPONSE back into sync with the nozzle motion. Thus the name.

Nobody is going to take you seriously about motion controller code development until you have a handle on all this stuff. This is one of many, many application-specific technical subjects you have to understand.

@Ryan_Carlyle You said pretty much exactly what I expected.

Also, I really do not care if anyone is annoyed. Sorry, not.

The end-to-end goal is plastic within a specific range of temperatures exiting the nozzle. Anything else is domain knowledge for hardware and software geeks, focused on that specific problem. (Yes, that might be you and I in an upcoming exercise.)

Yes, those internal folk care a lot about “advancing” the thermal and pressure inputs to a print-head…

… in hope the plastic will exit the print-head within the range needed for the end result.

This needs fairly simple physics.

Once the plastic exits the nozzle, the printer cares about the rate of adhesion (to prior to cooling), and the rate of cooling (there is a fan).

If you are hoping to frighten me off with math … um, I loved math.

But this is a case of pragmatic Physics. We do not care about the exact theoretical nature (ask about light bulbs). We only care about the known range of pragmatic result.

Yes, to get a steady result from the print head, I am going to have to bump up the thermal input (to allow heat-soak to reach the plastic) and calculate the rate of movement to match the heat reaching the plastic “in advance”. The “advance” part is an intermediate, not a primary, result.

As Lampson said long ago, the end-to-end goal is what matters. Anything else is (or should be) an optimization.

@Preston_Bannister
Wow, your level of ignorance is impressive.

You have just printed a few parts on a dirt cheap China clone. These parts broke already. You have obviously no idea how to design parts from mechanical engineering prespective and you have absolutely no idea what a non linear 2 phase flow (incl. Heat and high pressure) in the hotend even means. But even more impressive is the fact that you think this physical phenomenon doesn’t matter.
This behaviour is far far away from “fairly simple physics”!
In fact it’s (beside 2 way FSI) one of the most complex things you could do in CFD!

But you think you are in a position to say that all these clever people in the last 10-20 years are wrong? Seriously?

Believe me, you’ll not build a reasonable printer just by playing bullshit bingo with words and quotes from other people who never worked with this stuff.

Maybe you don’t care if people are annoyed by your ignorance. Fine, but you should at least try to listen to them.

Or at least you should start with some basics in order to understand what 3D printing means from a technical perspective. And you should start with these basics before you start to say that other people are wrong who worked with this since a decade.

@Preston_Bannister I said you’re wrong, and you’re still wrong :stuck_out_tongue: don’t bullshit me and say what I said is what you were already thinking. It’s not.

The “annoying people” part matters because you’re rapidly burning up all the patience and goodwill we have for newbies who want to help improve things. If no one wants to spend hours teaching you the huge pile of important domain-specific information required to succeed, you’re going to take >100x longer to accomplish anything of value. None of this info is documented anywhere findable, and it took THOUSANDS OF MAN-YEARS of experimentation and dev effort by a lot of very smart people to figure it all out in the first place.

Heat flux management isn’t the big issue. Printing works absolutely fine within a +/-10% range of heat energy delivered to the filament. That’s super coarse control tolerances and it is a completely solved problem via minor hardware design changes. The real hairy problem is synchronization of a flow rate generated by a complex, non-linear viscosity pump mechanism, with a linear speed generated by a series of first-order phase lags and mechanical impedances. This synchronization has to be done to <1% error or very visible flaws will result. At low speeds, the non-linearity shakes out fast enough that it doesn’t affect quality much. But the higher the speed, the less steady-state behavior you get, and the more difficult the flow synchronization becomes. -

-It matters that this is complicated because a naive four-axis motion control algorithm cannot be easily adapted to accommodate the necessary motions required for good print quality at high speeds. We have seen this repeatedly… for example, it took dozens of Marlin devs a solid five years to implement pressure advance functionality after Sailfish proved up the code, because the core stepper timing management code (that everything else was built on top of) was incompatible with decoupling the extruder from the other motion axes. Smoothieware has the same issue. Repetier has the same issue.

With the specific road you’re going down, where you offload pulse timing, you’re likely to run into issues where the stepper driver chips can’t be convinced to execute the illogical-appearing motion commands (like instantaneous position jumps) that are required for flow synchronization. The use of raw pulse trains as the comms mechanism to the driver allows today’s MCUs to implement all sorts of tricks to slam the motors around in the unintuitive ways required to execute pressure advance. If you don’t bake that into the early design, you’re going to code yourself into a corner and end up spending year #3 re-writing half of what you did in years #1 and #2.

@Sven_Eric_Nielsen and @Ryan_Carlyle , I am sorry the above has generated so much emotional heat. Not my intent.

I could answer point by point, but suspect that would not be especially constructive.

I do not know everything about the subject, and have said as much. I am also trying things that I suspect will not work. I have alternate plans in each and every case.

Also, I might see the problem from a different point of view.

Look … take a step back. If I completely fail to build a working and/or interesting printer (of which there is a fair chance), you can claim victory. :slight_smile:

Meanwhile, I am iterating…

I highly doubt that anyone here cares about being right or wrong. We just want to help you and save you from the headaches of making the same mistakes that the community took years to figure out and to correct. Years and the thousands of people it took to come to these conclusions. We would welcome being proved wrong, it could create positive change. But the statistics simply are not there, and in the end we have seen too many people go on a hunt and come out to the same conclusion, where that effort could have otherwise gone towards a direction that is much more likely to have results and a positive impact.
I can’t count the number of times when someone comes forward with a new idea or new 3d printer design that ignores all of the current research and development, when their new design is actually something that was attempted and failed about a decade ago. We see this a lot. If I’d guess a percentage, it’d be around %90 or more of new designs use components or ideas that have been tried and have been shown to be failures or otherwise worse than current designs.

That is why we comment and why we care, we see it a lot and don’t want to see these good natured efforts to be wasted. If you want to challenge something, that’s fine, but if you’re going to do it you should be well informed so at the least you can find a way around making the same mistakes.

@Preston_Bannister
We DON’T want you to fail (even though it’s sometimes necessary in order to learn something [Edison :D]). That’s the reason why we care and that’s also somehow the reason why this generates emotions.

We don’t want that you fail because it’s a waste of time for you, wasted resources for the 3D printer community and it leads to disappointed people.

Iterating is fine. And often this leads to new fresh ideas. There is no doubt that this is a fact. But it’s also a fact that there are physical limitations. And physical reality’s that can’t be ignored.
It took a lot of people a lot of time to find these physical limits. And you say that they are wrong.

I guess you have no idea how many things I’ve tried were I thought other people haven’t seen the full picture (and I don’t mean that I thought they where wrong). In 95% of the cases I was wrong. But the difference is that I never said someone else is wrong in the first place. I always tried to take it from this perspective :
“Probably they are right. But why the hell do I see it different?”

  1. This makes the communication much more easy
  2. Other people will have more willingness to start thinking about their ideas again
  3. It makes conclusions much more easy and it’s easier for you in the end to accept it if you where really wrong

There is no cut and dry documentation on exactly what works and what doesn’t (one of the reasons Ryan is writing a book). It’s knowledge learned over time, experience and community sharing, the occasional blog post, social media, and face to face interactions. If you want to build a repository then it would certainly be useful. Until then, you’ll need to rely on the community. Propose an idea, ask questions, and listen to the responses. I can find plenty of useful advice in this thread and others that you have started. The advice is not “just because”, and without the research and understanding of the issues you won’t fully understand the reasoning behind it.

If you haven’t noticed, people are often reluctant of posting their failures. Instead, you see iterations without a reason for them. Or you see a project disappear and is no longer supported. There are a few that have numerous issues yet somehow have a large following despite the issues never being corrected.

My own adventures include heavy modifications to nearly every 3d printer I work on, or even designing my own electronics. I don’t aim to completely create something new and outside, but something better than before. You’ll see all of my iterations and improvements in my feed or all over the web, but you likely won’t find the reasons and issues that they solve. If someone wants to know why, they need to ask based on the context.

Oh man, the number of people who go 100% radio silence when their pet project hits a roadblock… it’s bad. If you go digging, you’ll find hundreds and hundreds of 3d printing forum posts that go like, “hey, I have this great idea, I’m [building parts / writing code / whatever] to implement it right now. I’ll let you guys know how it goes!” …and you never hear from them again. Why? Because the idea failed, and people don’t want to post their failures. But that sucks because it robs the community of some valuable experience.

@Preston_Bannister Little bit of advice… nobody cares what your IQ is here. It’s not germane to the conversation and talking about it will turn people off. It’s really just not a particularly important success factor to what we’re doing here. Solo wunderkind type developers don’t have enough hours in the day to move the needle much.

The number of technical disciplines and scope of engineering involved in any large paradigm-changing effort here are both sufficiently large that ability to collaborate effectively ends up being way more important than individual contributor skill.

@Ryan_Carlyle Yeh. Noticed. :slight_smile:

To be clear, I am expecting to have failures. In fact, I have had a series of print failures over the past few days - trying different things. Nothing posted here as I had no useful conclusions (as yet - though likely there are posts on Instagram).

Not trying to hide my failures. :slight_smile:

These statistics are not statistics of your likelyhood of success, it’s the likelyhood of it being tried and abandoned, or that someone has information on the idea. Do not take it as a percentage of success or failure. It’s that someone else has either tried this or researched it and either has information or feedback. To completely shrug off the advice or to say things like “reasonably sure they have the problem factored wrong.” Shows that you overestimate the complexity of the subject.

One of the biggest failures of a project happens in the first step. Failure to understand the problems and failures to see the complexity of them. I see it in both hardware and software. I have seen millions of dollars spent on projects that have not properly gathered the requirements and have not addressed the issues and complexities - those projects either fail completely or end up in a state of “we’re in too deep so we can’t change it and we can’t fix it.”

Don’t underestimate the complexity. On the surface it looks simple, but if you attack the problems thinking that it is simple you will end up with something woefully inadaquate. We are way past the point of starting everything from scratch. There is experience and a community, all here willing to give you instruction and feedback.

You are walking into a dance studio to a team of experienced instructors who want to teach you how to dance. Learn from them, don’t critique their experience. You can do that once you’ve learned more than the basic moves.

Like I said, I don’t have the evidence, I have years of experience. If you’re looking for evidence you won’t find it. The evidence is research. That research gets lost because it’s not published. Us telling you that pressure advance for an extruder is complex and not well understand is not based on a white paper, it’s based on a lack of results, people who know the math better than you or me (like a doctorate in fluid mechanics), and the fact that the solutions we currently have do not produce the results that we need.
There are actually tons and tons of conversations on this topic alone, you’ll find them in the reprap forums, on the Google groups, subreddits, and issue trackers for each 3d printer firmware. There is enough information and topics on this subject alone that you could write an entire 20 chapter book filled with just the talking points on these conversations.

I’m not going to write that book for you, it would take me a year just to understand it enough to have a meaningful conversation about the complexities. You can take our word that it’s complex, and if you’re still interested you can do that research yourself.

We can point you at the encyclopedia of knowledge and give you a few keywords, and we can share our experience and results.

@Stephanie_A When I was still in school, someone published a paper on the physics of a light bulb. While pragmatically the subject was well understood, the theory was not then up to the same level.

One of my professors of the time had an experiment to measure the effect of gravity at near distance. This sounded absurd, until you realized all the prior experiments measured gravity at planetary distance. If near measures were different … much of Physics would have to be revised.

https://www.physics.uci.edu/people/riley-d-newman

That is the essence of good science. Also last I checked his office is in the basement. Exchanged email a few years ago, and read present papers.

The present topic of “dark mass” are near to this problem. We have not found dark mass … and much of Physics is in danger.

Also, I am going to want evidence of your dance instructors. :slight_smile:

Find the evidence for yourself. I’m not your personal encyclopedia. The information is there and you need to go get it. I’m telling you where to look. We’ve given you the terms, enough information to learn more.
I don’t care if your teacher discovered the lightbulb or if he invented gravity. Frankly I feel sorry for your teachers if each one had to write a research paper to teach you that 1+1=2.

We’re trying to help. we’re giving you advice and you’re response is “prove it”. That’s not how advice works. You’re not a child. If someone says “Don’t touch that it’s hot” you understand that it’s hot, you don’t ask why it’s bad to burn yourself. You need to do the research. We are giving you a gift, and you’re complaining that you didn’t get raw cash instead. Accept the gift and use it.