MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.22k stars 19.22k forks source link

While is printing, the Extruder unload the material!?!??!!? #3368

Closed fbarcenas closed 6 years ago

fbarcenas commented 8 years ago

This is very rare... After work some hours and all is very well, the Extruder 0 move around -100 aprox and the filament go out and continue working.... Of course continue working in the air, because the filament is totally unload...

Also before of this, the X axis moves to search the Sensor home X-, move to X- and after return to work...

Some idea?

fbarcenas commented 8 years ago

Yes yes i know like use this, i use octoprint, cura and repetier and everything is ok, but Pronterface not work well, i am thinking than my pc windows 10 is the problem.

By the way i am printing now things and everything is ok... But i do a change, i disable SDsupport and disable my display viki2

a-sprenger commented 8 years ago

Hi, well, I have no problems here. The stepper motor was damaged and the filament full of candy (from my kids). When the stepper motor became a little bit warmer it stopped totally!

thinkyhead commented 8 years ago

@fbarcenas Ok, the only reason I brought up "Pronterface" at all was just as a suggestion, a way to get the output from Marlin. If your other host software is working, then you can use that for the same purpose. It doesn't matter which one.

Roxy-3D commented 8 years ago

Also, make sure you don't have anything else connected to the printer. This is the opposite problem you are having but I was banging my head on the table because I couldn't get Arduino to update the firmware on my printer yesterday. The reason was because I had PronterFace connected to the printer.

fbarcenas commented 8 years ago

Continue testing... Disable SDCARD and VIKI2 lines...everything is ok...

fbarcenas commented 8 years ago

Hello! The problem happen and i have the log!! The fail happen when: RECEIVED: echo:busy: processing

Importance to: WARNING: Firmware unresponsive. Attempting to force continue... after of this axi X go to search HOME but crash and crash.... like the sensor not work.... after i turn off the machine... Fail1.txt

thinkyhead commented 8 years ago

@fbarcenas You can disable the busy feedback with M113 S0 or by enabling DISABLE_HOST_KEEPALIVE if it's bothersome or causing additional problems.

Checking through the log…

fbarcenas commented 8 years ago

So Now at the first of each file i write:

M111 S1           ; activate logging
M113 S0           ; deactivate busy messages

i will say something....

fbarcenas commented 8 years ago

Hi again, the problem happen but happen some hours before and the log don't save this... The machine is working in another placement and the bed and hotend is cool!!

Only save some lines and i don't find. But, why if i put: M113 S0 at start work, the machine continue say: busy: processing ????

Now, I upload the new rcbugfix with DISABLE_HOST_KEEPALIVE

A idea...? is possible than the problem will be the 250000 baud rate?? i never touch this Is a PC with windows 10

thinkyhead commented 8 years ago

M113 is pretty new. You might find it actually works with the latest bug fix code. But I will peek at it to make sure it's doing the right thing.

thinkyhead commented 8 years ago

I can't pinpoint the source of your error, so far. I don't think it is code-related. So I recommend that you try a slower baud rate and see what happens. In fact, keep trying everything and see what effects you get. Keep reporting results, and eventually, perhaps, it will crystallize.

fbarcenas commented 8 years ago

What baudrate you advise me?

fbarcenas commented 8 years ago

Actually i have 250000, i don't know if is the standard or not... All people use this. By the way, i upload the last RCBUGFIX but with DISABLE_HOST_KEEPALIVE and i send the same file.... for the moment not fail...

fbarcenas commented 8 years ago

Someone know a software than can save the log in a file? My problem is than the problem happen in the middle of the night so when i return to see the machine the problem happen but the log is delete, the log of simplify3D only save some last lines, and i can't find exactly the error...

fbarcenas commented 8 years ago

More info: with 115200 also fail. Tested with RUMBA and MEGATRONICS DISABLE_HOST_KEEPALIVE is written and now the problem is "Cold prevented extrusion"

idea?

Why turn off the machine the hotend?? What security have the firmware than can turn off this?? I have merman runway disable

Blue-Marlin commented 8 years ago

PREVENT_DANGEROUS_EXTRUDE

fbarcenas commented 8 years ago

disable and testing....

//this prevents dangerous Extruder moves, i.e. if the temperature is under the limit
//can be software-disabled for whatever purposes by
//#define PREVENT_DANGEROUS_EXTRUDE
//if PREVENT_DANGEROUS_EXTRUDE is on, you can still disable (uncomment) very long bits of extrusion separately.
//#define PREVENT_LENGTHY_EXTRUDE

