Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
3dcase

Change filament trigger wanted

Recommended Posts

Hi,

I have a question, someone might know an answer, to get me in the right direction, even perhaps a solution.

Let's say I have to run 10 Ultimakers1, all with ulticontroller, all with the latest firmware that came with cura 14.01. Using the new Change filament option a few times a day, Big 0.8mm nozzle, 0,4mm layers.

In my simple mechanical mind, it might be possible to trigger the change filament function, not only by choice in the ulticontroller menu, but also from a outside switch input signal.

Is it possible to make something happening with a outside input?

Taking a shit gave me the setup for triggering a switch to detect between reel and feeder if there is filament or not, snapped, or end of roll. connect a horn or lamp, and you've got your warning. that's the simple part

But it would awesome if you could trigger the change filament function, I bet that's faster than running to the machine and do it manually.

Will that be possible?

push in the right direction, very welcome :)

Regards Kees

 

Share this post


Link to post
Share on other sites

I deleted the other copy of this post in the other area of the site.

The 'Change Filament' command in the ulticontroller just sends an M600 gcode which triggers the filament change. So if you have the printers connected to USB input (or a network enabled device e.g., via Octoprint) you can send the M600 to it remotely whenever you want.

 

Share this post


Link to post
Share on other sites

I deleted the other copy of this post in the other area of the site.

The 'Change Filament' command in the ulticontroller just sends an M600 gcode which triggers the filament change. So if you have the printers connected to USB input (or a network enabled device e.g., via Octoprint) you can send the M600 to it remotely whenever you want.

 

Thanks for the answer, but I think you lost me already :(.

Might be a 'fuzzy' question for someone who is totally familiar with the electronics and software.

I'm able to change my gcodes to switch the heater fans, and change a T0 to a T1 code to use the 2nd heater, but that is it.

I can come up with the switch to detect, but I want a way to push the ulticontroller button, go to the tune->changefilament option and push the 'button' again.

Tonight I will plane a consult with my 35 years younger nephew, who is more in the arduino like things as I am.

 

Share this post


Link to post
Share on other sites

When you select the change filament option in the controller, all it does is tell the printer to pretend it saw an 'M600' command in the gcode.

The 'M600' is what actually triggers the change process. You don't have to press any buttons, just find a way to send the M600 command yourself.

There are two ways to print something - by loading the gcode to an SD card, or streaming the commands over a USB connection using Cura, Pronterface, etc. Even when printing from SD, the USB interface is still monitored, so you can send gcode commands via that to change speed, temp etc. Or you can send an M600 to tell the printer to do a filament change.

So, you need to have your filament change trigger tell a computer to send an M600 command to the printer.

Alternatively if it's a physical sensor on the printer, then you can just wire its output up to a spare input pin on the electronics board, and fairly easily hack the firmware to listen out for that pin being activated and then have the firmware trigger the M600 command itself, exactly as it does when you pick it from the menu.

Share this post


Link to post
Share on other sites

Thanks!!!

I'll check out your last option!

For now we are working with 1 cura setup and 1 profile, a queue of Gcodes on the SDcards, insert the card in the first printer that's done. So they are all stand alone printers.

I'm sure the setup and workflow could be more automated and monitored, but for being it a 2 month project, I guess the direct approach fits best.

I'm glad with the spare input being on the board.

Tonight I have to read into that direction...

 

Share this post


Link to post
Share on other sites

You would need to make custom changes to the firmware anyways - if you connect a switch to the Arduino (provided there's a free Input left) you still have to program the function that translates "button pressed" into "M600". That should be fairly easy, though...

I wondered myself whether there are any free I/Os left on the Arduino? I'd have several uses I wanted to implement before but it can get very tricky if you have to work with a "foreign" software design...

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Our picks

    • Taking Advantage of DfAM
      This is a statement that’s often made about AM/3DP. I'll focus on the way DfAM can take advantage of some of the unique capabilities that AM and 3DP have to offer. I personally think that the use of AM/3DP for light-weighting is one of it’s most exciting possibilities and one that could play a key part in the sustainability of design and manufacturing in the future.
        • Like
      • 3 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!