Way 2 Cool
Way 2 Cool
gp_Temp5 will read the temperature values of four 10k through 200k Ohm thermistors through the game port of your computer or sound card on Windows 95, 98, NT, Millennium, Windows 2000, and Windows XP systems. The temperatures may be read directly from gp_Temp5, but the program was mainly written so that the temps may be read from Alex van Kaam's MBM5. Much nicer to have all of your temperatures displayed in one program.
100 k Ohm thermistors are the best "all around" choice for most applications, though they will only show temperatures down to about 7°C. Other thermistor ranges are as follows:
10 k Ohm thermistors can register a range
of -40°C to 25°C (-41°F to 77°F).
50 k Ohm thermistors can register a range of -3°C to 65°C (26°F to 150°F).
100 k Ohm thermistors can register a range of 7°C to 77°C (46°F 171°F).
Temperatures are more accurate close to the center of the range and drift as the extreme ranges are reached. This is, in part, due to the characteristics of thermistors, though mostly due to the limitations of the game port as an interface.
You may mix thermistors of different values on any of the 4 axis ports (i.e., use a 100 k for sensor 1, 10 k for sensor 2, and 50 k on axes 3 and 4.)
Thermistors MUST be run in pairs to correspond with the X and Y axes of the gameport.
NOTE: You can run gp_Temp5 with only 1
thermistor, but you must place a jumper in place of the #2 thermistor (locations
1 and 6) and switch off the "Enable sensors 3 and 4" button.
Connect the thermistors to the gameport. The female 15 pin "D" connector on the computer/sound card has two rows of holes. One row has 8 holes and one row has 7. With the row of 8 on top, the holes are numbered from RIGHT to LEFT 1 through 8. Thermistor 1 connects between hole 1 and hole 3. Thermistor 2 connects between hole 1 and hole 6.
With the row of 7 holes on the bottom, the holes are numbered from RIGHT to LEFT 9 through 15. Thermistor 3 connects between hole 9 and hole 11. Thermistor 4 connects between hole 9 and hole 13.
NOTE: You may use hole 8 instead of 9 for the +5 volts lead for sensors 3 & 4 if you wish.
All connections MUST be made for a thermistor pair. (If you have only one thermistor, you may jump the unused axis [1 & 3 or 1 & 6]. If you have three thermistors, connect the first pair to [1, 3, and 6] and connect the third to either [9 & 11 or 9 & 13] then jump the remaining [9 & 11 or 9 & 13] with a wire or jumper.)
For more information (pictures) on connecting
the thermistors to the gameport, please take a look at the gp_Temp4
Windows 2000 Driver Setup
Though I have only given instructions for Win2000, the process is very similar in all Windows operating systems.
WARNING: Do not use Windows Calibration utility!
1. Click "Start" | "Settings" | "Control Panel"
2. Double click "Game Controllers" (Joystick Icon)
3. Click "Add"
4A. Choose "2-axis, 2-button joystick" (for
2 sensors) | Click "OK"
4B. Choose "Two 2-axis, 2-button joysticks on one gameport." (for 4 sensors) | Click "OK"
5. Make sure that the "status" for both joysticks reads "OK"
NOTE: If you do not get an "OK" status,
your thermistors are not hooked up correctly - or - you have gameport issues.
Download gp_Temp5.04 -- double click it and follow instructions to install.
Open gp_Temp5. If the Windows driver and/or thermistors are not installed correctly, you will receive error messages.
NOTE: When the program opens for the first time, don't worry that the temperature readings are off (way off for most cases). The only thing we need at this point is for the "port status" to read "Port Status: Sensors 1 and 2 check OK" and if you are using three or four thermistors, "Port Status: Sensors 3 and 4 check OK." (You will need to enable Sensors 3 & 4 first.) If they don't, recheck your thermistor hookup and joystick driver installation.
1. With gp_Temp5 open, next to the "Names" labels are the "Raw Data" boxes. These are the raw readings from the thermistors through the gameport. The readings will be from a minimum of "0" to a maximum of "65535." These are the allowable port values.
2. To the right of "Raw Data" are the "Coefficients." These will be computed using an additional program named ST&HT_EQ.xls found in steinhart.zip.
3. Click "Save to Registry," then "Refresh Settings." This confirms the necessary registry keys for the rest of the process.
4. If all 4 thermistors are the same resistance value, bundle your 4 thermistors together with the probe from a Celsius reading thermometer. Seal them in plastic wrap if you are going to use the water method (information here). Leave the 5 sensors alone until the readings from the thermometer and 4 "Raw Data" boxes stabilize. You will need a total of 3 readings at least 10°C apart (15° is preferable).
7. Note the temperature in degrees C (it MUST be Celsius or converted to Celsius) along with the raw data readings for that temperature. Copy these down for later use.
Sensor 1: 0°C = 7903 (Readings from my 10 k thermistor)
Sensor 2: 0°C = 53133 (Readings from my 50 k thermistor)
Sensor 3: 0°C = 53133 (Readings from my 50 k thermistor)
Sensor 4: 0°C = 53133 (Readings from my 50 k thermistor)
8. Raise or lower the temperature at least 10°C and take the readings again.
Again, something like
Sensor 1: 10°C = 5203
Sensor 2: 10°C = 31036
Sensor 3: 10°C = 31036
Sensor 4: 10°C = 31036
9. One more time. Raise or lower the temperature at least 10°C and take the readings again.
Once again, something like
Sensor 1: 25°C = 3296
Sensor 2: 25°C = 17283
Sensor 3: 25°C = 17283
Sensor 4: 25°C = 17283
It doesn't matter what temperatures you
read the Raw Data at, as long as they are at least 10°C apart.
However, I have found that the thermistors are most
accurate at the following ranges:
10 k: -15°C ± 25°C
(5°F ± 45°F)
50 k: 10°C ± 25°C (50°F ± 45°F)
100 k: 35°C ± 30°C (95°F ± 50°F)
If you are using a 10 k with a 50 k or
100 k thermistor, it is probably best to calibrate the 10 k thermistor
separately. On my system, the absolute
temps I can read with any accuracy are
10 k Ohm thermistors: -40.5°C to 25°C
(-41°F to 77°F)
50 k Ohm thermistors -3.5°C to 65.5°C (26°F to 150°F)
100 k Ohm thermistors 7.7° to 77°C (46°F 171°F)
Setting the Temperature Coefficients
1. Download steinhart.zip. It's a tiny 15 kb file that will plot the temperature setup coefficients using the Steinhart-Hart equation.
2. Unzip steinhart.zip and double click on the ST&HT_EQ.xls file to open it in Excel.
3. Starting with the lowest temperature and Raw Data reading for Sensor 1, enter the temperature into cell B14 and the Raw Data into cell C14.
4. Enter the mid-range temp and data into B15 and C15.
5. Enter the high temp and data to B16 and C16.
6. Click on any blank cell to compute the coefficients.
NOTE: If any of the coefficients (B24, B25, and B26) have a negative value (-0.003 or whatever) your temperature/data readings are incorrect and cannot be correctly computed. Negative values WILL NOT work in gp_Temp. Try taking the Raw Data/temperature readings again and using a wider range (15°C, rather than 10°). For some shots of the ST&HT_EQ.xls worksheet, click here.
7. Reopen gp_Temp to the setup screen and start with the coefficient for Sensor1 "A".
8. Switch back and forth between Excel
and gp_Temp to copy and paste the coefficient for "A" in cell B24 into
the text box labeled "A" for "Sensor1
Coeficients" in the gp_Temp5 screen.
9. Copy the coefficient for "B" (cell B25 on the Excel sheet) to Sensor1 "B".
10. Repeat for "C" (cell B26 on the Excel sheet) to Sensor1 "C".
11. Click "Save to Registry" and "Refresh Settings."
12. Repeat steps 3 through 11 for the Sensor2 temperature readings and Raw Data.
13. Repeat steps 3 through 11 for the Sensor3 temperature readings and Raw Data.
14. Repeat steps 3 through 11 for the Sensor4 temperature readings and Raw Data.
15. Close Excel.
16. If all is correct, you should have
proper temperatures being reported in the "Temps" column. The High
/ Low / Average boxes should also be filled; however, the average will
not reflect the proper readings until the program is restarted.
Motherboard Monitor 5 Setup
gp_Temp5 uses the shared memory function of Motherboard Monitor 5 (MBM5). As I have yet to see a consumer targeted motherboard that allows for more than three sensors, gp_Temp5 is set to use MBM5's Sensors 4 through 7. (Should this need to change in the future, it will.) To setup MBM5 to use gp_Temp5, please refer to the following:
1. Download and install MBM5 from (http://mbm.livewiredev.com/)
2. Once you have setup MBM5 to work with your motherboard's temp sensors, you will need to add additional sensors for gp_Temp5.
3. Open MBM5 to the setup screen and choose "Temperatures" from the left side of the screen. Choose the "Visual" button.
4. Across from "MBM5 Sensor," choose "Sensor 4" from the drop down box. You may rename it if you wish.
5. Across from "Should display board sensor" choose "Custom."
6. Select any other parameters you wish, but make sure to select "Display temperature in Dashboard screen" so you can view the temperatures.
7. Select "Display sensor in high & low log & in the interval log" if you wish to be able to log temps using the interval log.
NOTE: "High / Low / Average" temps will be supported with the release of MBM 5.08. Until that release, the H / L / A for gp_Temp5 will show as 0°C (32°F) in MBM.
8. Repeat steps 4 through 7 for each additional
sensor using "Sensors 5, 6, and 7.
Menu and Button Functions
Menu File | Run on Startup
When checked, this places a call in the registry to start gp_Temp5 when Windows starts. The call is made from:
The key is gp_Temp5 and the path is: C:\Program Files\gp_Temp(MBM)\gp_Temp5.exe
NOTE: At this time, the program only installs to C:\Program Files\gp_Temp(MBM).
When "Run on Startup" is unchecked, the
key is deleted.
Menu File | Run Minimized
When checked, gp_Temp5 will start as a joystick icon in the system tray. When unchecked it will start in viewable mode.
Menu Help | About
Menu Help | ReadMe
Button Save to Registry
Click "Save to Registry" to save settings to the registry. The key is: HKEY_CURRENT_USER/Software/Megadyne/gp_Temp(MBM)/
Button Refresh Registry
This button retrieves the registry settings. Use it to make sure that your registry settings have been saved.
Button Reset Registry
This button removes the values under the registry sub-keys. Using "Refresh Registry" after "Reset Registry" sets the default values.
Button Enable 3-4
This button toggles between "Enable 3-4"
and "Disable 3-4" to Enable / Disable Sensors 3 and 4. Remember to
"Save to Registry" after your choice is made.
Bugs, questions, or comments.
Jim Fager - firstname.lastname@example.org