//#define EXTRUDE_MINTEMP 170
//#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) //prevent extrusion of very large distances.

and also:

// The hardware watchdog should reset the microcontroller disabling all outputs, in case the firmware gets stuck and doesn't do temperature regulation.
//#define USE_WATCHDOG
fbarcenas commented 8 years ago

News: With all this:

//#define PREVENT_DANGEROUS_EXTRUDE
//#define PREVENT_LENGTHY_EXTRUDE
//#define EXTRUDE_MINTEMP 170
//#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) 
//#define USE_WATCHDOG

and use software Repetier instead of simplify3D, WORK!!!!!

Now.. i don't know where is the problem! Ideas? Can be the software???? Different config???: I attach

captura de pantalla 2016-05-11 a las 14 05 46 captura de pantalla 2016-05-11 a las 14 07 44
fbarcenas commented 8 years ago

Continue testing... I am thinking than the problem is "Serial Cache Size" with 63 FAIL , with 127 not? What is the best value? Than the experts talk!

jbrazio commented 8 years ago

Shouldn't "use ping pong" be active ? I don't know, just asking really.

fbarcenas commented 8 years ago

I test with simplify3D and fail: you can see the photo...:

1797921e41ab501e6ef4ca9206b389f6

Blue-Marlin commented 8 years ago

@fbarcenas In your first picture, there is a dialoge named "Flow Control" where "No Flow Control" is selected. What other options can be selected?

fbarcenas commented 8 years ago

Hardware

Blue-Marlin commented 8 years ago

Did you try to check off "Allow command buffering"?

fbarcenas commented 8 years ago

i don't try.

I upload photo of hardware:

captura de pantalla 2016-05-12 a las 14 57 03

What change you want than test?

Blue-Marlin commented 8 years ago

b9564be2-1781-11e6-9f79-a9d6142ba115 Can you disable this?

fbarcenas commented 8 years ago

Yes Something more?

Blue-Marlin commented 8 years ago

Not at the moment.

fbarcenas commented 8 years ago

Testing.... Same file... Tomorrow more news..

thinkyhead commented 8 years ago

If Marlin isn't responding to M105 then it must not be getting the command. Strange.

fbarcenas commented 8 years ago

The file is doing, for the moment not fail, but is a job of 28hours... The thing more rare is than with Repetier not fail. Incredible!

fbarcenas commented 8 years ago

The file finish correctly! SImplify3D and like Blue-marlin say i check off "Allow command buffering". Time 28 hours, and not errors in the log, not unload materials, not search home sensor, everything correct

I do again a new file for continue testing...

Ideas and conclusions experts of Marlin?

Why this "Allow command buffering" not work well????

Blue-Marlin commented 8 years ago

Why this "Allow command buffering" not work well????

Having set 'PingPong' in RepetierHost is should be the same as not having set "Allow command buffering" in simplify3D. So you can't say there is a general problem with using a more 'sophisticated' buffer strategy. I'd consider a incompatibility of simplify3D's buffer filling strategy with Marlin.

fbarcenas commented 8 years ago

Really interesting, i dont know that say.. I continue testing and i will say results. The question is: If we dont use this "buffer strategy" what dissavanteges we have?

fbarcenas commented 8 years ago

Second test with simplify3D, everything fine. Problem solved?

jbrazio commented 8 years ago

Well.. for you yes, for us (the devs) no. This means we have a bug somewhere in the serial/command processor/buffer..

/cc @thinkyhead @AnHardt

fbarcenas commented 8 years ago

i want mean: Problem found? Yes Solved? Not But really: If we dont use this "buffer strategy" what dissavanteges we have?

Of course, i continue testing.... This time with a file of 6 days!

AnHardt commented 8 years ago

The conventional strategy for the communication is to use 'pingpong'. The host sends a line of g-code, waits for an 'ok', then sends the next line. That means, Marlin's command line buffer is ether empty or contains one line. The RX-buffer never contains more than one line. Between sending a 'ok' and receiving the next command, there is a small gap where Marlin has to wait. The advanced strategy's try to eliminate that little waits, by pre-filling the one, the other, or both buffers (depending on the host - all hosts do that different, if configured that way, if at all).

fbarcenas commented 8 years ago

A question This problem of buffer.. can also happen with SDCARD?

AnHardt commented 8 years ago

No. That's the reason why SD-printing is faster then USB-printing (when using 'pingpong'). Reading from SD is similar to reading from an filled file-size large RX-buffer.

AnHardt commented 8 years ago

