Heating extruder only on printing moves
-
- Posts: 32
- Joined: Tue May 13, 2014 3:24 pm
Heating extruder only on printing moves
For a specific application, I would like to power the extruder heater only during printing and power off for travel moves.
For example:
M104 S0
G1 F...
G1 .........
M104 S200
G1 ......... F.... E....
I tried search and replace but it is difficult.
Is it possible to do this with custom g code? I have not found it possible so far.
Cheers
For example:
M104 S0
G1 F...
G1 .........
M104 S200
G1 ......... F.... E....
I tried search and replace but it is difficult.
Is it possible to do this with custom g code? I have not found it possible so far.
Cheers
Re: Heating extruder only on printing moves
Because the hot end's thermal time constant is on the order of tens of seconds, its temperature won't change much while the nozzle moves from the end of one extrusion to the start of the next. Because the extrusion properties of molten plastic change dramatically with temperature, nobody's ever regarded intermittently cooling the hot end to be a Good Thing.Asadinator wrote:For a specific application
AFAICT, what you want to do lies far enough beyond "normal" 3D printing that you're on your own.
However, you could use a digital output pin as a switch to control the power through a relay / external MOSFET, then post-process the G-Code to wrap "off" and "on" commands (perhaps M42) around each non-printing motion. Using a separate bit avoids having to save-and-restore the temperature while switching the hot end, which should simplify the post-processor.
I'd start with sed, but identifying non-printing moves may require more smarts than a regex can supply.
-
- Posts: 32
- Joined: Tue May 13, 2014 3:24 pm
Re: Heating extruder only on printing moves
Thanks Ed
What I am doing is not a FDM process, so instantaneous response is achievable for intended purposes.
Instead of an extruder, I’m powering an ultrasound transducer via other circuitry. Just need to turn on or off with printing moves, which I was hoping the power could be supplied from Rambo, but switching mode PSU has given problems as per other thread.
What I am doing is not a FDM process, so instantaneous response is achievable for intended purposes.
Instead of an extruder, I’m powering an ultrasound transducer via other circuitry. Just need to turn on or off with printing moves, which I was hoping the power could be supplied from Rambo, but switching mode PSU has given problems as per other thread.
Re: Heating extruder only on printing moves
You might be able to use Marlin's "DISABLE_E" configuration option, which will disable the stepper driver immediately when it's not being used.
You can then swap the E0_ENABLE and HEATER_0_PIN numbers in pins_RAMBO.h. Make sure your TEMP_SENSOR_0 is 999, and TEMP_SENSOR_BED set to 998, and DUMMY_THERMISTOR_999_VALUE set to 180C.
This should make the heater pop on immediately when trying to move the extruder, which would be any G1 command using an "E" value.
You can then swap the E0_ENABLE and HEATER_0_PIN numbers in pins_RAMBO.h. Make sure your TEMP_SENSOR_0 is 999, and TEMP_SENSOR_BED set to 998, and DUMMY_THERMISTOR_999_VALUE set to 180C.
This should make the heater pop on immediately when trying to move the extruder, which would be any G1 command using an "E" value.
Custom 3D printing for you or your business -- quote [at] pingring.org
-
- Posts: 32
- Joined: Tue May 13, 2014 3:24 pm
Re: Heating extruder only on printing moves
Thanks! I’ll try what you suggested.insta wrote:You might be able to use Marlin's "DISABLE_E" configuration option, which will disable the stepper driver immediately when it's not being used.
You can then swap the E0_ENABLE and HEATER_0_PIN numbers in pins_RAMBO.h. Make sure your TEMP_SENSOR_0 is 999, and TEMP_SENSOR_BED set to 998, and DUMMY_THERMISTOR_999_VALUE set to 180C.
This should make the heater pop on immediately when trying to move the extruder, which would be any G1 command using an "E" value.
-
- Posts: 32
- Joined: Tue May 13, 2014 3:24 pm
Re: Heating extruder only on printing moves
And how long does E0_ENABLE remain on for? For just that G1 line or until any G1 line without E?insta wrote:You might be able to use Marlin's "DISABLE_E" configuration option, which will disable the stepper driver immediately when it's not being used.
You can then swap the E0_ENABLE and HEATER_0_PIN numbers in pins_RAMBO.h. Make sure your TEMP_SENSOR_0 is 999, and TEMP_SENSOR_BED set to 998, and DUMMY_THERMISTOR_999_VALUE set to 180C.
This should make the heater pop on immediately when trying to move the extruder, which would be any G1 command using an "E" value.
Re: Heating extruder only on printing moves
I got you that farAsadinator wrote:And how long does E0_ENABLE remain on for? For just that G1 line or until any G1 line without E?insta wrote:You might be able to use Marlin's "DISABLE_E" configuration option, which will disable the stepper driver immediately when it's not being used.
You can then swap the E0_ENABLE and HEATER_0_PIN numbers in pins_RAMBO.h. Make sure your TEMP_SENSOR_0 is 999, and TEMP_SENSOR_BED set to 998, and DUMMY_THERMISTOR_999_VALUE set to 180C.
This should make the heater pop on immediately when trying to move the extruder, which would be any G1 command using an "E" value.
Custom 3D printing for you or your business -- quote [at] pingring.org
Re: Heating extruder only on printing moves
At the risk of asking too much, then why are you basing whatever you're doing on hardware and a toolchain specifically designed for FDM-style 3D printing?Asadinator wrote:What I am doing is not a FDM process
If you're scanning the transducer at a fixed height in a pattern on the XY plane, perhaps G-Code generated specifically for your purpose would be simpler and better than hacked G-Code intended for a 3D printer.
-
- Posts: 32
- Joined: Tue May 13, 2014 3:24 pm
Re: Heating extruder only on printing moves
I’m not skilled enough to start from scratchednisley wrote:At the risk of asking too much, then why are you basing whatever you're doing on hardware and a toolchain specifically designed for FDM-style 3D printing?Asadinator wrote:What I am doing is not a FDM process
If you're scanning the transducer at a fixed height in a pattern on the XY plane, perhaps G-Code generated specifically for your purpose would be simpler and better than hacked G-Code intended for a 3D printer.
Re: Heating extruder only on printing moves
No shame there, because nobody starts out knowing this stuff ...Asadinator wrote:I’m not skilled enough to start from scratch :D
A cheap Chinese CNC machine kit (considerable assembly required) from Amazon (cheaper elsewhere, your choice):
https://www.amazon.com/Control-Engravin ... B07169D9JQ
You get about the same work area as the M2, a platform intended to hold down parts, a junk spindle you won't need, a crappy stepper controller with backlevel GRBL, and bag of "engraving bits", all for just over $200. Toss the crap you won't need in a drawer, assemble the rest, and verify that it more-or-less works.
Control the ultrasonic head with a solid-state relay attached to the spindle enable output, so you get easy G-Code control over the thing. If it has a PWM intensity input, the spindle speed control will do that for you, too.
Reflash the controller with current GRBL to get a solid G-Code parser & motion controller:
https://github.com/gnea/grbl
Now you have a low-end CNC machine with enough accuracy & speed for your purposes. The newer versions of GRBL include a "laser mode" that may be useful with an ultrasonic head.
If you're moving the head in geometric patterns or tracing shapes, then you can probably generate the G-Code algorithmically. Fetch the G-Code Meta Compiler:
http://www.vagrearg.org/content/gcmc
Generate G-Code with a semi-high-level language and move on.
It'll take some learning, but doesn't require working around the limitations of Marlin, a 3D printer tool chain, and a hacked M2. The problems you solve will be directly related to doing what you want done, not battering software into doing something it's not designed to handle and figuring whether it's your design or battered code falling off the rails.
Bonus: this keeps the M2 operational so you can make the parts to bolt the ultrasonic head on the CNC spindle mount.
Well, 24 V times the 2-3 A you mentioned rounds off to 75 W, soooo ... [grin]funnily at 75W as you mentioned