How to configure Marlin Firmware yourself? Heated print bed problem

I
isphording90 Cura Commander Level: 19 Points: 327
Posts: 48

Posted by
I
isphording90

Posted Apr 21, 2013 - 4:56 AM  

Hi there,

at the moment I'm building a heated bed for my ultimaker. But Daids Marlin Builder ist not working at the moment and I don't really know how to configure the Firmware myself and install it on the ultimaker.

Is there anyone who has a Tutorial for that or or can tell me how to do this?

What I already know is that I can install firmware through Cura but don't know where to change the code and how to compile it to make it installable...

I have the newest electronics (1.5.7) and used an epcos 100k thermistor.

Or is there even someone who already has a working Marlin build for a heated bed with an epcos thermistor and would share it with me?

I have never done something like this and would be very greateful for any kind of help!

Regards,

Lukas

I
isphording90 Level 19 - Cura Commander
Posted by
I
isphording90

Posted Apr 21, 2013 - 5:20 AM

I already installed the arduino 0022 version like told in the wiki and downloaded the source code from

https://github.com/ErikZalm/Marlin

But now i don't know how to continue? What do I have to change in the code? Do i have to upload the new firmware through arduino like said in the wiki or can I also somehow compile it as a hex file and install it via cura?

I
illuminarti Moderator
Posted by
I
illuminarti

Posted Apr 21, 2013 - 1:20 PM

If you have the arduino software installed, then you need to find the 'Makefile' inside of the inner Marlin directory, and read and edit the start of that. Set the motherboard to type 7, and set the Arduino install path, avr tools path, and arduino version.

Then from a command prompt, if you change into that Marlin directory, and then type 'make' it should compile the firmware. You'll be left with a .hex file in the applet subdirectory. You an then use cura to upload that firmware as a custom hex file.

To get the settings you want, you will need to edit the configuration.h and possibly configuration_adv.h files. In spite of what the wiki says, you might be better off starting from the Ultimaker/Marlin fork on github - it has more Ultimaker friendly settings as the default.

If you do use the ErikZalm version (which is the official 'any printer' version of Marlin, and so may have a few non-ultimaker-relevant updates, and non-ultimaker default settings) at the very least you will want to uncomment a line in order to enable the Ulticontroller if you have one (see the latter stages of a google group discussion yesterday: https://groups.google.com/...nWvJp7w/ssStjjfTJrAJ )

gr5 Moderator
Posted by
gr5

Posted Apr 21, 2013 - 3:13 PM

configuration.h is pretty easy to edit but to be sure to get it right, I recommend grabbing a few. Get the one from github/ultimaker/marlin and try to use daid's web page to create one (configuration.h). Then compare the 3 configuration files, plus read it and I think it's pretty clear what you want to do.

Also look at the thermistertables .h file to make sure you have the right thermistor selected. It's pretty simple.

You can use illuminarti's command line "make" method above or you can use only the IDE (the gui) and do it that way. If you google "how to build marlin for arduino" or something similar, there are detailed directions.

Oh - daid's page is here - only use it for configuration.h:

http://daid.mine.nu/~daid/marlin_build/

I
isphording90 Level 19 - Cura Commander
Posted by
I
isphording90

Posted Apr 21, 2013 - 4:14 PM

I downloaded the source from https://github.com/Ultimaker/Marlin but can't find a Marlin.pde file to open the project in arduino? Is that correct?

I
isphording90 Level 19 - Cura Commander
Posted by
I
isphording90

Posted Apr 21, 2013 - 5:33 PM

Never mind, I found a version with the Marlin.pde file. But when I compare the configuration.h file from github with the one from the broken builder than there are things I can't find. For example: #define THERMISTORBED 6 is from the broken builder but is not in the version from github.

The only thing I really found was that I have to change

#define TEMP_SENSOR_BED 0 to #define TEMP_SENSOR_BED 6.

Is that correct? I'm really just asking this much because I don't want to do something wrong and harm my ultimaker... ops:

T
tigrouxmaker Level 19 - Cura Commander
Posted by
T
tigrouxmaker

Posted Apr 22, 2013 - 5:26 AM

This is strange...

When i generate the config file i got :

#define TEMP_SENSOR_BED 1

#define BED_USES_THERMISTOR

#define THERMISTORBED 1

For an 100k thermistor...

See ya.

V
vincentp Level 18 - Cura Commander
Posted by
V
vincentp

Posted Apr 22, 2013 - 10:43 AM

I'm in the same situation, I'm going to try the above.

However, I didn't see defined on WHICH temp sensor input the heated bed is defined ? ultimaker wiki suggests that you can use either temp sensor input #2 or #3, is there one set by default in the firmware ? or something to change in the config.h file ?

thanks !

I
isphording90 Level 19 - Cura Commander
Posted by
I
isphording90

Posted Apr 22, 2013 - 4:55 PM

@TigrouxMaker

If you read the Configuration.h file there is a commented part with a table with all numbers for the thermistors. There you can read that 1 (as in #define THERMISTORBED 1) stands for 100k thermistors. So nothing strange there. For a 100k thermistor the settings are ok.

@ vincentp

If you don't want to change anything to the firmware than you have to use sensor input #3 for the heat bed (as shown in the picture in the ultimaker wiki). Sensor input #2 is made for a second extruder.

gr5 Moderator
Posted by
gr5

Posted Apr 22, 2013 - 10:53 PM

@TigrouxMaker

If you read the Configuration.h file there is a commented part with a table with all numbers for the thermistors. There you can read that 1 (as in #define THERMISTORBED 1) stands for 100k thermistors. So nothing strange there. For a 100k thermistor the settings are ok.

No!!! "6" is also a 100k thermister and that is the epcos one.

I
isphording90 Level 19 - Cura Commander
Posted by
I
isphording90

Posted Apr 23, 2013 - 2:57 AM

Quote from configuration.h:

//===========================================================================

//=============================Thermal Settings ============================

//===========================================================================

//

//--NORMAL IS 4.7kohm PULLUP!-- 1kohm pullup can be used on hotend sensor, using correct resistor and table

//

//// Temperature sensor settings:

// -2 is thermocouple with MAX6675 (only for sensor 0)

// -1 is thermocouple with AD595

// 0 is not used

// 1 is 100k thermistor - best choice for EPCOS 100k (4.7k pullup)

// 2 is 200k thermistor - ATC Semitec 204GT-2 (4.7k pullup)

// 3 is mendel-parts thermistor (4.7k pullup)

// 4 is 10k thermistor !! do not use it for a hotend. It gives bad resolution at high temp. !!

// 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan) (4.7k pullup)

// 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)

// 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)

// 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)

// 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)

// 10 is 100k RS thermistor 198-961 (4.7k pullup)

//

// 1k ohm pullup tables - This is not normal, you would have to have changed out your 4.7k for 1k

// (but gives greater accuracy and more stable PID)

// 51 is 100k thermistor - EPCOS (1k pullup)

// 52 is 200k thermistor - ATC Semitec 204GT-2 (1k pullup)

// 55 is 100k thermistor - ATC Semitec 104GT-2 (Used in ParCan) (1k pullup)

So you can use both 1 and 6 for the epcos. 1 is intended for other (normal?) thermisters but also for the epcos. Its the preffered table alo for the epcos because its more accurate in its readings.

You can also use 6 for the epcos (this one is only for the epcos) but the readings wont be as accourate as they would be if you choose 1.