Filament monitor

Thoughts about Raise3D, 3D printing and making in general.
sylus
Posts: 108
Joined: Fri Aug 05, 2016 9:47 pm

Re: Filament monitor

Postby sylus » Sun Jan 08, 2017 2:19 pm

swampy wrote:on about supporting kick starter programs anyone looked at this https://www.kickstarter.com/projects/10 ... =home_recs

This type of encoder already exist ( not for Marlin but repetier)
https://www.genapart.com/accueil/infos-détecteur/

User avatar
Noren
Posts: 479
Joined: Sat Nov 26, 2016 12:54 am
Location: Borås, Sweden
Contact:

Re: Filament monitor

Postby Noren » Sun Jan 08, 2017 2:24 pm

Wouldn't the easiest solution be to have micro switch that presses slightly against the filament after the spool. And the the filament runs out. The switch is triggered and cuts power to the printer. Thus using the printers backup feature to start again after a filament change. A bit ugly I know. But would be quite effective and easy to implement. And works without any firmware changes or added processes.

User avatar
Julia Truchsess
Posts: 241
Joined: Mon Mar 21, 2016 1:30 pm
Location: Connecticut
Contact:

Re: Filament monitor

Postby Julia Truchsess » Sun Jan 08, 2017 2:47 pm

Noren wrote:Wouldn't the easiest solution be to have micro switch that presses slightly against the filament after the spool. And the the filament runs out. The switch is triggered and cuts power to the printer. Thus using the printers backup feature to start again after a filament change. A bit ugly I know. But would be quite effective and easy to implement. And works without any firmware changes or added processes.


Interesting idea! If you cut the mains power it would require working with hazardous voltage, but cutting the DC supply would be simple and safe.

firesped
Posts: 854
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Filament monitor

Postby firesped » Sun Jan 08, 2017 3:14 pm

walshlg wrote:Its an interesting engineering problem. A fundamental limitation of small controller computers is that you send a buffer load of gcode at a time. There is no feedback as to where you are in that gcode at any moment.



that is actually not true, the touchscreen is getting feedback on where the motion board is based on what it has sent.
RL name: Michael Nolen
printers:
raise3D N2 kickstarter Early Bird
Trinus Deluxe (running smoothieware on Azteeg X5 GT board)
Monoprice Maker Select v2

firesped
Posts: 854
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Filament monitor

Postby firesped » Sun Jan 08, 2017 3:27 pm

in order to get anything past a printer crash, reboot and restart print will require R3D to modify the touchscreen to acknowledge the printer has run out of filament.
RL name: Michael Nolen
printers:
raise3D N2 kickstarter Early Bird
Trinus Deluxe (running smoothieware on Azteeg X5 GT board)
Monoprice Maker Select v2

Jetguy
Posts: 3085
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: Filament monitor

Postby Jetguy » Sun Jan 08, 2017 3:28 pm

I cannot condone that idea of just cutting AC or DC power. This is extremely hard on the electronics as the system has a fair amount of bulk capacitance and thus inrush surge currents.

#1 Switches and relays have contact bounce. That coupled with the low ESR capacitors and natural inductance of the board and wiring for the stepper drivers will set up huge power spikes and likely begin blowing electronics. https://www.pololu.com/docs/0J16/all
Basically, you should never ever put a switch or relay in series between a DC PSU and stepper electronics- let alone massive heater loads like the heated bed and dual 40 was extruder heaters.

#2 There was already one example in the forum of a user who had bad AC power that dropped repeatedly and that caused the internal fuse to blow via inrush. Even Meanwell, the power supply manufacturer, recommends to limit time between power on and power off cycles to the AC input. I've said it several times, it is imperative to control how you turn off and on the machine in a controlled state.

All I'm saying is, just slapping together some DIY parts or a relay, hooking up a detection switch and calling it good is a bad way to cause problems with this system. You aren't properly rating and engineering a solution, Many folks have not done the homework on the system components, certainly all of this should be warned against by Raise 3D from a warranty and support view. Yes, something as simple as a relay or switch could cause more problems and damage in ways you may not be aware of. Just dropping power mid print on purpose is not a good plan in the hope that you can trigger to recover a print.

