I restarted the Athena box and created an MEDM screen that shows the 8 differential input voltages next to their corresponding inputs on the breakout terminal strip. See the attached image. The MEDM screen is located at /home/controls/TCS_athena01_input_screen.adl on tcs_daq .
Channel 1 in the Athena is taking the output from the first channel in the temperature sensing box. That is connect to an RTD in the Hartmann sensor. The three other resistors in the Wheatstone bridge that the RTD is connected to have resistances of 1130 Ohms. There is 7V across the bridge and it has 100x gain afterwards (50x gain stage + 2x gain in single to differential output). The thermistor has temperature dependence K = 0.00385 Ohms/Ohm/degree K for 1000Ohms at 0 degrees.
R = 1000*EXP(K *delta T)
delta T = LOG(R/1000)/K
I have configured some EPICS channels on the softIoc on the Athena box to display the voltage across the thermistor, calculate its resistance and then calculate the temperature in a linear and exponential fashion. These are stored in /target/TCS_westbridge.db on tcs_daq .
The calibration of DEGREES_LOG is incorrect (or at least, the sign is). Fix this please.
grecord(calc,"C4:TCSHWS_THERM_VOLTS")
{
field(SCAN,".1 second")
field(INPA,"C4:TCSATHENA_ADC0")
field(INPB,"C4:TCSATHENA_ADC8")
field(CALC,"(AB)/3276.8")
}
grecord(calc,"C4:TCSHWS_THERM_OHMS")
{
field(SCAN,".1 second")
field(INPA,"C4:TCSHWS_THERM_VOLTS")
field(CALC,"(1130)*((A/700)0.5)/((A/700)+0.5)")
}
grecord(calc,"C4:TCSHWS_THERM_DEGREES_LIN")
{
field(SCAN,".1 second")
field(INPA,"C4:TCSHWS_THERM_OHMS")
field(CALC,"(A1000)*3.85")
}
grecord(calc,"C4:TCSHWS_THERM_DEGREES_LOG")
{
field(SCAN,".1 second")
field(INPA,"C4:TCSHWS_THERM_OHMS")
field(CALC,"(LOGE(A/1000))/0.00385")
}