@jbrazio I currently don't see the need for fixes in Marlin. All our little helpers for the more sophisticated protocols (ADVANCED_OK, NO_TIMEOUTS, HOST_KEEPALIVE_FEATURE) can be switched off. We do not know what is confusing S3D and can't look it up (closed source). If S3D tries a too aggressive buffer strategy that's their problem. S3D is payware - so they should have someone who is payed for being interested in that problem - so i'm not really interested in that - at least not, as long it's not obvious the problem is on our side of the fence.

jbrazio commented 8 years ago

@AnHardt I agree with you mostly but I believe this specific issue hints us that we have an unknown error somewhere on the parser thus not making it strong enough, Marlin shouldn't be brought down to it's knees when the host misbehaves. I'm forced to believe that this error could be related with #3680..

fbarcenas commented 8 years ago

In my config i have:

#define BAUDRATE 115200
//#define PREVENT_DANGEROUS_EXTRUDE
//#define PREVENT_LENGTHY_EXTRUDE
//#define EXTRUDE_MINTEMP 170
//#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) 
//#define USE_WATCHDOG
//#define ADVANCED_OK
//#define NO_TIMEOUTS 1000 // Milliseconds
//#define DISABLE_HOST_KEEPALIVE

With

fbarcenas commented 8 years ago

By the way... i don't see differences in speed or delays if i run by SDCard or by USBwire

jbrazio commented 8 years ago

@fbarcenas I believe you may leave this:

#define PREVENT_DANGEROUS_EXTRUDE
#define PREVENT_LENGTHY_EXTRUDE
#define EXTRUDE_MINTEMP 170
#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) 
#define USE_WATCHDOG
fbarcenas commented 8 years ago

Hello,

i activate all things jbrazio and with Repetir and pingpong activated happen this:

< 15:49:21.749 : N100060 G1 X313.957 Y286.954 E37.5036*95
> 15:49:21.765 : echo:N100060 G1 X313.957 Y286.954 E37.5036*95
> 15:49:22.859 : ok
< 15:49:22.859 : N100061 G1 X311.862 Y287.929 E37.6477*82
> 15:49:22.874 : echo:N100061 G1 X311.862 Y287.929 E37.6477*82
> 15:49:23.031 : ok
< 15:49:23.031 : N100062 G1 X311.508 Y288.096 E37.6721*82
> 15:49:23.046 : echo:N100062 G1 X311.508 Y288.096 E37.6721*82
**< 15:49:24.187 : Printer reset detected - initalizing**
> 15:49:24.359 : start
< 15:49:24.359 : N1 M105*38
> 15:49:24.359 : echo:Marlin 1.1.0-RCBugFix
> 15:49:24.359 : echo: Free Memory: 4701  PlannerBufferBytes: 1360
> 15:49:24.359 : echo:V23 stored settings retrieved (396 bytes)

?!?!?!??!?!?!?! Ideas?

fbarcenas commented 8 years ago

New test:

#define BAUDRATE 250000
//#define PREVENT_DANGEROUS_EXTRUDE
//#define PREVENT_LENGTHY_EXTRUDE
//#define EXTRUDE_MINTEMP 170
//#define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH) 
//#define USE_WATCHDOG
//#define ADVANCED_OK
//#define NO_TIMEOUTS 1000 // Milliseconds
//#define DISABLE_HOST_KEEPALIVE

Repetier with pingpong activated!

and result:

< 03:59:31.907 : N203982 G1 X395.532 Y271.798 E65.2395*87
> 03:59:31.923 : echo:N203982 G1 X395.532 Y271.798 E65.2395*87
> 03:59:32.220 : ok
< 03:59:32.220 : N203983 G1 X396.085 Y271.752 E65.2741*87
> 03:59:32.236 : echo:N203983 G1 X396.085 Y271.752 E65.2741*87
< 04:00:12.222 : Communication timeout - reset send buffer block
< 04:00:12.222 : N203984 M117 ETE 107h 28m 39s*4
< 04:00:52.260 : Communication timeout - reset send buffer block
< 04:00:52.260 : N203985 M105*18
fbarcenas commented 8 years ago

I install a new board (this time RUMBA), and i test... Happen again the problems! Of course i change wire USB and PC. A question: is possible than can be a problem of my stepper drivers?!?!!? I am using external stepper drivers

jbrazio commented 8 years ago

So far we can't pin-point any errors with Marlin, and you're the only one having this issue.. so it can either be a combination of your hardware, your host software..

Did you tried with another host controller ? Like Pronterface or Octoprint.

fbarcenas commented 8 years ago

Pronterface not test Octoprint yes Fail Repetier yes Fail Simplify yes Fail