I do want to a see a triggered pause implemented via a known pin so we can accomplish this, but I want it done right, properly controlled and handled in software with full error handling and proper checks and shutdown.
Again, a simple protocol. A command that can be sent from the Marlin firmware that is read by the pcDuino front end GUI code that triggers a pause on the LCD. This allows the user to load filament as required, and then resume as if it was a pause commanded by the user. I would prefer not to use the GPIO on the pcDuino because it's limited to 3.3V logic and could be damaged and thus brick the printer. By limiting the connection to the motion board which is replaceable and sold in the store, we can prevent users from damaging the system.

Jetguy
Posts: 3085
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: Filament monitor

Postby Jetguy » Sun Jan 08, 2017 4:00 pm

And, before we all get too far down this path, don't forget, Firmware 1.1.1, the current "official" firmware for the motion control board has a built in timeout that will disable the steppers during a pause that lasts longer than 1 minute. If the steppers disable, there is a good chance your print will be shifted upon resume from a true pause on that firmware even if you don't bump the extruder head.
The motion board does not know what "pause" is. It just gets commands streamed to it and when they stop for a period of time, it times out on that firmware.

Just trying to explain that there is a lot to this system, there are some caveats even today on official firmware that could cause a pause and resume to work less than ideally.

Resume from power loss re-homes XY and assumes Z axis had enough friction to not move while unpowered. Even that could be a bad assumption depending on your printer specific mechanics. You cannot home Z because you have stuff on the platform.

What I'm saying is, while power loss recovery and pause and resume are all great features, nobody should depend on them on a regular basis. They are nice to have options and if they save a print, great, but there is no guarantee it will resume every time or even be a good recovery. It's risky at best. You shouldn't be intentionally invoking it.

User avatar
Noren
Posts: 479
Joined: Sat Nov 26, 2016 12:54 am
Location: Borås, Sweden
Contact:

Re: Filament monitor

Postby Noren » Sun Jan 08, 2017 4:13 pm

Ok ok ok. :). Forget what I said. It was just a thought. I'm no engineer. Apparently. ;)

User avatar
woofy
Posts: 98
Joined: Sun Jun 12, 2016 4:09 pm

Re: Filament monitor

Postby woofy » Sun Jan 08, 2017 5:29 pm

Cutting power would not work for me. I print pla on glass and cutting power would cut bed heating. The print will unstick and will not re-stick when reheated.
Raise3D N2+, Ultimaker2 & UP plus printers.

User avatar
basilfawlty
Posts: 69
Joined: Sat Aug 06, 2016 5:29 am

Re: Filament monitor

Postby basilfawlty » Tue Jan 10, 2017 6:53 pm

woofy wrote:Cutting power would not work for me. I print pla on glass and cutting power would cut bed heating. The print will unstick and will not re-stick when reheated.


Good point. I considered doing something with a smart switch and ifttt but I'd have the same issue with the ABS that I print with.
Raise3D N2+

tja
Posts: 191
Joined: Mon Oct 17, 2016 10:24 pm
Location: Essex, UK

Re: Filament monitor

Postby tja » Tue Jan 17, 2017 11:32 pm

