Thermistors: Selecting drive voltage and resistance

We will now optimize the system.

In January 2012 we introduced the Thermistor hash command, which makes the use of spreadsheets largely unnecessary. SPLat/PC can now show you a "sandbox" tool that allows you to tweak performance.

The temperature measurement is optimized by finding the best combination of Rfeed and Vfeed. With some boards, only one or the other can be varied. With some, both can be varied. With the AJ18, both are fixed (surprisingly, even with the AJ18 we still have choices to allow the system to be optimized).

The following table summarizes the choices available for a range of products.

  Vfeed Rfeed
MMiXXX, SL99 Programmable to 20V Fixed at 10250Ohm
SPice10200 Programmable to 20V Selectable 100K or 9.0909K
OEM36 Onboard fixed 10V or any external voltage External, any value
AJ18 Fixed at 10V Fixed at 15K

The spreadsheet contains two buttons labeled [FindBestRFeed] and [FindBestVFeed]. Given that you have selected either a Vfeed or an Rfeed (or it's selected for you by the constraints imposed by the above table), then clicking on of the buttons will select the other value for you.

For example, with the MMi99 or SL99, Rfeed is fixed but Vfeed is programmable (there's an onboard analog output dedicated to generating that voltage).

Procedure with MMiXXX and SL99

(This is likely to apply to future boards that have thermistor temperature measurement)

  1. Set Rfeed to 10250 (simply type 10250 into the green Rfeed cell)
  2. Click the [FindBestVFeed] button. Vfeed will be calculated as the voltage that gives the best possible average resolution over the required temperature range.
  3. Note the box just above the two buttons, labeled AnOut. Because the programmable Vfeed is constrained to one of 256 possible discrete values about 80mV apart, the ideal Vfeed calculated so far cannot be achieved exactly to the millivolt. The number to the far right in the AnOut box is the nearest value that can be used. Click the [Q] button to force that value into the Vfeed box. Note the number just to the right of the AnOut label, in a pink cell. This is the value to use in an AnOut instruction to generate the Vfeed voltage.

Note that on the MMiXXX the Vfeed generator is shared by both analog inputs. That means if you are using both inputs for temperature measurements, you are constrained to having the same Vfeed value for both.

Procedure with SPice10200

The SPice10200 is an add-on for MMiXXX and SL99 that provides 3 additional temperature channels (as well as two channels of water level switching). It uses the same method as the MMi99 and SL99 controllers, including the programmable Vfeed, but allows a choice of two Rfeed values.

The SPice10200 shares the Vfeed generator with the controller board it is attached to. That means all your temperature channels will have the same Vfeed value.

The procedure for the SPice10200 is the same as above, except in step 1 you have a choice of Rfeed values of 100000 (100K) or 9090.9

Procedure with OEM36

With the OEM36 you are free to select both Vfeed and Rfeed. That means a bit more trial and error to find values that give good results and which are also convenient.

One choice is to use an analog output programmed to its maximum output voltage of 10V and then find the best Rfeed. Another possibility is to use your main power supply voltage as Vfeed (but do this only if it is regulated!)

If you have a regulated power supply, try using its value (say 24V) for Vfeed and then use the [FindBestRFeed] button to find the optimum value. When you find an Rfeed value manually replace it (type in) with the next highest available resistor value.Don't use a lower value, you will only get errors in the spreadsheet.

If you don't have a regulated power supply, try for 10V for Vfeed. Then start manually typing in various values for Rfeed and observing the results. The [FindBestRFeed] is unlikely to produce a useful result. Try Rfeed values of about the same value as the thermistor as the temperature of greatest interest. Watch the two graphs, especially the resolution graph. Resolution is the ability of the system to detect small changes (the smallest detectable change) and tends to be best where Rfeed and the thermistor resistance are the same.

Don't use the [FindBestVfeed] button with the OEM36. The button limits the voltage to a maximum of 20V, to match the characteristic of boards with programmable Vfeed generators.

Procedure with the AJ18

With the AJ18 you have no choice but to type 15000 into Rfeed and 10 into Vfeed. (By way of explanation, the AJ18 was designed to control water temperature to 85°C with a particular thermistor, so its pretty much optimized for that.). However, you still actually have a lot of control over performance via thermistor selection and by using an external shunt resistor.