System that allows to stop printing automatically when the part separates from bed During Print
 

System that allows to stop printing automatically when the part separates from bed During Print  

Page 1 / 2
  RSS
lina.g
(@lina-g)
Active Member

Hi,
After a big fail last week. The part separated from the bed and stuck to extruder. The next 8-9 hours ABS filament went U turn from part to extruder. It was absolutely disaster the extruders cover parts melted together in one big ball, the wires the distance sensor everything in thick ABS plastic cover.
To prevent it in the future I order ABS juice. But still I want to be safe in the time when printer works alone for a long time. So I came with this idea - what you think is it possible to place on one side of printer laser and on another side laser sensor. The laser beam should be around 2mm above the bed. After the print begins and the skirt is printed, you can place the laser couple mm from printed part side. So if the part will separate from the bed the part will "cut" the laser beam. The whole part will cost not more then 5€, it is possible to run it on arduino nano.
What you think? Or maybe there are already other solution?

...
Posted : 01/07/2017 11:00 pm
christophe.p
(@christophe-p)
Member Moderator

Hi Lina,

Yes I thought of exactly that (see http://shop.prusa3d.com/forum/improvements-f14/print-failure-detection-t2585-s10.html ) But for now the main challenge is to design something to hold the laser and the photodiode that allow fine alignment and that maintain both optic part in a strict alignment.

When my others working project will be done, I'll go back to try that.

I'm like Jon Snow, I know nothing....
Posted : 03/07/2017 7:29 pm
aaron.s5
(@aaron-s5)
Noble Member

There are automated ways of auto-stopping when you run out of filament which is a more common issue (and frustrating when near the end of a long print). I have not installed on yet - but will when I get my MMU upgrade:

https://dyzedesign.com/shop/filament-detector/filament-sentinel/

Since I have gotten a really good Z Height, and a clean bed, and knowledge of brim, it is an almost unheard of event for the print to come loose. In fact it has not happened since I did the above. And that has been a LOT of prints.

So, my simple solution - not idea mind you - is that I use OctoPi and OctoPrint on a Raspberry Pi, outfitted with Telegram. Every X hours, I get a text with a picture of the print in progress. Remotely (via Telegram) I can stop the print if things go awry. Good for when I am at work, but not a solution for when I am asleep since I mute the alarm. This prevents the huge runaway issues and limits them to X hours or less. But then again, I have not had an issue like this since climbing the learning curve on the first layer.

For a fully automated system, I would think of putting the laser/detector on the sides of the print head, above the nozzle height, but below the heat block. That way if you get a tumor growing, it will automatically pause or stop the print. This will catch more issues than just a loose print and will catch it no matter which direction the print moves. But then again, it has happened so rarely now that I don't feel the effort is worth it. (But will when I get my next tumor that kills a thermocouple (happened once when I was still new at this). There is another thread on this topic, but I am unaware of anyone who has implemented it.

Any advices given are offered in good faith. It is your responsibility to ensure that by following my advice you do not suffer or cause injury, damage or loss. If you solve your problem, please post the solution…...
Posted : 03/07/2017 8:29 pm
lina.g
(@lina-g)
Active Member

Wow thanks for the answers! I think I will make it easy way for the beginning. Like on the picture I put on one side laser and on another light sensor. And to prevent run out of filament I will add this micro switch. But now the question ❓ I will connect all this sensors and switches to arduino, but how I can pause printer with arduino? Where and how I can connect arduino to printer? It would be nice to somehow pause the printing, but not stooping it. So the printer will wait hot until I come and check the situation. If I look and everything is okey and the printing was stopped because filament is over. I put new filament and continue printing.

...
Posted : 06/07/2017 12:43 am
3d-gussner
(@3d-gussner)
Reputable Member


But now the question ❓ I will connect all this sensors and switches to arduino, but how I can pause printer with arduino? Where and how I can connect arduino to printer? It would be nice to somehow pause the printing, but not stooping it. So the printer will wait hot until I come and check the situation. If I look and everything is okey and the printing was stopped because filament is over. I put new filament and continue printing.

Hi,

for connecting a runout sensor to miniRAMbo board check this post http://shop.prusa3d.com/forum/improvements-f14/wire-up-filament-sensor-to-mk2-use-thermister-circ-t2836-s20.html . Only issue is that you have to change the filament quite fast cannot wait for hours, because the heated bed will cool down. Cooling down heated bed may risk the print is coming off.
If you are interested in the 'filament-sentinal' from DyzeDesign check this https://dyzedesign.com/support/filament-sentinel-technical-support/#1487788661810-9ce9dcba-626e .

Also you have to think how far from the extruder you have to place the sensor. As far as i know Marlin has a buffer for printing...you can see it when you try to pause a print, it will still go for few seconds...Imagining you have long straight lines, which are just one line of gcode, it could happen if you place the runout sensor too close that you runout of filament before the firmware reacts. This has to be tested, i am not sure if the filament runout sensor uses something like an interrupt or so.

Pavel from Prusa is testing a pause function which stores the actual printing filename and print position to EEPROM. Same problem here when the heated bed is cooling down. We will see if it will make it in the firmware and what options will be available.

I think the 'filament-sentinel' from DyzeDesign is looking great! But 35$ each is quite a lot of money if you want to daisy chain 4 of them = 140$ ...

For me it would be a combination of filament tracking and runout sensor. Tracking how much filament is used of the spool makes it able to define thresholds when warnings should be send. And the runout sensor is the last man standing to prevent a disaster.

With the MM i would like to have runout sensors on each filament AND the option to switch to another when one runs out of filament.
Thinking of huge prints which use more filament than on the spool and having the same filament in another exturder loaded but not used until the 1st spool is running out of filament.
Even with smal prints it would be possible to use the hole filament and not having few meters laying around not knowing if that would be enough to print.

Posted : 06/07/2017 4:49 pm
lina.g
(@lina-g)
Active Member

Well yes, how waldemar.g improved the code is a nice idea, but for beginner like me it is little bit complicated. I even can't compile the code without errors in Arduino IDE 🙂 .. So this is not for me. After dissembling the front control panel I tested signals from rotation knob, there are only 3 wires, left turn, right turn, push. The pause function in menu is on the third position. So theoretical if I connect this 3 wires to arduino nano, I will be able navigate in menu and turn on PAUSE PRINT function. I think it is best solution for me.

...
Posted : 08/07/2017 12:56 am
3d-gussner
(@3d-gussner)
Reputable Member


Well yes, how waldemar.g improved the code is a nice idea, but for beginner like me it is little bit complicated. I even can't compile the code without errors in Arduino IDE 🙂 .. So this is not for me.

Hi,
i didn't improve the code (except language translations and PID BED tuning), just activated the FilamentRunout_SENsor existing function in Prusa firmware.
To compile the firmware you need few things but using https://github.com/aderusha/Get-PrusaFwDevEnv powershell script it is very easy to do.
You also can download the HEX file from my github https://github.com/3d-gussner/Prusa-Firmware/releases/tag/v3.0.11-FRSens and you have the function activated.
You just have to follow the forum guide connecting the switch to miniRAMbo P3 and upload the firmware.


After dissembling the front control panel I tested signals from rotation knob, there are only 3 wires, left turn, right turn, push. The pause function in menu is on the third position. So theoretical if I connect this 3 wires to arduino nano, I will be able navigate in menu and turn on PAUSE PRINT function. I think it is best solution for me.

Funny not willing to compile the Prusa firmware and on the other side soldering on the LCD screen, adding an ARDUNIO board where you have to write your own software and compile it. What happens when the LCD menu will change the position, etc. This will be difficult to implement and follow up.

But everyone should do what they think is the best. Hope you find your solution.

Posted : 08/07/2017 1:25 pm
lina.g
(@lina-g)
Active Member

Okey I see. That's cool! But where you found #ifdef FILAMENT_RUNOUT_SUPPORT? I didn't find it in CONFIGURATION.H. Actually I searched in all tabs, didn't find it.

...
Posted : 08/07/2017 5:43 pm
3d-gussner
(@3d-gussner)
Reputable Member


Okey I see. That's cool! But where you found #ifdef FILAMENT_RUNOUT_SUPPORT? I didn't find it in CONFIGURATION.H. Actually I searched in all tabs, didn't find it.

Hey Lina,

the '#ifdef FILAMENT_RUNOUT_SUPPORT' you can find in the 'Configuration_prusa.h' which has to be copied from the variants folder.
Using the ' https://github.com/aderusha/Get-PrusaFwDevEnv ' powershell script will automatically copy the chosen 'Configuration_prusa.h' from the '..\variants'. BUT it also downloads the actual build, which is in development!!!

Prusa decided to have different 'Configuration_prusa.h' files depending on your Prusa printer and controller board it has. As they decide to get another controller board they will be able to support all of their printers.

If you don't use the script or newer builds:
- For a Prusa i3 MK2(s) which has a miniRAMbo 1.3a board copy '..\variants\1_75mm_MK2-RAMBo13a-E3Dv6full.h' to the folder above and rename it to 'Configuration_prusa.h'
- For a Prusa i3 MK2(s) with Multi Material which has a miniRAMbo 1.3a board and Prusa Super Switch copy '..\variants\1_75mm_MK2-MultiMaterial-RAMBo13a-E3Dv6full.h' to the folder above and rename it to 'Configuration_prusa.h'
- The other ones are for older MK1 and older MK2s

If you want to go with the last stable version you also should think about to download their source.zip files from the github release https://github.com/prusa3d/Prusa-Firmware/releases . At this moment last stable version is 3.0.11 https://github.com/prusa3d/Prusa-Firmware/releases/tag/v3.0.11

I use
- Notepad++ to search and edit the files.
- Winmerge to compare original source folders and my modified folders

Also decided to change the filament runout sensor pin to the 'y-max', because i am planing to use the 'x-max', 'z-max' and P3 pins 2,4,6,8 for I2C devices.
So in 'pins.h' '#define FR_SENS' will be changed from '21' to '24' and '#define Y_MAX_PIN' from '24' to '-1' (-1 equals not used).

Like the way Prusa designed their endstops, where the 'open' state has 'high' aka 5V and closed 'low' aka GND. This way it will be triggered when the switch is closed BUT ALSO when it is not connected or the cable is broken. Think it is very easy way to troubleshoot these switch.

Just saw in another forum topic that the DYZDesign Sentinal is normal 'low' and triggers 'high' here 3.3V, here you have to modify bit more in the firmware to get it running.

Hope that helped

Posted : 09/07/2017 10:19 am
3d-gussner
(@3d-gussner)
Reputable Member

Updated firmware version 3.0.12 with Filament Runout available https://github.com/3d-gussner/Prusa-Firmware/releases

Posted : 13/07/2017 11:01 pm
lina.g
(@lina-g)
Active Member

Wow thanks waldemar.g! That is really nice. I will use your firmware it will be the best and easy way to connect the sensors. Thanks again all forum members for such nice support!

...
Posted : 15/07/2017 7:13 pm
lina.g
(@lina-g)
Active Member

P.S. Sorry for the stupid question, but which pins do I need to connect to the switch? There are 3 pins on y-max connection and a need only two 😯

...
Posted : 24/07/2017 9:36 am
3d-gussner
(@3d-gussner)
Reputable Member


P.S. Sorry for the stupid question, but which pins do I need to connect to the switch? There are 3 pins on y-max connection and a need only two 😯

Hi Lina.g,

1st no question is stupid! Answers are a different thing 🙂
Sorry, i had to point out which pins we have to be used after changing the 'FR_SENS' pin to y-max. Updated also the Release Notes https://github.com/3d-gussner/Prusa-Firmware/releases/tag/v3.0.12-FRSens to point that out.
You need to connect the filament runout switch to y-max 'S'ensor and '-' pins. You can see it quite good here:

Hope it helps.

Please let me know if the filament change position to front left corner and z-axis +20mm up is okay. Original it is front mid point and just z-axis +2mm up which is a pain if you change filament at low heights. Disadvantage of it is if you change or runout filament at >180mm height then it will crash. Thinking about to change it, so depending of the the height of filament change or run out. Height <20mm the z-axis up will be +20 and >20mm will be +2 z-axis up. This should be the best of the two.

BTW: Do you think the additional PID Bed tuning and PreHeat change to PLA 1st option are helpful or should i drop them? Don't think you border about the German and Dutch translations 🙂

Posted : 25/07/2017 12:02 pm
3d-gussner
(@3d-gussner)
Reputable Member

New firmware version with filament runout sensor status under 'Calibration -> Show end stops'
https://github.com/3d-gussner/Prusa-Firmware/releases/tag/v3.0.12-FRSens_v1
You can also check out http://shop.prusa3d.com/forum/improvements-f14/wire-up-filament-sensor-to-mk2-use-thermister-circ-t2836-s30.html#p38077

Posted : 26/07/2017 1:06 pm
LaPointe
(@lapointe)
French moderator and translator Moderator

Nice! Thanks a lot for your work again.
I've done my firsts prints since this weekend and I will be soon able to make my run-out sensor.

Do you use the new M601/M602 commands for pausing the print?

Posted : 26/07/2017 4:27 pm
3d-gussner
(@3d-gussner)
Reputable Member


Nice! Thanks a lot for your work again.
I've done my firsts prints since this weekend and I will be soon able to make my run-out sensor.

Do you use the new M601/M602 commands for pausing the print?

Hi,

Great to hear you got your first prints going!!!

I just activated the default filament runout sensor option, modified the FR_SENS pin to y-max (24), modified the change position to front left corner and 20mm up, added sensor status to 'Calibration->Show end stops', and some other things...

As soon the sensor is triggered (signal to gnd) it starts the M600 gcode, which is filament change:
- moves to front left corner and 20mm up
- unloads the 'rest' filament
- starts to beep and waits for user interaction
- as soon you added/changed the filament and confirmed, it loads the filament
- ask if it is clear, loaded or not loaded
- by confirming clear it continues the print where it stopped

You can use this also for kind of manual layer based multicolor print 🙂

Posted : 26/07/2017 10:25 pm
3d-gussner
(@3d-gussner)
Reputable Member

New firmware version available with activated Linear Advance Integration!
Check https://github.com/3d-gussner/Prusa-Firmware/releases/tag/v3.0.12-2-FRSens

Posted : 02/08/2017 3:37 pm
3d-gussner
(@3d-gussner)
Reputable Member

New pre-release firmware available under https://github.com/3d-gussner/Prusa-Firmware/releases

Added an additional LCD menu 'Filament Sensor' under 'Settings' which can de-/active the filament runout sensor AND choose which kind of sensor you are using.

As said this is a pre-release and I hope getting feedback from you to get this option as a pull request into the default Prusa firmware.

Posted : 10/08/2017 2:42 pm
3d-gussner
(@3d-gussner)
Reputable Member

Hi,

if somebody is interested in the firmware 3.1.0-RC1 including hyperfine bed calibration, filament runout sensor via LCD menu and some other mods/fixes, checkout https://github.com/3d-gussner/Prusa-Firmware/releases

Waldemar aka 3d-gussner

Posted : 16/10/2017 5:38 pm
3d-gussner
(@3d-gussner)
Reputable Member
Page 1 / 2
Share:

Please Login or Register