Adjusting The Thermistor Settings

The new extruder controller firmware (v1.8) stores its thermistor settings in the on-chip EEPROM. That means you can use ReplicatorG to update and tweak the parameters for the thermistor and tune it to your specific extruder.

Since the settings are resident on the extruder controller, and are not retained in ReplicatorG, you can now tweak extruders on a per-bot basis.

This page explains how to get up and running with the new firmware, and set the parameters to useful values.

Step 0: Install ReplicatorG 0012 or later

ReplicatorG 0012 includes the software support for updating the thermistor tables, so make sure you've got it installed before you begin.

Step 1: Install the v1.8 firmware or later

If you haven't already, you should upgrade the firmware on your extruder controller to v1.8 or later. You only need to perform this step once.

  1. fire up ReplicatorG 0012 or later.
  2. plug your USB2TTL cable into the extruder controller's 6-pin header. Pay attention to the markings on the board and be careful not to plug the cable in backwards!
  3. Select "Upload new firmware…" from the "Machine" menu in ReplicatorG.
  4. Select the Extruder Controller, the version to install (v1.8 or later), and the name of the USB port your cable is using.
  5. Press the small reset button on the extruder board at the same time as you click the "Upload" button in the uploading dialog. It will take a few moments to upload the firmware, so be patient.
  6. If you see an error message, try again; sometimes it's hard to get the timing right.
  7. Disconnect the USB2TTL cable from the extruder board.
  8. When you're done, close ReplicatorG.

Step 2: Adjust the thermistor settings.

  1. Start ReplicatorG.
  2. Wait for ReplicatorG to connect to the makerbot. You won't be able to access the thermistor settings until after ReplicatorG has connected to the machine.
  3. From the "Machine" menu, select "Onboard Preferences".
  4. Click the "Set Extruder Parameters" buttons in the Onboard Preferences dialog.
  5. You'll now see the thermistor options. Enter the beta, r0, and t0 settings appropriate to your thermistor. For a full explanation of what these parameters mean, see Nophead's excellent explanation on his blog. (The r2 is internally pegged at 4.7Kohms, the value of the resistor on the board, and r1 is infinite.) Here are a few useful settings:
Thermistor type beta r0 t0
Default "large" thermistor 4066 100000 25
Nick's "large" thermistor Settings 4198 100000 25
Zach's 1mm settings 4198 100000 25
J.E.T.'s 1mm thermistor settings 4881 93700 24
Keith's CupCake thermistor settings 3736 268000 0
  1. Click on "commit changes".
  2. Reset the extruder board. There are a few ways to do this. Try one of the following:
    1. Press the reset button on the extruder board itself.
    2. Turn the machine's power off and then on.
    3. Unplug the extruder, and then plug it back in again.

Once the extruder board has been reset, it will be using the new thermistor settings from the EEPROM.

If you find better settings than the ones you see here, be sure to share them!

Calculating New Beta Values Using Wolfram|Alpha

The following inputs can be used as starting points to calculating new values of beta using Wolfram|Alpha. Modify the T0, R0, R and T pairs of values as per your own measurements.

LINK CAUTION If you choose to follow the links instead of using the Wolfram|Alpha Widgets, double-check the resulting equations. Some browsers interpret the "+" symbols as space delimiters. For example, "T+273.15" may be converted to "T 273.15" which in turn is interpreted as "T*273.15". If you are getting beta values in the ~40 000 range (instead of ~4 000), try using a spreadsheet application (MS Excel, Open Office, etc) to perform the calculations.

Two-Pass Calibration Method With Thermocouple Thermometer and Digital Multimeter

The following calibration method was used to measure and calculate a reasonably accurate R0, T0, beta triple to use in the extruder firmware for Cupcake 1068 using firmware v2.1/v2.3.

  1. Set PID to the default P=7.0, I=0.35, D=36.0 settings
  2. Apply settings and reset extruder to engage.
  3. Tape the thermocouple probe to the extruder nozzle with Kapton tape right next to the thermistor.
  4. Record the room temperature (all temperatures are in degrees Celsius)
    • T0=26.1C
  5. With power applied to the motherboard and extruder, measure the voltage across the thermistor terminals (V0).
    • V0=4.75
  6. Measure the 5VDC (H) supply across the regulator IC terminals (the 3-terminal 7805 chip chip between the two canister capacitors).
    • H=5.0
  7. From these values, the room temperature resistance (R0) of the thermistor can be calculated.
  8. In the ReplicatorG control panel, set the heater target temperature for a higher temperature and wait.
  9. Once the heater reaches temperature and you see the heater activity LEDs cycle on and off a few times, read the new thermocouple temperature (T1) and thermistor voltage (V1) readings.
  10. Calculate your first beta1 value.
  11. Set your extruder's thermistor parameters to your newly calculated values.
    • T0=26
    • R0=89300
    • beta=beta1=4838
  12. Reset the extruder.
  13. In the ReplicatorG control panel, set the heater's target temperature for 220C and measure the thermocouple temperature (T) and thermistor voltage (V) when the heater has settled and the activity LEDs have cycled off and on a few times.
  14. Set your extruder's thermistor parameters to these final calculated values.
    • T0=26
    • R0=89300
    • beta=4732
  15. Reset the extruder.
  16. In the ReplicatorG control panel, set the heater's target temperature for 220C and confirm that both ReplicatorG and the thermocouple report 220C.

Depending on room conditions (breezes, ambient temperature, etc) you can expect to see fluctuations and minor differences between the readings, but the reading should be accurate enough now at your target extrusion temperature of 220C.

References

See Measuring Thermistor Beta for more beta measurement details.

Unless otherwise stated, the content of this page is licensed under GNU Free Documentation License.