Adding a heated bed need to modify the firmware

#1
Well I've printed a few PLA prints with great success but now I want to move on to more challenging materials like ABS, Nylon, and eventually speciality materials.

I've modified the Y carriage to carry the extra weight of the heated bed and glass print surface, I've purchased a PCB heatbed, 100k heatbed thermistor, and a solidstate relay so the heatbed can be powered by a separate atx power supply.

I've come to the point now where I need to modify Marlin to make use of the bed and control the heated bed temperature through Pronterface and eventually Octoprint.

I would like to power the bed through the D9 power output that is currently not being used as i only have a single extruder. I don't know how to assign D9 to the heated bed in the firmware. I also don't know how to assign the heated bed thermistor to the T2 position on the ramps board.

I know things need to be modified in pins.h and configuration.h but I don't know what specifically to set. I was hoping someone else here who has already added a heated bed to their printer could lend me some advice or perhaps be willing to share their firmware with me.

Thanks for reading my wall of text.
 
#2
You won't need to do anything special for OctoPrint, just plug it in and everything will work.

Open up Marlin.ino of the Single Extruder Firmware in the Arduino IDE. Of the first few tabs, you'll want to open up Configuration.h and specify the bed thermistor. Option 1 is Epcos, 5 is Semitec, and I'm sure whatever you've got is in the list.

Then you'll need to use the drop down to open pins.h. The bed pin is in here and good luck!
I'll actually take care of that for you as I have to deal with it for my Cohesion Upgrade Customers here. Get in touch and I'll do that as part of everything else.
 
#3
Ok I figured it out so for anyone coming here looking for answers here it is:

First if you know nothing about the Marlin firmware the printer uses watch these two videos from Thomas Sanladerer
Video 1 - https://www.youtube.com/watch?v=2RbcMvhatjU
Video 2 - https://www.youtube.com/watch?v=In93vVd1WDQ

Ok so now that you are somewhat familiar with Marlin firmware go to your configuration.h scroll down to #define TEMP_SENSOR_BED and change the 0 to 1. (Assuming you are using a standard 100k thermistor to measure temperature.

Next go to pins.h and do a Ctrl + F and search for 33. This will bring you to the section for Motherboard 33 which is what the Gmax is set to. Once in this section scroll down to #define HEATER_BED_PIN and set the value to 9. This means that you are telling the firmware to send power for the heated bed to D9 on your RAMPS board. Next in pins.h look for #define TEMP_BED_PIN and set this value to 15. This pin number corresponds to T2 on your RAMPS board. This will tell the firmware to look for a temperature reading from this port.

**DISCLAIMER -- Be sure to use a relay to power your bed with a separate power supply as a 16" x 16" heated bed draws too much power to be powered by the power supply that came with the Gmax.

You can now save the firmware and upload to your ramps board and you should be able to make use of your heated bed now in pronterface or octoprint or whatever you use to interface with your printer.

If you have any questions leave them here and I'll see if I can help, although I'm still figuring things out myself, I'll do my best to help you out.
 
#5
I milled a piece of .375" acrylic sheet to the same dimensions as the .25" lexan sheet that originally came on the gmax. In the .375" acrylic sheet I counter sunk the nylon bushing stand offs that the wheels ride against about .2" into the sheet. Sinking the bushings into the sheet keeps them from flexing out keeps the carriage from coming off the rails. Basically I made it so the carriage rides about .0325" above the aluminum extruded rail. Then I milled the bottom to give some clearance to the Y axis motor and the heads of the screws that attach the guide rails to the base.

I also used beefier aluminum extruded u channels to replace the little L channels that originally held the spring leveling mechanism.



 

mwu

New Member
#6
What size heated bed are you using? If you are using the 18"x18" monster heated bed, that 300W power supply may not be enough. I have been looking into doing this for a while and I discovered that the draw on that heated bed is about 40 amps which means about 480 watts. Also, most of the pre-made relay boards I've found online for heated beds will not work with that much power, so I would need to make my own. I've decided to hold off until I see the need for it. I printed Taulmann's t-glase without a heated bed just fine. Once I get more materials, I expect I will start to see some curling issues.
 
#7
I am using the 18" by 18" monster heated bed and that 300 watt power supply was laying around the office so I thought I would see if it could do the job. It only managed to get it up to 68 C. I purchased a Corsair RM1000 that I'm going to use to power the entire printer. 1000 watts should give me plenty of room to grow with this printer as I add a second extruder and whatever else that I might like to bolt on down the line. As for the relay I just purchased a 40amp solid state relay off of ebay it was only 14 bucks.
 
#9
Ok I figured it out so for anyone coming here looking for answers here it is:

First if you know nothing about the Marlin firmware the printer uses watch these two videos from Thomas Sanladerer
Video 1 -
Video 2 -

Ok so now that you are somewhat familiar with Marlin firmware go to your configuration.h scroll down to #define TEMP_SENSOR_BED and change the 0 to 1. (Assuming you are using a standard 100k thermistor to measure temperature.

Next go to pins.h and do a Ctrl + F and search for 33. This will bring you to the section for Motherboard 33 which is what the Gmax is set to. Once in this section scroll down to #define HEATER_BED_PIN and set the value to 9. This means that you are telling the firmware to send power for the heated bed to D9 on your RAMPS board. Next in pins.h look for #define TEMP_BED_PIN and set this value to 15. This pin number corresponds to T2 on your RAMPS board. This will tell the firmware to look for a temperature reading from this port.

**DISCLAIMER -- Be sure to use a relay to power your bed with a separate power supply as a 16" x 16" heated bed draws too much power to be powered by the power supply that came with the Gmax.

You can now save the firmware and upload to your ramps board and you should be able to make use of your heated bed now in pronterface or octoprint or whatever you use to interface with your printer.

If you have any questions leave them here and I'll see if I can help, although I'm still figuring things out myself, I'll do my best to help you out.
thank you i needed this.