| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /**
- * @file ALGO_Temperature_ATY.h
- *
- * @param Project ALGO_Algorithm_ATY_LIB
- *
- * @author ATY
- *
- * @copyright
- * - Copyright 2017 - 2023 MZ-ATY
- * - This code follows:
- * - MZ-ATY Various Contents Joint Statement -
- * <a href="https://mengze.top/MZ-ATY_VCJS">
- * https://mengze.top/MZ-ATY_VCJS</a>
- * - CC 4.0 BY-NC-SA -
- * <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">
- * https://creativecommons.org/licenses/by-nc-sa/4.0/</a>
- * - Your use will be deemed to have accepted the terms of this statement.
- *
- * @brief Familiar functions of NTC or others temperature calc
- *
- * @version
- * - 1_01_230107 > ATY
- * -# Preliminary version, first Release
- ********************************************************************************
- */
- #ifndef __ALGO_Temperature_ATY_H
- #define __ALGO_Temperature_ATY_H
- #include "INCLUDE_ATY.h"
- #include "ALGO_AlgorithmBase_ATY.h"
- /******************************* For user *************************************/
- // #define __DEBUG_ALGO_Temperature_ATY
- /******************************************************************************/
- #define ALGO_TEMP_Kelvin_T0 0 // K
- #define ALGO_TEMP_Celsius_C0 0 // C
- #define ALGO_TEMP_Fahrenheit_F0 0 // F
- #define ALGO_TEMP_TtoC(T) ((T) - 273.15)
- #define ALGO_TEMP_CtoT(C) ((C) + 273.15)
- #define ALGO_TEMP_CtoF(C) ((C) * 1.8 + 32)
- #define ALGO_TEMP_FtoC(F) (((F) - 32 ) / 1.8)
- #define ALGO_TEMP_FtoT(F) (ALGO_TEMP_CtoT(ALGO_TEMP_FtoC((F))))
- #define ALGO_TEMP_TtoF(T) (ALGO_TEMP_CtoF(ALGO_TEMP_TtoC((T))))
- /**
- * @brief Calculate resistance from ADC voltage, NTC down(pull up)
- * @param vADC ADC voltage in mV
- * @param vRef NTC ref voltage in mV
- * @param rRefK ref resistance in kOhm
- */
- #define ALGO_VoltageToResDown(vADC, vRef, rRefK) \
- (((float)rRefK * (float)vADC) / ((float)vRef - (float)vADC))
- /**
- * @brief Calculate resistance from ADC voltage, NTC up(pull down)
- * @param vADC ADC voltage in mV
- * @param vRef NTC ref voltage in mV
- * @param rRefK ref resistance in kOhm
- */
- #define ALGO_VoltageToResUp(vADC, vRef, rRefK) \
- (((float)rRefK * ((float)vRef - (float)vADC)) / (float)vADC)
- float ALGO_ResToKelvinTempABC(float Rntc, float A, float B, float C);
- float ALGO_ResToKelvinTemp(float Rntc, float R25, float B);
- float ALGO_VolToKelvinTemp(float vADC, float vRef, float rRefK, float R25, float B, uint8_t rRefPos);
- float ALGO_Temp_RTD_Res_Fast(float rtdRes);
- float ALGO_Temp_RTD_Res_Above(float rtdRes);
- float ALGO_Temp_RTD_Res_Below(float rtdRes);
- float ALGO_Temp_TC_TempToVol(uint8_t type, float Temp);
- float ALGO_Temp_TC_VolToTemp(uint8_t type, float voltage);
- #endif /* __ALGO_Temperature_ATY_H */
- /******************************** End Of File *********************************/
|