Easy?
Yup. Kinda.
The problem with thermistors is that they are horribly non-linear (half the resistance isn't twice the temperature) and they vary widely from one thermistor to the next and even in themselves over time. I've watched the output of mine compared to a thermocouple reading over the last few months. With a setpoint of 230º the actual temperature has varied from 200º to 260º!
There are two ways to deal with this. First is John Oly’s approach - just change the theta value in the firmware until the measured temperature approaches the actual. This will quickly and easily get you to an approximate hot end temperature around the setpoint where you're measuring but it doesn't allow for the nonlinearity and so even jumping from ABS to PLA you might find the temperature wandering off significantly. If that's good enough for you, then have a look here
Otherwise, we're going to do it a little more first principally from two measurements, one hot and one cold.
Start by downloading the Repetier firmware - note this link is for v0.91, there maybe newer versions out, grab the latest. Also grab the Arduino development environment. You'll be using the Arduino software to change and upload the firmware to your Rambo board.
You're going to need a multimeter and a thermocouple meter. Sorry, the reflective nature of the hot end means the infra red contactless type thermometers are useless. A combination meter/thermocouple can be had for thirty bucks from eBay and is worth having in your printer toolkit - you'll be wanting to check the accuracy of the thermistor occasionally as part of your routine tighten-up / recalibration routine.
How does it all work?
To get the temperature, the firmware reads the resistance of the thermistor via the cable and connector on the Rambo. It now needs to convert this resistance to a temperature. Each of the two extruders and the bed have a setting in configuration.h which tell the firmware what type of sensor to use. For example, the first extruder might be set with the following
Code: Select all
#define EXT0_TEMPSENSOR_TYPE 1
Anyway. Now the firmware has its resistor and it knows what method to use to convert that resistance to a temperature. The generic method creates a curve based on some parameters we need to define in configuration.h and then calculates the thermistor temperature based on the resistance and that curve.
Enough chit chat. On to the "doing" bit.