Interesting topic. My background is R&D and it seems to me that filament movement detection is the easy part. I just tried running a piece of filament under my optical mouse and it had no trouble detecting very small movements and if Microsoft can do it anybody can (that's a joke btw). So IMO, optical detection is the only way to go, not the kickstarter project approach referenced above.

I agree with Julia that filament out detection is >90% of the problem solved. Clog detection is a nice-to-have feature, but today we have absolutely nothing and anything is better than nothing where time and material wastage is concerned. I would want it to auto pause and sound a loud alarm, so I can change reels and hit resume. Vicky and team can we have that now please?

sophet
Posts: 1
Joined: Wed Jul 05, 2017 7:57 am

Re: Filament monitor

Postby sophet » Wed Jul 05, 2017 8:01 am

Please give us a firmware that would go into pause if the pin was trigger to allow a DIY sensor to at least detect the filament out? We can homemake for it.

User avatar
Vicky@Raise3D
Posts: 6915
Joined: Fri Mar 25, 2016 3:54 am

Re: Filament monitor

Postby Vicky@Raise3D » Thu Jul 06, 2017 1:27 am

Noted, will contact our engineer to prepare one.

Jetguy
Posts: 3085
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: Filament monitor

Postby Jetguy » Thu Jul 06, 2017 11:48 am

Just to help better shape this request:
#1 we are looking for a Raisepack LCD Touch update and a matching Marlin update.
#2 The Raisepack LCD touch is the most important part as we already have the open source Marlin and can make edits, however the LCD touch software is closed source and we cannot add the feature.
#3 The feature must be such that the LCD Touch gcode streaming software is looking for a specific gcode reply from Marlin indicating a requested pause condition. This can either be a separate pause gcode command OR reuse the existing gcode command but bottom line, the streaming engine is listening for this on the serial connection interface from Marlin.
#4 Publish that gcode command number command and usage instruction.

firesped
Posts: 854
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Filament monitor

Postby firesped » Thu Jul 06, 2017 12:08 pm

the firmware really need to move forward to official marlin 1.1.0 as well. all of these functionality requests is already completed in that firmware. trying to update the older firmware based on 1.0.2 is just going to lead to headaches.
RL name: Michael Nolen
printers:
raise3D N2 kickstarter Early Bird
Trinus Deluxe (running smoothieware on Azteeg X5 GT board)
Monoprice Maker Select v2

User avatar
Vicky@Raise3D
Posts: 6915
Joined: Fri Mar 25, 2016 3:54 am

Re: Filament monitor

Postby Vicky@Raise3D » Fri Jul 07, 2017 2:29 am

Will back your suggestions to our R&D department and make an inner discussion first.
Then share more details on next Monday.

User avatar
Vicky@Raise3D
Posts: 6915
Joined: Fri Mar 25, 2016 3:54 am

Re: Filament monitor

Postby Vicky@Raise3D » Fri Jul 14, 2017 10:34 am

Attached source code of motion board firmware including out-of filament sensor.
And here is the download link of touchscreen firmware to match with this motion board firmware: https://s3.amazonaws.com/ideamaker/touc ... .raisepack

Here shows which slots on motion board to use, Y max for T0 (left nozzle), Z max for T1 (right nozzle).
Please use sensors normally closed for this. We define Close as no filament, On as has filament there.
1.png
Attachments
Marlin-Raise3D-N-Series-master_with_Lack_of_material_testing.rar
(4.09 MiB) Downloaded 253 times

firesped
Posts: 854
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Filament monitor

Postby firesped » Fri Jul 14, 2017 9:37 pm

I got it pulled up in my GitHub so I can see the changes. some files are working others are not. I am going to work on implementing this code base into the 1.2.x firmware so it will function the same. however, I do plan to add a setting to allow for both Normally Closed or Normally Open endstops. Just to note, I am not sure an optocal endstop will work. to use that, I think you may need to use the P2 connector.

just figured out what I did wrong. I uploaded the files to the wrong place. have that corrected now so compare is working.
looking at the code, it already allows for inverting of the endstop logic. less I have to fix
RL name: Michael Nolen
printers:
raise3D N2 kickstarter Early Bird
Trinus Deluxe (running smoothieware on Azteeg X5 GT board)
Monoprice Maker Select v2

Jetguy
Posts: 3085
Joined: Tue Mar 22, 2016 1:40 am
Location: In a van, down by the river

Re: Filament monitor

Postby Jetguy » Sat Jul 15, 2017 8:42 pm

FYI, this error message came up when I use the latest Arduino IDE. It's simply fix as explained here. http://forums.reprap.org/read.php?146,6 ... msg-699987
There is another workaround. You can still use the new versions of Arduino like 1.6.10.

Rename fpos_t variables in SdBaseFile.h and SdBaseFile.cpp to another name like fpos_t1 and recompile. Problem is in C++ you can not use typedef and struct for the same varibale name.

fpos_t is already defined in stdio.h which is a hardware library file for arduino.


Again, if you get this error message "error: using typedef-name 'fpos_t' after 'struct'" in your IDE you can use the find function under edit and do a find and replace.
fpost_t rename.jpg

firesped
Posts: 854
Joined: Mon Mar 21, 2016 9:23 pm
Location: Tucson, AZ

Re: Filament monitor

Postby firesped » Sun Jul 16, 2017 1:52 am

it's a complier error, newer Arduino compiler is using that name, so it has to be renamed.

that does't even cover the fact that the TRP is technically still broken in that firmware btw.
RL name: Michael Nolen
printers:
raise3D N2 kickstarter Early Bird
Trinus Deluxe (running smoothieware on Azteeg X5 GT board)
Monoprice Maker Select v2


Return to “General”

Who is online

Users browsing this forum: No registered users and 2 guests