主要更改: 1. 新增使用手册: - AI算法更新指南 - HTPA60x40传感器升级指南 - 环境配置教程 2. 传感器模块优化: - HTPA60x40dR1L0.9传感器集成 - HTPAd32x32L1k7传感器更新 - 传感器配置文档完善 3. 项目文档整理: - 删除过期的433MHz使用指南 - 更新README文档结构 - 完善配置教程链接 目标:完善项目文档,优化传感器集成
199 lines
8.2 KiB
C++
199 lines
8.2 KiB
C++
/**
|
|
* HTPA60x40dR1L0.9/0.8 Lookup Table for Temperature Calculation
|
|
*
|
|
* This lookup table is used to convert raw ADC values to temperature values.
|
|
* The table structure is based on the Heimann sensor documentation.
|
|
*
|
|
* Note: This is a placeholder table. The actual lookup table should be
|
|
* provided by Heimann Sensor or generated through calibration.
|
|
*/
|
|
|
|
#include "HTPA60x40dR1L0.9.h"
|
|
|
|
// Placeholder lookup table for HTPA60x40dR1L0.9/0.8
|
|
// The actual table should have NROFTAELEMENTS_60x40 x NROFADELEMENTS_60x40 elements
|
|
// This is a simplified version for demonstration purposes
|
|
|
|
const short htpa60x40_lookuptable[NROFTAELEMENTS_60x40][NROFADELEMENTS_60x40] = {
|
|
// Temperature step 0 (-40°C to -30°C)
|
|
{
|
|
// ADC values 0-63 (first 64 values of 1588 total)
|
|
-4000, -3990, -3980, -3970, -3960, -3950, -3940, -3930,
|
|
-3920, -3910, -3900, -3890, -3880, -3870, -3860, -3850,
|
|
-3840, -3830, -3820, -3810, -3800, -3790, -3780, -3770,
|
|
-3760, -3750, -3740, -3730, -3720, -3710, -3700, -3690,
|
|
-3680, -3670, -3660, -3650, -3640, -3630, -3620, -3610,
|
|
-3600, -3590, -3580, -3570, -3560, -3550, -3540, -3530,
|
|
-3520, -3510, -3500, -3490, -3480, -3470, -3460, -3450,
|
|
-3440, -3430, -3420, -3410, -3400, -3390, -3380, -3370,
|
|
// ... (remaining 1524 values would continue here)
|
|
// For brevity, we'll fill with interpolated values
|
|
},
|
|
|
|
// Temperature step 1 (-30°C to -20°C)
|
|
{
|
|
-3000, -2990, -2980, -2970, -2960, -2950, -2940, -2930,
|
|
-2920, -2910, -2900, -2890, -2880, -2870, -2860, -2850,
|
|
-2840, -2830, -2820, -2810, -2800, -2790, -2780, -2770,
|
|
-2760, -2750, -2740, -2730, -2720, -2710, -2700, -2690,
|
|
-2680, -2670, -2660, -2650, -2640, -2630, -2620, -2610,
|
|
-2600, -2590, -2580, -2570, -2560, -2550, -2540, -2530,
|
|
-2520, -2510, -2500, -2490, -2480, -2470, -2460, -2450,
|
|
-2440, -2430, -2420, -2410, -2400, -2390, -2380, -2370,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 2 (-20°C to -10°C)
|
|
{
|
|
-2000, -1990, -1980, -1970, -1960, -1950, -1940, -1930,
|
|
-1920, -1910, -1900, -1890, -1880, -1870, -1860, -1850,
|
|
-1840, -1830, -1820, -1810, -1800, -1790, -1780, -1770,
|
|
-1760, -1750, -1740, -1730, -1720, -1710, -1700, -1690,
|
|
-1680, -1670, -1660, -1650, -1640, -1630, -1620, -1610,
|
|
-1600, -1590, -1580, -1570, -1560, -1550, -1540, -1530,
|
|
-1520, -1510, -1500, -1490, -1480, -1470, -1460, -1450,
|
|
-1440, -1430, -1420, -1410, -1400, -1390, -1380, -1370,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 3 (-10°C to 0°C)
|
|
{
|
|
-1000, -990, -980, -970, -960, -950, -940, -930,
|
|
-920, -910, -900, -890, -880, -870, -860, -850,
|
|
-840, -830, -820, -810, -800, -790, -780, -770,
|
|
-760, -750, -740, -730, -720, -710, -700, -690,
|
|
-680, -670, -660, -650, -640, -630, -620, -610,
|
|
-600, -590, -580, -570, -560, -550, -540, -530,
|
|
-520, -510, -500, -490, -480, -470, -460, -450,
|
|
-440, -430, -420, -410, -400, -390, -380, -370,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 4 (0°C to 10°C)
|
|
{
|
|
0, 10, 20, 30, 40, 50, 60, 70,
|
|
80, 90, 100, 110, 120, 130, 140, 150,
|
|
160, 170, 180, 190, 200, 210, 220, 230,
|
|
240, 250, 260, 270, 280, 290, 300, 310,
|
|
320, 330, 340, 350, 360, 370, 380, 390,
|
|
400, 410, 420, 430, 440, 450, 460, 470,
|
|
480, 490, 500, 510, 520, 530, 540, 550,
|
|
560, 570, 580, 590, 600, 610, 620, 630,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 5 (10°C to 20°C)
|
|
{
|
|
1000, 1010, 1020, 1030, 1040, 1050, 1060, 1070,
|
|
1080, 1090, 1100, 1110, 1120, 1130, 1140, 1150,
|
|
1160, 1170, 1180, 1190, 1200, 1210, 1220, 1230,
|
|
1240, 1250, 1260, 1270, 1280, 1290, 1300, 1310,
|
|
1320, 1330, 1340, 1350, 1360, 1370, 1380, 1390,
|
|
1400, 1410, 1420, 1430, 1440, 1450, 1460, 1470,
|
|
1480, 1490, 1500, 1510, 1520, 1530, 1540, 1550,
|
|
1560, 1570, 1580, 1590, 1600, 1610, 1620, 1630,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 6 (20°C to 30°C)
|
|
{
|
|
2000, 2010, 2020, 2030, 2040, 2050, 2060, 2070,
|
|
2080, 2090, 2100, 2110, 2120, 2130, 2140, 2150,
|
|
2160, 2170, 2180, 2190, 2200, 2210, 2220, 2230,
|
|
2240, 2250, 2260, 2270, 2280, 2290, 2300, 2310,
|
|
2320, 2330, 2340, 2350, 2360, 2370, 2380, 2390,
|
|
2400, 2410, 2420, 2430, 2440, 2450, 2460, 2470,
|
|
2480, 2490, 2500, 2510, 2520, 2530, 2540, 2550,
|
|
2560, 2570, 2580, 2590, 2600, 2610, 2620, 2630,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 7 (30°C to 40°C)
|
|
{
|
|
3000, 3010, 3020, 3030, 3040, 3050, 3060, 3070,
|
|
3080, 3090, 3100, 3110, 3120, 3130, 3140, 3150,
|
|
3160, 3170, 3180, 3190, 3200, 3210, 3220, 3230,
|
|
3240, 3250, 3260, 3270, 3280, 3290, 3300, 3310,
|
|
3320, 3330, 3340, 3350, 3360, 3370, 3380, 3390,
|
|
3400, 3410, 3420, 3430, 3440, 3450, 3460, 3470,
|
|
3480, 3490, 3500, 3510, 3520, 3530, 3540, 3550,
|
|
3560, 3570, 3580, 3590, 3600, 3610, 3620, 3630,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 8 (40°C to 50°C)
|
|
{
|
|
4000, 4010, 4020, 4030, 4040, 4050, 4060, 4070,
|
|
4080, 4090, 4100, 4110, 4120, 4130, 4140, 4150,
|
|
4160, 4170, 4180, 4190, 4200, 4210, 4220, 4230,
|
|
4240, 4250, 4260, 4270, 4280, 4290, 4300, 4310,
|
|
4320, 4330, 4340, 4350, 4360, 4370, 4380, 4390,
|
|
4400, 4410, 4420, 4430, 4440, 4450, 4460, 4470,
|
|
4480, 4490, 4500, 4510, 4520, 4530, 4540, 4550,
|
|
4560, 4570, 4580, 4590, 4600, 4610, 4620, 4630,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 9 (50°C to 60°C)
|
|
{
|
|
5000, 5010, 5020, 5030, 5040, 5050, 5060, 5070,
|
|
5080, 5090, 5100, 5110, 5120, 5130, 5140, 5150,
|
|
5160, 5170, 5180, 5190, 5200, 5210, 5220, 5230,
|
|
5240, 5250, 5260, 5270, 5280, 5290, 5300, 5310,
|
|
5320, 5330, 5340, 5350, 5360, 5370, 5380, 5390,
|
|
5400, 5410, 5420, 5430, 5440, 5450, 5460, 5470,
|
|
5480, 5490, 5500, 5510, 5520, 5530, 5540, 5550,
|
|
5560, 5570, 5580, 5590, 5600, 5610, 5620, 5630,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 10 (60°C to 70°C)
|
|
{
|
|
6000, 6010, 6020, 6030, 6040, 6050, 6060, 6070,
|
|
6080, 6090, 6100, 6110, 6120, 6130, 6140, 6150,
|
|
6160, 6170, 6180, 6190, 6200, 6210, 6220, 6230,
|
|
6240, 6250, 6260, 6270, 6280, 6290, 6300, 6310,
|
|
6320, 6330, 6340, 6350, 6360, 6370, 6380, 6390,
|
|
6400, 6410, 6420, 6430, 6440, 6450, 6460, 6470,
|
|
6480, 6490, 6500, 6510, 6520, 6530, 6540, 6550,
|
|
6560, 6570, 6580, 6590, 6600, 6610, 6620, 6630,
|
|
// ... (remaining values)
|
|
},
|
|
|
|
// Temperature step 11 (70°C to 80°C)
|
|
{
|
|
7000, 7010, 7020, 7030, 7040, 7050, 7060, 7070,
|
|
7080, 7090, 7100, 7110, 7120, 7130, 7140, 7150,
|
|
7160, 7170, 7180, 7190, 7200, 7210, 7220, 7230,
|
|
7240, 7250, 7260, 7270, 7280, 7290, 7300, 7310,
|
|
7320, 7330, 7340, 7350, 7360, 7370, 7380, 7390,
|
|
7400, 7410, 7420, 7430, 7440, 7450, 7460, 7470,
|
|
7480, 7490, 7500, 7510, 7520, 7530, 7540, 7550,
|
|
7560, 7570, 7580, 7590, 7600, 7610, 7620, 7630,
|
|
// ... (remaining values)
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Note: This is a simplified lookup table for demonstration purposes.
|
|
*
|
|
* In a real implementation, you would need:
|
|
* 1. The complete lookup table with all 1588 ADC values for each temperature step
|
|
* 2. Proper interpolation functions to handle values between table entries
|
|
* 3. Calibration data specific to your sensor unit
|
|
* 4. Temperature compensation algorithms
|
|
*
|
|
* The actual lookup table should be obtained from:
|
|
* - Heimann Sensor documentation
|
|
* - Sensor calibration certificate
|
|
* - Factory calibration data stored in sensor EEPROM
|
|
*
|
|
* Each row represents a temperature range (ambient temperature steps)
|
|
* Each column represents ADC digit values
|
|
* The values in the table are temperature readings in 0.01°C units
|
|
*
|
|
* For example:
|
|
* - htpa60x40_lookuptable[4][100] would give the temperature for
|
|
* ambient temperature step 4 (0°C to 10°C) and ADC value 100*64 = 6400
|
|
*/
|