Welcome! Log In Create A New Profile

Advanced

Use 3D-printer for other purpose

Posted by diegie 
Use 3D-printer for other purpose
January 13, 2023 04:04AM
Hi everyone,

I recently bought a simple 3D-printer (Geeetech Prusa i3 Pro) because I wanted to create a heating box for glue cartridges.
It was easier to buy a simple 3D-printer than to buy all parts seperate.

So what is left of the 3D-printer is the power supply, the heating bed and the nozzle temperature sensor.

I'm now trying to achieve the following, if possible, with GCODE commands:

Heat the bed to x°C until the nozzle temp sensor reaches y°C.
If nozzle temp sensor drops below that temp, it should use the heated bed to keep the temp at a certain point (=y).
It should do this for 60 min and after that it can stop.

Is something like this possible?

Edited 1 time(s). Last edit at 01/13/2023 04:12AM by diegie.
Re: Use 3D-printer for other purpose
January 13, 2023 04:48AM
You would need a controlling program or modify the firmware to do that

beds and hotends are separate things...


"Heat the bed to x°C until the nozzle temp sensor reaches y°C." doesn't make much sense

"Heat the bed to x°C and If nozzle temp sensor drops below that temp, it should use the heated bed to keep the temp at a certain point (=y)".

But this means x°C would be exceeded
Re: Use 3D-printer for other purpose
January 13, 2023 05:09AM
I use the heated bed to warm up the compartiment and use the nozzle temp sensor to monitor the compartiment temp.

What I have now for example is:

M140 S90; set bed temp to 90°C
M109 R30; keep heating until 30°C is reached
G4 S900; pause for 15 min, M109 will increase up to 38-40°C
M140 S60; set bed temp to 60°C to keep M109 temp around 40°C
M109 R40;
G4 S1800; pause for 30 min
Re: Use 3D-printer for other purpose
January 13, 2023 06:59AM
Is this correct?
  • You have a chamber.
  • You want to control the chambers temperature.
  • You're using the bed heater to heat the chamber
  • You want to use the former extruder's temperature sensor to sense the chamber temperature.

Use the M141 and M191 commands to control the chamber temperature.

Setup the configuration.h file like this:
  • EXTRUDERS 0
  • TEMP_SENSOR_CHAMBER 1
  • TEMP_SENSOR_0 0
  • TEMP_SENSOR_BED 0
  • TEMP_CHAMBER_RESIDENCY_TIME ??
  • enable PIDTEMPCHAMBER
  • enable THERMAL_PROTECTION_CHAMBER

You'll need to define the pin that controls the chamber heater and the pin used for the chamber temperature sensor. There's two ways of doing this (use only one). The following assumes that the MOTHERBOARD setting is either BOARD_GT2560_REV_A or BOARD_GT2560_REV_A_PLUS.
  • In the file pins_GT2560_REV_A.h add the lines #define TEMP_CHAMBER_PIN 8 // use TEMP_0_PIN and #define HEATER_CHAMBER_PIN 4 // use HEATER_BED_PIN
  • In the file configuration_adv.h enable HEATER_CHAMBER_PIN and set it to 8 // use TEMP_0_PIN. Then immediately after add the line #define HEATER_CHAMBER_PIN 4 // use HEATER_BED_PIN
Re: Use 3D-printer for other purpose
January 13, 2023 10:46AM
This is absolutely correct!
I will try it this weekend and keep you updated.
Thanks you!

Quote
[email protected]
Is this correct?
  • You have a chamber.
  • You want to control the chambers temperature.
  • You're using the bed heater to heat the chamber
  • You want to use the former extruder's temperature sensor to sense the chamber temperature.

Use the M141 and M191 commands to control the chamber temperature.

Setup the configuration.h file like this:
  • EXTRUDERS 0
  • TEMP_SENSOR_CHAMBER 1
  • TEMP_SENSOR_0 0
  • TEMP_SENSOR_BED 0
  • TEMP_CHAMBER_RESIDENCY_TIME ??
  • enable PIDTEMPCHAMBER
  • enable THERMAL_PROTECTION_CHAMBER

You'll need to define the pin that controls the chamber heater and the pin used for the chamber temperature sensor. There's two ways of doing this (use only one). The following assumes that the MOTHERBOARD setting is either BOARD_GT2560_REV_A or BOARD_GT2560_REV_A_PLUS.
  • In the file pins_GT2560_REV_A.h add the lines #define TEMP_CHAMBER_PIN 8 // use TEMP_0_PIN and #define HEATER_CHAMBER_PIN 4 // use HEATER_BED_PIN
  • In the file configuration_adv.h enable HEATER_CHAMBER_PIN and set it to 8 // use TEMP_0_PIN. Then immediately after add the line #define HEATER_CHAMBER_PIN 4 // use HEATER_BED_PIN
Re: Use 3D-printer for other purpose
January 23, 2023 09:19PM
Attached are the latest changes. A lot more work than I expected.

There are five changed files and two BIN files:
  • \Marlin\Configuration.h
  • \Marlin\Configuration_adv.h
  • \Marlin\src\inc\SanityCheck.h
  • \Marlin\src\pins\mega\pins_GT2560_REV_A.h
  • \Marlin\src\module\temperature.cpp
  • firmware_2560.hex
  • firmware_1280.hex

Use firmware_2560.hex if your CPU is a 2560. Use firmware_1280.hex if your CPU is a 1280.
Attachments:
open | download - Godderie_try_2.zip (274.9 KB)
Re: Use 3D-printer for other purpose
February 04, 2023 11:49AM
GCode is a very limited assembly-style language. I am afraid that your wishes to fully programmably control a 3D printer is still very far into the future. Programming in the Marlin software model to do that is a bad idea because you need embedded development experience and can easily crash the thing. What I would love to see Marlin support is compilable programming languages that output machine code of the target platform but are as high level as for example Lua. Until then you cannot expect to go beyond GCode output from slicing tools. Don't expect too much!

If you wish to support my cause by donating to me and I get enough from the community that motivates me then I could do it. I have the know-how but you see certain prerequisites have to be met aswell. ^^

Edited 1 time(s). Last edit at 02/04/2023 11:50AM by The_GTA.


Martin Turski, company owner of EirDev

Support me in my duties! Improve the world through scientific accuracy and ingenuity.
Sorry, only registered users may post in this forum.

Click here to login