diff --git a/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table.cpp b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table.cpp new file mode 100644 index 0000000000..e171aace8f --- /dev/null +++ b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table.cpp @@ -0,0 +1,218 @@ +#include "motor_table.hpp" +#include +#include + +namespace MotorTable +{ + +// Constants +static constexpr float TEMP_POINTS_C[N_TEMP] = { 80.0f, 100.0f, 120.0f }; +static constexpr float SPEED_STEP_RPM = 200.0f; +static constexpr float CURRENT_STEP_A = 5.25f; +static constexpr float SPEED_MAX_RPM = 20000.0f; +static constexpr float CURRENT_MAX_A = 105.0f; +static const float RPM_TO_RAD_PER_SEC = 2.0f * M_PI_F / 60.0f; + +// Scale factors for delta decompression +static constexpr float TORQUE_DELTA_SCALE = 0.0002f; +static constexpr float LOSS_DELTA_SCALE = 0.11f; + +// HELPERS + +// Linear interpolation +static inline float lerp(float x, float y, float t) +{ + return x + t * (y - x); +} + +// Decompress a single speed row from the delta-encoded table. +// row 0 is stored as float32 baseline; rows 1-200 are int16 deltas from row 0. +// Result written into out[N_CURRENT]. + +static void decompress_torque_row(int temp_id, int speed_id, float out[N_CURRENT]) +{ + if (speed_id == 0) + { + for (int j = 0; j < N_CURRENT; j++) + out[j] = SHAFT_TORQUE_BASELINE[temp_id][j]; + } + else + { + for (int j = 0; j < N_CURRENT; j++) + out[j] = + SHAFT_TORQUE_BASELINE[temp_id][j] + SHAFT_TORQUE_DELTA[temp_id][speed_id - 1][j] * TORQUE_DELTA_SCALE; + } +} + +static void decompress_loss_row(int temp_id, int speed_id, float out[N_CURRENT]) +{ + if (speed_id == 0) + { + for (int j = 0; j < N_CURRENT; j++) + out[j] = TOTAL_LOSS_BASELINE[temp_id][j]; + } + else + { + for (int j = 0; j < N_CURRENT; j++) + out[j] = TOTAL_LOSS_BASELINE[temp_id][j] + TOTAL_LOSS_DELTA[temp_id][speed_id - 1][j] * LOSS_DELTA_SCALE; + } +} + +// Bilinear interpolation in (speed, current) using decompressed rows. +static float interp2d_torque(int temp_id, float speed_rpm, float current_A) +{ + float speed_clamped = std::clamp(speed_rpm, 0.0f, SPEED_MAX_RPM); + float current_clamped = std::clamp(current_A, 0.0f, CURRENT_MAX_A); + + float speed_table_id = speed_clamped / SPEED_STEP_RPM; + float current_table_id = current_clamped / CURRENT_STEP_A; + + int speed_id_0 = std::min((int)speed_table_id, (int)N_SPEED - 2); + int current_id_0 = std::min((int)current_table_id, (int)N_CURRENT - 2); + int speed_id_1 = speed_id_0 + 1; + int current_id_1 = current_id_0 + 1; + + float speed_frac = speed_table_id - (float)speed_id_0; + float current_frac = current_table_id - (float)current_id_0; + + float row0[N_CURRENT], row1[N_CURRENT]; + decompress_torque_row(temp_id, speed_id_0, row0); + decompress_torque_row(temp_id, speed_id_1, row1); + + return lerp( + lerp(row0[current_id_0], row0[current_id_1], current_frac), + lerp(row1[current_id_0], row1[current_id_1], current_frac), speed_frac); +} + +static float interp2d_loss(int temp_id, float speed_rpm, float current_A) +{ + float speed_clamped = std::clamp(speed_rpm, 0.0f, SPEED_MAX_RPM); + float current_clamped = std::clamp(current_A, 0.0f, CURRENT_MAX_A); + + float speed_table_id = speed_clamped / SPEED_STEP_RPM; + float current_table_id = current_clamped / CURRENT_STEP_A; + + int speed_id_0 = std::min((int)speed_table_id, (int)N_SPEED - 2); + int current_id_0 = std::min((int)current_table_id, (int)N_CURRENT - 2); + int speed_id_1 = speed_id_0 + 1; + int current_id_1 = current_id_0 + 1; + + float speed_frac = speed_table_id - (float)speed_id_0; + float current_frac = current_table_id - (float)current_id_0; + + float row0[N_CURRENT], row1[N_CURRENT]; + decompress_loss_row(temp_id, speed_id_0, row0); + decompress_loss_row(temp_id, speed_id_1, row1); + + return lerp( + lerp(row0[current_id_0], row0[current_id_1], current_frac), + lerp(row1[current_id_0], row1[current_id_1], current_frac), speed_frac); +} + +// Temperature interpolation index + fraction +static void temp_interp_params(float temp_C, int &temp_lo, int &temp_hi, float &temp_frac) +{ + if (temp_C <= TEMP_POINTS_C[0]) + { + temp_lo = temp_hi = 0; + temp_frac = 0.0f; + return; + } + if (temp_C >= TEMP_POINTS_C[N_TEMP - 1]) + { + temp_lo = temp_hi = N_TEMP - 1; + temp_frac = 0.0f; + return; + } + for (int i = 0; i < (int)N_TEMP - 1; i++) + { + if (temp_C < TEMP_POINTS_C[i + 1]) + { + temp_lo = i; + temp_hi = i + 1; + temp_frac = (temp_C - TEMP_POINTS_C[i]) / (TEMP_POINTS_C[i + 1] - TEMP_POINTS_C[i]); + return; + } + } +} + +// Invert torque table at a fixed speed row and temp: +// given desired torque, find the line current that produces it. +static float invert_torque_to_current(const float row[N_CURRENT], float torque_Nm) +{ + // Find the last monotonically increasing index + int monotonic_limit = 0; + for (int i = 1; i < N_CURRENT; i++) + { + if (row[i] <= row[i - 1]) + break; + monotonic_limit = i; + } + + float t_min = row[0]; + float t_max = row[monotonic_limit]; + float t_clamped = std::clamp(torque_Nm, t_min, t_max); + + int lo = 0, hi = monotonic_limit; + while (hi - lo > 1) + { + int mid = (lo + hi) / 2; + (row[mid] <= t_clamped) ? lo = mid : hi = mid; + } + + float frac = (row[hi] > row[lo]) ? (t_clamped - row[lo]) / (row[hi] - row[lo]) : 0.0f; + + return ((float)lo + frac) * CURRENT_STEP_A; +} + +float predict_line_current(float speed_rpm, float torque_Nm, float temp_C) +{ + int temp_lo, temp_hi; + float temp_frac; + temp_interp_params(temp_C, temp_lo, temp_hi, temp_frac); + + float speed_clamped = std::clamp(speed_rpm, 0.0f, SPEED_MAX_RPM); + int speed_id = std::min((int)(speed_clamped / SPEED_STEP_RPM), (int)N_SPEED - 2); + + float row_lo[N_CURRENT], row_hi[N_CURRENT]; + decompress_torque_row(temp_lo, speed_id, row_lo); + decompress_torque_row(temp_hi, speed_id, row_hi); + + float current_lo = invert_torque_to_current(row_lo, torque_Nm); + float current_hi = invert_torque_to_current(row_hi, torque_Nm); + + return lerp(current_lo, current_hi, temp_frac); +} + +float predict_dc_current(float speed_rpm, float torque_Nm, float temp_C, float dc_bus_voltage_V) +{ + float I_line = predict_line_current(speed_rpm, torque_Nm, temp_C); + + int temp_lo, temp_hi; + float temp_frac; + temp_interp_params(temp_C, temp_lo, temp_hi, temp_frac); + + float loss_lo = interp2d_loss(temp_lo, speed_rpm, I_line); + float loss_hi = interp2d_loss(temp_hi, speed_rpm, I_line); + float total_loss_W = lerp(loss_lo, loss_hi, temp_frac); + + float omega_rad_s = speed_rpm * RPM_TO_RAD_PER_SEC; + float P_mech_W = torque_Nm * omega_rad_s; + float P_elec_W = P_mech_W + total_loss_W; + + return P_elec_W / dc_bus_voltage_V; +} + +float lookup_torque(float speed_rpm, float current_A, float temp_C) +{ + int temp_lo, temp_hi; + float temp_frac; + temp_interp_params(temp_C, temp_lo, temp_hi, temp_frac); + + float torque_lo = interp2d_torque(temp_lo, speed_rpm, current_A); + float torque_hi = interp2d_torque(temp_hi, speed_rpm, current_A); + + return lerp(torque_lo, torque_hi, temp_frac); +} + +} // namespace MotorTable diff --git a/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table.hpp b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table.hpp new file mode 100644 index 0000000000..bfc733df71 --- /dev/null +++ b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table.hpp @@ -0,0 +1,25 @@ +// Compressed motor table: float32 baseline (row 0) + int16 cumulative deltas. +// Temperatures: 80C (id 0), 100C (id 1), 120C (id 2) +// Speed axis: 0-20000 rpm, 200 rpm steps, 101 entries +// Current axis: 0-105 A, 5.25 A steps, 21 entries + +#pragma once +#include +#include "app_units.h" + +namespace MotorTable +{ + +static constexpr uint8_t N_TEMP = 3; +static constexpr uint16_t N_SPEED = 101; +static constexpr uint8_t N_CURRENT = 21; + +extern const float SHAFT_TORQUE_BASELINE[N_TEMP][N_CURRENT]; +extern const int16_t SHAFT_TORQUE_DELTA[N_TEMP][N_SPEED - 1][N_CURRENT]; +extern const float TOTAL_LOSS_BASELINE[N_TEMP][N_CURRENT]; +extern const int16_t TOTAL_LOSS_DELTA[N_TEMP][N_SPEED - 1][N_CURRENT]; + +float predict_line_current(float speed_rpm, float torque_Nm, float temp_C); +float predict_dc_current(float speed_rpm, float torque_Nm, float temp_C, float dc_bus_voltage_V); +float lookup_torque(float speed_rpm, float current_A, float temp_C); +} // namespace MotorTable \ No newline at end of file diff --git a/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table_data.cpp b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table_data.cpp new file mode 100644 index 0000000000..5c8a158eed --- /dev/null +++ b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/motor_table_data.cpp @@ -0,0 +1,1406 @@ +#include "motor_table.hpp" + +namespace MotorTable +{ + +const float SHAFT_TORQUE_BASELINE[N_TEMP][N_CURRENT] = { + { 0.000000f, 1.531415f, 3.064464f, 4.580563f, 6.063950f, 7.501564f, 8.882920f, + 10.199976f, 11.447015f, 12.620624f, 13.722327f, 14.760365f, 15.749250f, 16.703417f, + 17.629599f, 18.525932f, 19.384949f, 20.197088f, 20.954475f, 21.655027f, 22.305653f }, // 80°C @ 0 rpm + { 0.000000f, 1.497423f, 2.996445f, 4.478892f, 5.929353f, 7.335059f, 8.685753f, + 9.973576f, 11.192936f, 12.340501f, 13.417935f, 14.433760f, 15.402729f, 16.339052f, + 17.248877f, 18.129774f, 18.973866f, 19.771282f, 20.513912f, 21.199524f, 21.834946f }, // 100°C @ 0 rpm + { 0.000000f, 1.463432f, 2.928426f, 4.377221f, 5.794757f, 7.168553f, 8.488587f, + 9.747176f, 10.938856f, 12.060378f, 13.113551f, 14.107198f, 15.056318f, 15.974860f, + 16.868361f, 17.733837f, 18.562998f, 19.345671f, 20.073517f, 20.744148f, 21.364332f }, // 120°C @ 0 rpm +}; + +const int16_t SHAFT_TORQUE_DELTA[N_TEMP][N_SPEED - 1][N_CURRENT] = { + // 80°C + { + { -870, -881, -905, -940, -983, -1035, -1093, -1155, -1221, -1286, -1338, + -1379, -1408, -1434, -1466, -1508, -1559, -1620, -1688, -1760, -1835 }, // 200 rpm + { -904, -916, -941, -977, -1023, -1077, -1137, -1203, -1272, -1340, -1396, + -1439, -1471, -1500, -1535, -1580, -1636, -1702, -1775, -1854, -1934 }, // 400 rpm + { -938, -951, -977, -1014, -1062, -1119, -1182, -1251, -1323, -1395, -1454, + -1500, -1534, -1566, -1604, -1653, -1713, -1784, -1863, -1947, -2034 }, // 600 rpm + { -972, -985, -1012, -1052, -1101, -1160, -1227, -1299, -1375, -1450, -1512, + -1561, -1598, -1632, -1673, -1726, -1790, -1865, -1950, -2040, -2134 }, // 800 rpm + { -1006, -1020, -1048, -1089, -1141, -1202, -1271, -1346, -1426, -1504, -1570, + -1622, -1661, -1698, -1742, -1798, -1867, -1947, -2037, -2134, -2234 }, // 1000 rpm + { -1040, -1054, -1084, -1126, -1180, -1244, -1316, -1394, -1477, -1559, -1628, + -1682, -1724, -1763, -1811, -1871, -1944, -2029, -2124, -2227, -2333 }, // 1200 rpm + { -1074, -1089, -1119, -1163, -1219, -1286, -1360, -1442, -1528, -1614, -1685, + -1743, -1787, -1829, -1880, -1943, -2020, -2110, -2211, -2320, -2433 }, // 1400 rpm + { -1108, -1124, -1155, -1201, -1259, -1327, -1405, -1490, -1579, -1668, -1743, + -1804, -1850, -1895, -1948, -2016, -2097, -2192, -2298, -2413, -2532 }, // 1600 rpm + { -1143, -1158, -1191, -1238, -1298, -1369, -1450, -1537, -1631, -1723, -1801, + -1864, -1914, -1961, -2017, -2088, -2174, -2274, -2385, -2506, -2631 }, // 1800 rpm + { -1177, -1193, -1226, -1275, -1337, -1411, -1494, -1585, -1682, -1778, -1859, + -1925, -1977, -2027, -2086, -2160, -2250, -2355, -2472, -2599, -2731 }, // 2000 rpm + { -1211, -1228, -1262, -1313, -1377, -1453, -1539, -1633, -1733, -1832, -1917, + -1985, -2040, -2092, -2155, -2233, -2327, -2437, -2559, -2692, -2830 }, // 2200 rpm + { -1245, -1262, -1298, -1350, -1416, -1495, -1583, -1681, -1784, -1887, -1975, + -2046, -2103, -2158, -2224, -2305, -2404, -2518, -2646, -2785, -2930 }, // 2400 rpm + { -1279, -1297, -1334, -1387, -1455, -1536, -1628, -1728, -1835, -1942, -2032, + -2107, -2166, -2224, -2292, -2378, -2480, -2600, -2733, -2878, -3029 }, // 2600 rpm + { -1313, -1331, -1369, -1424, -1495, -1578, -1673, -1776, -1886, -1996, -2090, + -2167, -2229, -2290, -2361, -2450, -2557, -2681, -2820, -2971, -3128 }, // 2800 rpm + { -1347, -1366, -1405, -1462, -1534, -1620, -1717, -1824, -1937, -2051, -2148, + -2228, -2292, -2355, -2430, -2522, -2634, -2763, -2907, -3064, -3227 }, // 3000 rpm + { -1381, -1401, -1441, -1499, -1573, -1662, -1762, -1871, -1989, -2106, -2206, + -2288, -2356, -2421, -2499, -2595, -2710, -2844, -2994, -3157, -3327 }, // 3200 rpm + { -1415, -1435, -1476, -1536, -1613, -1703, -1806, -1919, -2040, -2160, -2263, + -2349, -2419, -2487, -2567, -2667, -2787, -2926, -3081, -3250, -3426 }, // 3400 rpm + { -1449, -1470, -1512, -1573, -1652, -1745, -1851, -1967, -2091, -2215, -2321, + -2410, -2482, -2553, -2636, -2739, -2863, -3007, -3168, -3342, -3525 }, // 3600 rpm + { -1484, -1505, -1548, -1611, -1691, -1787, -1895, -2015, -2142, -2270, -2379, + -2470, -2545, -2618, -2705, -2812, -2940, -3088, -3255, -3435, -3624 }, // 3800 rpm + { -1518, -1539, -1583, -1648, -1731, -1829, -1940, -2062, -2193, -2324, -2437, + -2531, -2608, -2684, -2774, -2884, -3016, -3170, -3342, -3528, -3724 }, // 4000 rpm + { -1552, -1574, -1619, -1685, -1770, -1870, -1985, -2110, -2244, -2379, -2495, + -2591, -2671, -2750, -2842, -2956, -3093, -3251, -3429, -3621, -3823 }, // 4200 rpm + { -1586, -1608, -1655, -1723, -1809, -1912, -2029, -2158, -2295, -2434, -2552, + -2652, -2734, -2815, -2911, -3029, -3170, -3333, -3515, -3714, -3922 }, // 4400 rpm + { -1620, -1643, -1691, -1760, -1848, -1954, -2074, -2205, -2346, -2488, -2610, + -2713, -2797, -2881, -2980, -3101, -3246, -3414, -3602, -3807, -4021 }, // 4600 rpm + { -1654, -1678, -1726, -1797, -1888, -1996, -2118, -2253, -2398, -2543, -2668, + -2773, -2860, -2947, -3048, -3173, -3323, -3495, -3689, -3899, -4120 }, // 4800 rpm + { -1688, -1712, -1762, -1834, -1927, -2037, -2163, -2301, -2449, -2597, -2726, + -2834, -2923, -3012, -3117, -3245, -3399, -3577, -3776, -3992, -4219 }, // 5000 rpm + { -1722, -1747, -1798, -1872, -1966, -2079, -2207, -2349, -2500, -2652, -2783, + -2894, -2987, -3078, -3186, -3318, -3476, -3658, -3863, -4085, -4318 }, // 5200 rpm + { -1756, -1782, -1833, -1909, -2006, -2121, -2252, -2396, -2551, -2707, -2841, + -2955, -3050, -3144, -3254, -3390, -3552, -3739, -3950, -4178, -4418 }, // 5400 rpm + { -1790, -1816, -1869, -1946, -2045, -2163, -2297, -2444, -2602, -2761, -2899, + -3015, -3113, -3209, -3323, -3462, -3629, -3821, -4036, -4270, -4517 }, // 5600 rpm + { -1825, -1851, -1905, -1983, -2084, -2204, -2341, -2492, -2653, -2816, -2957, + -3076, -3176, -3275, -3392, -3535, -3705, -3902, -4123, -4363, -4616 }, // 5800 rpm + { -1859, -1885, -1940, -2021, -2124, -2246, -2386, -2539, -2704, -2870, -3014, + -3136, -3239, -3341, -3460, -3607, -3782, -3983, -4210, -4456, -4715 }, // 6000 rpm + { -1893, -1920, -1976, -2058, -2163, -2288, -2430, -2587, -2755, -2925, -3072, + -3197, -3302, -3406, -3529, -3679, -3858, -4065, -4297, -4549, -4814 }, // 6200 rpm + { -1927, -1955, -2012, -2095, -2202, -2330, -2475, -2635, -2806, -2980, -3130, + -3258, -3365, -3472, -3598, -3751, -3934, -4146, -4383, -4641, -4913 }, // 6400 rpm + { -1961, -1989, -2047, -2133, -2242, -2371, -2519, -2682, -2858, -3034, -3188, + -3318, -3428, -3538, -3666, -3824, -4011, -4227, -4470, -4734, -5012 }, // 6600 rpm + { -1995, -2024, -2083, -2170, -2281, -2413, -2564, -2730, -2909, -3089, -3245, + -3379, -3491, -3603, -3735, -3896, -4087, -4309, -4557, -4827, -5111 }, // 6800 rpm + { -2029, -2059, -2119, -2207, -2320, -2455, -2609, -2778, -2960, -3143, -3303, + -3439, -3554, -3669, -3804, -3968, -4164, -4390, -4644, -4920, -5210 }, // 7000 rpm + { -2063, -2093, -2155, -2244, -2359, -2497, -2653, -2826, -3011, -3198, -3361, + -3500, -3617, -3735, -3872, -4040, -4240, -4471, -4730, -5012, -5309 }, // 7200 rpm + { -2097, -2128, -2190, -2282, -2399, -2538, -2698, -2873, -3062, -3253, -3419, + -3560, -3680, -3800, -3941, -4112, -4317, -4553, -4817, -5105, -5408 }, // 7400 rpm + { -2131, -2162, -2226, -2319, -2438, -2580, -2742, -2921, -3113, -3307, -3476, + -3621, -3743, -3866, -4010, -4185, -4393, -4634, -4904, -5198, -5507 }, // 7600 rpm + { -2166, -2197, -2262, -2356, -2477, -2622, -2787, -2969, -3164, -3362, -3534, + -3681, -3806, -3931, -4078, -4257, -4470, -4715, -4991, -5290, -5606 }, // 7800 rpm + { -2200, -2232, -2297, -2393, -2517, -2664, -2831, -3016, -3215, -3416, -3592, + -3742, -3869, -3997, -4147, -4329, -4546, -4796, -5077, -5383, -5705 }, // 8000 rpm + { -2234, -2266, -2333, -2431, -2556, -2706, -2876, -3064, -3266, -3471, -3649, + -3802, -3932, -4063, -4215, -4401, -4622, -4878, -5164, -5476, -5804 }, // 8200 rpm + { -2268, -2301, -2369, -2468, -2595, -2747, -2921, -3112, -3318, -3526, -3707, + -3863, -3995, -4128, -4284, -4473, -4699, -4959, -5251, -5568, -5903 }, // 8400 rpm + { -2302, -2335, -2404, -2505, -2635, -2789, -2965, -3159, -3369, -3580, -3765, + -3923, -4058, -4194, -4353, -4546, -4775, -5040, -5337, -5661, -6002 }, // 8600 rpm + { -2336, -2370, -2440, -2542, -2674, -2831, -3010, -3207, -3420, -3635, -3823, + -3984, -4121, -4259, -4421, -4618, -4852, -5121, -5424, -5754, -6101 }, // 8800 rpm + { -2370, -2405, -2476, -2580, -2713, -2873, -3054, -3255, -3471, -3689, -3880, + -4044, -4185, -4325, -4490, -4690, -4928, -5203, -5511, -5846, -6200 }, // 9000 rpm + { -2404, -2439, -2511, -2617, -2752, -2914, -3099, -3303, -3522, -3744, -3938, + -4105, -4248, -4391, -4559, -4762, -5004, -5284, -5597, -5939, -6299 }, // 9200 rpm + { -2438, -2474, -2547, -2654, -2792, -2956, -3143, -3350, -3573, -3799, -3996, + -4165, -4311, -4456, -4627, -4834, -5081, -5365, -5684, -6031, -6398 }, // 9400 rpm + { -2472, -2509, -2583, -2692, -2831, -2998, -3188, -3398, -3624, -3853, -4054, + -4226, -4374, -4522, -4696, -4907, -5157, -5446, -5771, -6124, -6497 }, // 9600 rpm + { -2507, -2543, -2619, -2729, -2870, -3039, -3232, -3446, -3675, -3908, -4111, + -4286, -4437, -4588, -4764, -4979, -5234, -5528, -5857, -6217, -6596 }, // 9800 rpm + { -2541, -2578, -2654, -2766, -2910, -3081, -3277, -3493, -3726, -3962, -4169, + -4347, -4500, -4653, -4833, -5051, -5310, -5609, -5944, -6309, -6695 }, // 10000 rpm + { -2575, -2612, -2690, -2803, -2949, -3123, -3322, -3541, -3777, -4017, -4227, + -4407, -4563, -4719, -4902, -5123, -5386, -5690, -6031, -6402, -6794 }, // 10200 rpm + { -2609, -2647, -2726, -2841, -2988, -3165, -3366, -3589, -3829, -4072, -4284, + -4468, -4626, -4784, -4970, -5195, -5463, -5771, -6117, -6494, -6893 }, // 10400 rpm + { -2643, -2682, -2761, -2878, -3028, -3206, -3411, -3636, -3880, -4126, -4342, + -4529, -4689, -4850, -5039, -5267, -5539, -5853, -6204, -6587, -6992 }, // 10600 rpm + { -2677, -2716, -2797, -2915, -3067, -3248, -3455, -3684, -3931, -4181, -4400, + -4589, -4752, -4915, -5107, -5340, -5616, -5934, -6291, -6680, -7090 }, // 10800 rpm + { -2711, -2751, -2833, -2952, -3106, -3290, -3500, -3732, -3982, -4235, -4458, + -4650, -4815, -4981, -5176, -5412, -5692, -6015, -6377, -6772, -7189 }, // 11000 rpm + { -2745, -2786, -2868, -2990, -3145, -3332, -3544, -3779, -4033, -4290, -4515, + -4710, -4878, -5047, -5244, -5484, -5768, -6096, -6464, -6865, -7288 }, // 11200 rpm + { -2779, -2820, -2904, -3027, -3185, -3373, -3589, -3827, -4084, -4345, -4573, + -4771, -4941, -5112, -5313, -5556, -5845, -6177, -6551, -6957, -7387 }, // 11400 rpm + { -2813, -2855, -2940, -3064, -3224, -3415, -3634, -3875, -4135, -4399, -4631, + -4831, -5004, -5178, -5382, -5628, -5921, -6259, -6637, -7050, -7486 }, // 11600 rpm + { -2848, -2889, -2975, -3101, -3263, -3457, -3678, -3923, -4186, -4454, -4688, + -4892, -5067, -5243, -5450, -5700, -5997, -6340, -6724, -7142, -7585 }, // 11800 rpm + { -2882, -2924, -3011, -3139, -3303, -3499, -3723, -3970, -4237, -4508, -4746, + -4952, -5130, -5309, -5519, -5773, -6074, -6421, -6810, -7235, -7684 }, // 12000 rpm + { -2916, -2959, -3047, -3176, -3342, -3540, -3767, -4018, -4288, -4563, -4804, + -5013, -5193, -5375, -5587, -5845, -6150, -6502, -6897, -7328, -7783 }, // 12200 rpm + { -2950, -2993, -3083, -3213, -3381, -3582, -3812, -4066, -4339, -4617, -4862, + -5073, -5256, -5440, -5656, -5917, -6226, -6583, -6984, -7420, -7882 }, // 12400 rpm + { -2984, -3028, -3118, -3251, -3421, -3624, -3856, -4113, -4391, -4672, -4919, + -5134, -5319, -5506, -5724, -5989, -6303, -6664, -7070, -7513, -7980 }, // 12600 rpm + { -3018, -3062, -3154, -3288, -3460, -3666, -3901, -4161, -4442, -4727, -4977, + -5194, -5382, -5571, -5793, -6061, -6379, -6746, -7157, -7605, -8079 }, // 12800 rpm + { -3052, -3097, -3190, -3325, -3499, -3707, -3945, -4209, -4493, -4781, -5035, + -5255, -5445, -5637, -5862, -6133, -6455, -6827, -7243, -7698, -8178 }, // 13000 rpm + { -3086, -3132, -3225, -3362, -3538, -3749, -3990, -4256, -4544, -4836, -5092, + -5315, -5508, -5702, -5930, -6205, -6532, -6908, -7330, -7790, -8277 }, // 13200 rpm + { -3120, -3166, -3261, -3400, -3578, -3791, -4035, -4304, -4595, -4890, -5150, + -5375, -5571, -5768, -5999, -6277, -6608, -6989, -7417, -7883, -8376 }, // 13400 rpm + { -3154, -3201, -3297, -3437, -3617, -3833, -4079, -4352, -4646, -4945, -5208, + -5436, -5634, -5834, -6067, -6350, -6684, -7070, -7503, -7975, -8475 }, // 13600 rpm + { -3189, -3236, -3332, -3474, -3656, -3874, -4124, -4399, -4697, -4999, -5265, + -5496, -5697, -5899, -6136, -6422, -6761, -7151, -7590, -8068, -8574 }, // 13800 rpm + { -3223, -3270, -3368, -3511, -3696, -3916, -4168, -4447, -4748, -5054, -5323, + -5557, -5760, -5965, -6204, -6494, -6837, -7233, -7676, -8160, -8673 }, // 14000 rpm + { -3257, -3305, -3404, -3549, -3735, -3958, -4213, -4495, -4799, -5109, -5381, + -5617, -5823, -6030, -6273, -6566, -6913, -7314, -7763, -8253, -8771 }, // 14200 rpm + { -3291, -3339, -3439, -3586, -3774, -4000, -4257, -4542, -4850, -5163, -5439, + -5678, -5886, -6096, -6341, -6638, -6990, -7395, -7850, -8345, -8870 }, // 14400 rpm + { -3325, -3374, -3475, -3623, -3814, -4041, -4302, -4590, -4901, -5218, -5496, + -5738, -5949, -6161, -6410, -6710, -7066, -7476, -7936, -8438, -8969 }, // 14600 rpm + { -3359, -3409, -3511, -3660, -3853, -4083, -4346, -4638, -4952, -5272, -5554, + -5799, -6012, -6227, -6478, -6782, -7142, -7557, -8023, -8531, -9068 }, // 14800 rpm + { -3393, -3443, -3546, -3698, -3892, -4125, -4391, -4685, -5004, -5327, -5612, + -5859, -6075, -6292, -6547, -6854, -7219, -7638, -8109, -8623, -9167 }, // 15000 rpm + { -3427, -3478, -3582, -3735, -3931, -4167, -4435, -4733, -5055, -5381, -5669, + -5920, -6138, -6358, -6616, -6927, -7295, -7720, -8196, -8716, -9265 }, // 15200 rpm + { -3461, -3513, -3618, -3772, -3971, -4208, -4480, -4781, -5106, -5436, -5727, + -5980, -6201, -6424, -6684, -6999, -7371, -7801, -8282, -8808, -9364 }, // 15400 rpm + { -3495, -3547, -3654, -3810, -4010, -4250, -4525, -4829, -5157, -5491, -5785, + -6041, -6264, -6489, -6753, -7071, -7448, -7882, -8369, -8901, -9463 }, // 15600 rpm + { -3529, -3582, -3689, -3847, -4049, -4292, -4569, -4876, -5208, -5545, -5842, + -6101, -6327, -6555, -6821, -7143, -7524, -7963, -8455, -8993, -9562 }, // 15800 rpm + { -3564, -3616, -3725, -3884, -4089, -4334, -4614, -4924, -5259, -5600, -5900, + -6162, -6390, -6620, -6890, -7215, -7600, -8044, -8542, -9086, -9661 }, // 16000 rpm + { -3598, -3651, -3761, -3921, -4128, -4375, -4658, -4972, -5310, -5654, -5958, + -6222, -6453, -6686, -6958, -7287, -7677, -8125, -8629, -9178, -9760 }, // 16200 rpm + { -3632, -3686, -3796, -3959, -4167, -4417, -4703, -5019, -5361, -5709, -6015, + -6283, -6515, -6751, -7027, -7359, -7753, -8206, -8715, -9270, -9834 }, // 16400 rpm + { -3666, -3720, -3832, -3996, -4207, -4459, -4747, -5067, -5412, -5763, -6073, + -6343, -6578, -6817, -7095, -7431, -7829, -8287, -8802, -9363, -10213 }, // 16600 rpm + { -3700, -3755, -3868, -4033, -4246, -4501, -4792, -5115, -5463, -5818, -6131, + -6404, -6641, -6882, -7164, -7503, -7905, -8369, -8888, -9400, -10853 }, // 16800 rpm + { -3734, -3789, -3903, -4070, -4285, -4542, -4836, -5162, -5514, -5873, -6189, + -6464, -6704, -6948, -7232, -7575, -7982, -8450, -8975, -9657, -11689 }, // 17000 rpm + { -3768, -3824, -3939, -4108, -4324, -4584, -4881, -5210, -5565, -5927, -6246, + -6525, -6767, -7013, -7301, -7648, -8058, -8531, -8987, -10125, -12679 }, // 17200 rpm + { -3802, -3859, -3975, -4145, -4364, -4626, -4926, -5258, -5617, -5982, -6304, + -6585, -6830, -7079, -7369, -7720, -8134, -8612, -9149, -10754, -13677 }, // 17400 rpm + { -3836, -3893, -4010, -4182, -4403, -4667, -4970, -5305, -5668, -6036, -6362, + -6646, -6893, -7145, -7438, -7792, -8211, -8611, -9481, -11510, -14654 }, // 17600 rpm + { -3870, -3928, -4046, -4219, -4442, -4709, -5015, -5353, -5719, -6091, -6419, + -6706, -6956, -7210, -7506, -7864, -8287, -8706, -9946, -12370, -15621 }, // 17800 rpm + { -3905, -3963, -4082, -4257, -4482, -4751, -5059, -5401, -5770, -6145, -6477, + -6767, -7019, -7276, -7575, -7936, -8275, -8936, -10519, -13316, -16578 }, // 18000 rpm + { -3939, -3997, -4117, -4294, -4521, -4793, -5104, -5448, -5821, -6200, -6535, + -6827, -7082, -7341, -7643, -8008, -8329, -9277, -11181, -14274, -17527 }, // 18200 rpm + { -3973, -4032, -4153, -4331, -4560, -4834, -5148, -5496, -5872, -6255, -6592, + -6887, -7145, -7407, -7712, -7977, -8489, -9708, -11918, -15214, -18467 }, // 18400 rpm + { -4007, -4066, -4189, -4368, -4599, -4876, -5193, -5544, -5923, -6309, -6650, + -6948, -7208, -7472, -7744, -8013, -8738, -10216, -12718, -16146, -19399 }, // 18600 rpm + { -4041, -4101, -4225, -4406, -4639, -4918, -5237, -5591, -5974, -6364, -6708, + -7008, -7271, -7536, -7716, -8129, -9062, -10789, -13572, -17070, -20323 }, // 18800 rpm + { -4075, -4136, -4260, -4443, -4678, -4960, -5282, -5639, -6025, -6418, -6765, + -7069, -7316, -7491, -7751, -8314, -9450, -11417, -14471, -17986, -21239 }, // 19000 rpm + { -4109, -4170, -4296, -4480, -4717, -5001, -5326, -5687, -6076, -6473, -6823, + -7082, -7281, -7493, -7845, -8560, -9894, -12092, -15390, -18892, -22146 }, // 19200 rpm + { -4143, -4205, -4332, -4518, -4757, -5043, -5371, -5734, -6127, -6527, -6832, + -7063, -7279, -7539, -7991, -8859, -10385, -12808, -16287, -19790, -23043 }, // 19400 rpm + { -4177, -4240, -4367, -4555, -4796, -5085, -5416, -5782, -6178, -6572, -6823, + -7068, -7309, -7626, -8184, -9204, -10918, -13559, -17175, -20678, -23931 }, // 19600 rpm + { -4211, -4274, -4403, -4592, -4835, -5127, -5460, -5830, -6229, -6561, -6832, + -7096, -7369, -7752, -8419, -9589, -11487, -14340, -18053, -21556, -24809 }, // 19800 rpm + { -4246, -4309, -4439, -4629, -4875, -5168, -5505, -5877, -6280, -6566, -6860, + -7146, -7458, -7912, -8691, -10010, -12086, -15148, -18921, -22423, -25676 }, // 20000 rpm + }, + // 100°C + { + { -870, -881, -905, -940, -983, -1035, -1093, -1155, -1221, -1285, -1338, + -1377, -1405, -1431, -1463, -1504, -1556, -1617, -1686, -1759, -1833 }, // 200 rpm + { -904, -916, -941, -977, -1023, -1077, -1137, -1203, -1272, -1340, -1395, + -1438, -1468, -1496, -1531, -1577, -1633, -1699, -1773, -1852, -1933 }, // 400 rpm + { -938, -951, -977, -1014, -1062, -1119, -1182, -1251, -1323, -1395, -1453, + -1498, -1531, -1562, -1600, -1649, -1710, -1781, -1860, -1945, -2033 }, // 600 rpm + { -972, -985, -1012, -1052, -1101, -1160, -1227, -1299, -1375, -1450, -1511, + -1559, -1594, -1628, -1669, -1722, -1787, -1862, -1947, -2039, -2133 }, // 800 rpm + { -1006, -1020, -1048, -1089, -1141, -1202, -1271, -1346, -1426, -1504, -1569, + -1620, -1657, -1694, -1738, -1794, -1863, -1944, -2034, -2132, -2232 }, // 1000 rpm + { -1040, -1054, -1084, -1126, -1180, -1244, -1316, -1394, -1477, -1559, -1627, + -1680, -1721, -1759, -1807, -1867, -1940, -2026, -2122, -2225, -2332 }, // 1200 rpm + { -1074, -1089, -1119, -1163, -1219, -1286, -1360, -1442, -1528, -1614, -1685, + -1741, -1784, -1825, -1875, -1939, -2017, -2107, -2209, -2318, -2431 }, // 1400 rpm + { -1108, -1124, -1155, -1201, -1259, -1327, -1405, -1490, -1579, -1668, -1742, + -1801, -1847, -1891, -1944, -2011, -2093, -2189, -2296, -2411, -2530 }, // 1600 rpm + { -1143, -1158, -1191, -1238, -1298, -1369, -1450, -1537, -1631, -1723, -1800, + -1862, -1910, -1956, -2013, -2084, -2170, -2270, -2382, -2504, -2630 }, // 1800 rpm + { -1177, -1193, -1226, -1275, -1337, -1411, -1494, -1585, -1682, -1778, -1858, + -1922, -1973, -2022, -2081, -2156, -2246, -2352, -2469, -2597, -2729 }, // 2000 rpm + { -1211, -1228, -1262, -1313, -1377, -1453, -1539, -1633, -1733, -1832, -1916, + -1983, -2036, -2088, -2150, -2228, -2323, -2433, -2556, -2690, -2828 }, // 2200 rpm + { -1245, -1262, -1298, -1350, -1416, -1495, -1583, -1681, -1784, -1887, -1974, + -2043, -2099, -2153, -2219, -2300, -2399, -2514, -2643, -2783, -2928 }, // 2400 rpm + { -1279, -1297, -1334, -1387, -1455, -1536, -1628, -1728, -1835, -1942, -2031, + -2104, -2162, -2219, -2287, -2373, -2476, -2596, -2730, -2875, -3027 }, // 2600 rpm + { -1313, -1331, -1369, -1424, -1495, -1578, -1673, -1776, -1886, -1996, -2089, + -2165, -2225, -2284, -2356, -2445, -2552, -2677, -2817, -2968, -3126 }, // 2800 rpm + { -1347, -1366, -1405, -1462, -1534, -1620, -1717, -1824, -1937, -2051, -2147, + -2225, -2288, -2350, -2424, -2517, -2629, -2758, -2904, -3061, -3225 }, // 3000 rpm + { -1381, -1401, -1441, -1499, -1573, -1662, -1762, -1871, -1989, -2106, -2205, + -2286, -2351, -2415, -2493, -2589, -2705, -2840, -2991, -3154, -3325 }, // 3200 rpm + { -1415, -1435, -1476, -1536, -1613, -1703, -1806, -1919, -2040, -2160, -2262, + -2346, -2414, -2481, -2561, -2661, -2782, -2921, -3077, -3247, -3424 }, // 3400 rpm + { -1449, -1470, -1512, -1573, -1652, -1745, -1851, -1967, -2091, -2215, -2320, + -2407, -2477, -2547, -2630, -2734, -2858, -3002, -3164, -3339, -3523 }, // 3600 rpm + { -1484, -1505, -1548, -1611, -1691, -1787, -1895, -2015, -2142, -2269, -2378, + -2467, -2540, -2612, -2699, -2806, -2934, -3084, -3251, -3432, -3622 }, // 3800 rpm + { -1518, -1539, -1583, -1648, -1731, -1829, -1940, -2062, -2193, -2324, -2436, + -2528, -2603, -2678, -2767, -2878, -3011, -3165, -3338, -3525, -3721 }, // 4000 rpm + { -1552, -1574, -1619, -1685, -1770, -1870, -1985, -2110, -2244, -2379, -2493, + -2588, -2666, -2743, -2836, -2950, -3087, -3246, -3424, -3618, -3820 }, // 4200 rpm + { -1586, -1608, -1655, -1723, -1809, -1912, -2029, -2158, -2295, -2433, -2551, + -2649, -2729, -2809, -2904, -3022, -3164, -3328, -3511, -3710, -3919 }, // 4400 rpm + { -1620, -1643, -1691, -1760, -1848, -1954, -2074, -2205, -2346, -2488, -2609, + -2709, -2792, -2874, -2973, -3094, -3240, -3409, -3598, -3803, -4018 }, // 4600 rpm + { -1654, -1678, -1726, -1797, -1888, -1996, -2118, -2253, -2398, -2543, -2666, + -2770, -2855, -2940, -3041, -3166, -3316, -3490, -3685, -3896, -4118 }, // 4800 rpm + { -1688, -1712, -1762, -1834, -1927, -2037, -2163, -2301, -2449, -2597, -2724, + -2830, -2918, -3005, -3110, -3239, -3393, -3571, -3771, -3989, -4217 }, // 5000 rpm + { -1722, -1747, -1798, -1872, -1966, -2079, -2207, -2349, -2500, -2652, -2782, + -2891, -2981, -3071, -3178, -3311, -3469, -3652, -3858, -4081, -4316 }, // 5200 rpm + { -1756, -1782, -1833, -1909, -2006, -2121, -2252, -2396, -2551, -2706, -2840, + -2951, -3044, -3136, -3247, -3383, -3545, -3734, -3945, -4174, -4415 }, // 5400 rpm + { -1790, -1816, -1869, -1946, -2045, -2163, -2297, -2444, -2602, -2761, -2897, + -3011, -3107, -3202, -3315, -3455, -3622, -3815, -4031, -4267, -4514 }, // 5600 rpm + { -1825, -1851, -1905, -1983, -2084, -2204, -2341, -2492, -2653, -2816, -2955, + -3072, -3169, -3267, -3384, -3527, -3698, -3896, -4118, -4359, -4613 }, // 5800 rpm + { -1859, -1885, -1940, -2021, -2124, -2246, -2386, -2539, -2704, -2870, -3013, + -3132, -3232, -3333, -3452, -3599, -3774, -3977, -4205, -4452, -4712 }, // 6000 rpm + { -1893, -1920, -1976, -2058, -2163, -2288, -2430, -2587, -2755, -2925, -3070, + -3193, -3295, -3398, -3521, -3671, -3851, -4059, -4291, -4545, -4811 }, // 6200 rpm + { -1927, -1955, -2012, -2095, -2202, -2330, -2475, -2635, -2806, -2979, -3128, + -3253, -3358, -3464, -3589, -3743, -3927, -4140, -4378, -4637, -4910 }, // 6400 rpm + { -1961, -1989, -2047, -2133, -2242, -2371, -2519, -2682, -2858, -3034, -3186, + -3314, -3421, -3529, -3658, -3815, -4003, -4221, -4465, -4730, -5009 }, // 6600 rpm + { -1995, -2024, -2083, -2170, -2281, -2413, -2564, -2730, -2909, -3089, -3244, + -3374, -3484, -3595, -3726, -3887, -4080, -4302, -4551, -4822, -5108 }, // 6800 rpm + { -2029, -2059, -2119, -2207, -2320, -2455, -2609, -2778, -2960, -3143, -3301, + -3435, -3547, -3660, -3795, -3960, -4156, -4383, -4638, -4915, -5207 }, // 7000 rpm + { -2063, -2093, -2155, -2244, -2359, -2497, -2653, -2826, -3011, -3198, -3359, + -3495, -3610, -3726, -3863, -4032, -4232, -4464, -4725, -5008, -5306 }, // 7200 rpm + { -2097, -2128, -2190, -2282, -2399, -2538, -2698, -2873, -3062, -3252, -3417, + -3556, -3673, -3791, -3932, -4104, -4309, -4546, -4811, -5100, -5405 }, // 7400 rpm + { -2131, -2162, -2226, -2319, -2438, -2580, -2742, -2921, -3113, -3307, -3474, + -3616, -3736, -3857, -4000, -4176, -4385, -4627, -4898, -5193, -5504 }, // 7600 rpm + { -2166, -2197, -2262, -2356, -2477, -2622, -2787, -2969, -3164, -3362, -3532, + -3677, -3799, -3922, -4069, -4248, -4461, -4708, -4984, -5285, -5603 }, // 7800 rpm + { -2200, -2232, -2297, -2393, -2517, -2664, -2831, -3016, -3215, -3416, -3590, + -3737, -3862, -3988, -4137, -4320, -4538, -4789, -5071, -5378, -5702 }, // 8000 rpm + { -2234, -2266, -2333, -2431, -2556, -2706, -2876, -3064, -3266, -3471, -3648, + -3797, -3925, -4053, -4206, -4392, -4614, -4870, -5158, -5471, -5800 }, // 8200 rpm + { -2268, -2301, -2369, -2468, -2595, -2747, -2921, -3112, -3318, -3525, -3705, + -3858, -3987, -4119, -4274, -4464, -4690, -4951, -5244, -5563, -5899 }, // 8400 rpm + { -2302, -2335, -2404, -2505, -2635, -2789, -2965, -3159, -3369, -3580, -3763, + -3918, -4050, -4184, -4343, -4536, -4766, -5032, -5331, -5656, -5998 }, // 8600 rpm + { -2336, -2370, -2440, -2542, -2674, -2831, -3010, -3207, -3420, -3635, -3821, + -3979, -4113, -4250, -4411, -4608, -4843, -5114, -5417, -5748, -6097 }, // 8800 rpm + { -2370, -2405, -2476, -2580, -2713, -2873, -3054, -3255, -3471, -3689, -3878, + -4039, -4176, -4315, -4479, -4680, -4919, -5195, -5504, -5841, -6196 }, // 9000 rpm + { -2404, -2439, -2511, -2617, -2752, -2914, -3099, -3303, -3522, -3744, -3936, + -4100, -4239, -4380, -4548, -4752, -4995, -5276, -5591, -5933, -6295 }, // 9200 rpm + { -2438, -2474, -2547, -2654, -2792, -2956, -3143, -3350, -3573, -3798, -3994, + -4160, -4302, -4446, -4616, -4824, -5071, -5357, -5677, -6026, -6394 }, // 9400 rpm + { -2472, -2509, -2583, -2692, -2831, -2998, -3188, -3398, -3624, -3853, -4051, + -4221, -4365, -4511, -4685, -4896, -5148, -5438, -5764, -6118, -6493 }, // 9600 rpm + { -2507, -2543, -2619, -2729, -2870, -3040, -3232, -3446, -3675, -3908, -4109, + -4281, -4428, -4577, -4753, -4968, -5224, -5519, -5850, -6211, -6592 }, // 9800 rpm + { -2541, -2578, -2654, -2766, -2910, -3081, -3277, -3493, -3726, -3962, -4167, + -4341, -4491, -4642, -4822, -5040, -5300, -5600, -5937, -6304, -6691 }, // 10000 rpm + { -2575, -2612, -2690, -2803, -2949, -3123, -3322, -3541, -3777, -4017, -4224, + -4402, -4554, -4708, -4890, -5112, -5376, -5681, -6023, -6396, -6789 }, // 10200 rpm + { -2609, -2647, -2726, -2841, -2988, -3165, -3366, -3589, -3829, -4071, -4282, + -4462, -4616, -4773, -4959, -5184, -5453, -5762, -6110, -6489, -6888 }, // 10400 rpm + { -2643, -2682, -2761, -2878, -3028, -3206, -3411, -3636, -3880, -4126, -4340, + -4523, -4679, -4839, -5027, -5256, -5529, -5844, -6196, -6581, -6987 }, // 10600 rpm + { -2677, -2716, -2797, -2915, -3067, -3248, -3455, -3684, -3931, -4180, -4398, + -4583, -4742, -4904, -5095, -5328, -5605, -5925, -6283, -6674, -7086 }, // 10800 rpm + { -2711, -2751, -2833, -2952, -3106, -3290, -3500, -3732, -3982, -4235, -4455, + -4644, -4805, -4969, -5164, -5400, -5681, -6006, -6370, -6766, -7185 }, // 11000 rpm + { -2745, -2786, -2868, -2990, -3145, -3332, -3544, -3779, -4033, -4290, -4513, + -4704, -4868, -5035, -5232, -5472, -5758, -6087, -6456, -6859, -7284 }, // 11200 rpm + { -2779, -2820, -2904, -3027, -3185, -3373, -3589, -3827, -4084, -4344, -4571, + -4764, -4931, -5100, -5301, -5544, -5834, -6168, -6543, -6951, -7383 }, // 11400 rpm + { -2813, -2855, -2940, -3064, -3224, -3415, -3634, -3875, -4135, -4399, -4628, + -4825, -4994, -5166, -5369, -5616, -5910, -6249, -6629, -7044, -7481 }, // 11600 rpm + { -2848, -2889, -2975, -3101, -3263, -3457, -3678, -3923, -4186, -4453, -4686, + -4885, -5057, -5231, -5437, -5688, -5986, -6330, -6716, -7136, -7580 }, // 11800 rpm + { -2882, -2924, -3011, -3139, -3303, -3499, -3723, -3970, -4237, -4508, -4744, + -4946, -5120, -5297, -5506, -5760, -6062, -6411, -6802, -7229, -7679 }, // 12000 rpm + { -2916, -2959, -3047, -3176, -3342, -3540, -3767, -4018, -4288, -4562, -4801, + -5006, -5182, -5362, -5574, -5832, -6139, -6492, -6889, -7321, -7778 }, // 12200 rpm + { -2950, -2993, -3082, -3213, -3381, -3582, -3812, -4066, -4339, -4617, -4859, + -5067, -5245, -5427, -5643, -5904, -6215, -6573, -6975, -7413, -7877 }, // 12400 rpm + { -2984, -3028, -3118, -3251, -3421, -3624, -3856, -4113, -4391, -4672, -4917, + -5127, -5308, -5493, -5711, -5976, -6291, -6654, -7062, -7506, -7975 }, // 12600 rpm + { -3018, -3062, -3154, -3288, -3460, -3666, -3901, -4161, -4442, -4726, -4974, + -5187, -5371, -5558, -5780, -6048, -6367, -6735, -7148, -7598, -8074 }, // 12800 rpm + { -3052, -3097, -3190, -3325, -3499, -3707, -3945, -4209, -4493, -4781, -5032, + -5248, -5434, -5624, -5848, -6120, -6444, -6816, -7235, -7691, -8173 }, // 13000 rpm + { -3086, -3132, -3225, -3362, -3538, -3749, -3990, -4256, -4544, -4835, -5090, + -5308, -5497, -5689, -5916, -6192, -6520, -6897, -7321, -7783, -8272 }, // 13200 rpm + { -3120, -3166, -3261, -3400, -3578, -3791, -4035, -4304, -4595, -4890, -5147, + -5369, -5560, -5755, -5985, -6264, -6596, -6978, -7408, -7876, -8371 }, // 13400 rpm + { -3154, -3201, -3297, -3437, -3617, -3833, -4079, -4352, -4646, -4944, -5205, + -5429, -5622, -5820, -6053, -6336, -6672, -7059, -7494, -7968, -8469 }, // 13600 rpm + { -3189, -3236, -3332, -3474, -3656, -3874, -4124, -4399, -4697, -4999, -5263, + -5489, -5685, -5885, -6122, -6408, -6748, -7141, -7581, -8061, -8568 }, // 13800 rpm + { -3223, -3270, -3368, -3511, -3696, -3916, -4168, -4447, -4748, -5054, -5320, + -5550, -5748, -5951, -6190, -6480, -6824, -7222, -7667, -8153, -8667 }, // 14000 rpm + { -3257, -3305, -3404, -3549, -3735, -3958, -4213, -4495, -4799, -5108, -5378, + -5610, -5811, -6016, -6258, -6552, -6901, -7303, -7754, -8246, -8766 }, // 14200 rpm + { -3291, -3339, -3439, -3586, -3774, -4000, -4257, -4542, -4850, -5163, -5436, + -5671, -5874, -6082, -6327, -6624, -6977, -7384, -7840, -8338, -8865 }, // 14400 rpm + { -3325, -3374, -3475, -3623, -3814, -4041, -4302, -4590, -4901, -5217, -5493, + -5731, -5937, -6147, -6395, -6696, -7053, -7465, -7926, -8430, -8963 }, // 14600 rpm + { -3359, -3409, -3511, -3660, -3853, -4083, -4346, -4638, -4952, -5272, -5551, + -5791, -6000, -6212, -6463, -6768, -7129, -7546, -8013, -8523, -9062 }, // 14800 rpm + { -3393, -3443, -3546, -3698, -3892, -4125, -4391, -4685, -5004, -5326, -5609, + -5852, -6063, -6278, -6532, -6840, -7205, -7627, -8099, -8615, -9161 }, // 15000 rpm + { -3427, -3478, -3582, -3735, -3931, -4167, -4435, -4733, -5055, -5381, -5666, + -5912, -6125, -6343, -6600, -6912, -7282, -7708, -8186, -8708, -9260 }, // 15200 rpm + { -3461, -3513, -3618, -3772, -3971, -4208, -4480, -4781, -5106, -5436, -5724, + -5973, -6188, -6409, -6669, -6984, -7358, -7789, -8272, -8800, -9358 }, // 15400 rpm + { -3495, -3547, -3654, -3810, -4010, -4250, -4525, -4828, -5157, -5490, -5782, + -6033, -6251, -6474, -6737, -7056, -7434, -7870, -8359, -8892, -9457 }, // 15600 rpm + { -3529, -3582, -3689, -3847, -4049, -4292, -4569, -4876, -5208, -5545, -5839, + -6094, -6314, -6539, -6805, -7128, -7510, -7951, -8445, -8985, -9556 }, // 15800 rpm + { -3564, -3616, -3725, -3884, -4089, -4334, -4614, -4924, -5259, -5599, -5897, + -6154, -6377, -6605, -6874, -7200, -7586, -8032, -8532, -9077, -9655 }, // 16000 rpm + { -3598, -3651, -3761, -3921, -4128, -4375, -4658, -4972, -5310, -5654, -5955, + -6214, -6440, -6670, -6942, -7272, -7662, -8113, -8618, -9170, -9753 }, // 16200 rpm + { -3632, -3686, -3796, -3959, -4167, -4417, -4703, -5019, -5361, -5708, -6012, + -6275, -6502, -6736, -7010, -7344, -7739, -8194, -8705, -9262, -9810 }, // 16400 rpm + { -3666, -3720, -3832, -3996, -4207, -4459, -4747, -5067, -5412, -5763, -6070, + -6335, -6565, -6801, -7079, -7416, -7815, -8275, -8791, -9354, -10122 }, // 16600 rpm + { -3700, -3755, -3868, -4033, -4246, -4501, -4792, -5115, -5463, -5818, -6128, + -6396, -6628, -6866, -7147, -7487, -7891, -8356, -8877, -9390, -10726 }, // 16800 rpm + { -3734, -3789, -3903, -4070, -4285, -4542, -4836, -5162, -5514, -5872, -6185, + -6456, -6691, -6932, -7216, -7559, -7967, -8437, -8964, -9584, -11545 }, // 17000 rpm + { -3768, -3824, -3939, -4108, -4324, -4584, -4881, -5210, -5565, -5927, -6243, + -6516, -6754, -6997, -7284, -7631, -8043, -8518, -8993, -10012, -12525 }, // 17200 rpm + { -3802, -3859, -3975, -4145, -4364, -4626, -4926, -5258, -5617, -5981, -6301, + -6577, -6817, -7062, -7352, -7703, -8119, -8599, -9094, -10617, -13495 }, // 17400 rpm + { -3836, -3893, -4010, -4182, -4403, -4667, -4970, -5305, -5668, -6036, -6358, + -6637, -6880, -7128, -7421, -7775, -8195, -8633, -9382, -11361, -14452 }, // 17600 rpm + { -3870, -3928, -4046, -4219, -4442, -4709, -5015, -5353, -5719, -6090, -6416, + -6697, -6942, -7193, -7489, -7847, -8272, -8668, -9817, -12217, -15400 }, // 17800 rpm + { -3905, -3963, -4082, -4257, -4482, -4751, -5059, -5401, -5770, -6145, -6474, + -6758, -7005, -7259, -7557, -7919, -8310, -8852, -10369, -13161, -16338 }, // 18000 rpm + { -3939, -3997, -4117, -4294, -4521, -4793, -5104, -5448, -5821, -6199, -6531, + -6818, -7068, -7324, -7626, -7991, -8307, -9158, -11019, -14092, -17269 }, // 18200 rpm + { -3973, -4032, -4153, -4331, -4560, -4834, -5148, -5496, -5872, -6254, -6589, + -6879, -7131, -7389, -7694, -8019, -8420, -9562, -11749, -15015, -18192 }, // 18400 rpm + { -4007, -4066, -4189, -4368, -4599, -4876, -5193, -5544, -5923, -6309, -6646, + -6939, -7194, -7455, -7762, -8003, -8631, -10050, -12547, -15930, -19107 }, // 18600 rpm + { -4041, -4101, -4225, -4406, -4639, -4918, -5237, -5591, -5974, -6363, -6704, + -6999, -7257, -7520, -7754, -8074, -8924, -10608, -13403, -16837, -20014 }, // 18800 rpm + { -4075, -4136, -4260, -4443, -4678, -4960, -5282, -5639, -6025, -6418, -6762, + -7060, -7319, -7558, -7745, -8221, -9287, -11226, -14308, -17737, -20914 }, // 19000 rpm + { -4109, -4170, -4296, -4480, -4717, -5001, -5326, -5687, -6076, -6472, -6819, + -7120, -7354, -7520, -7798, -8433, -9710, -11894, -15199, -18627, -21804 }, // 19200 rpm + { -4143, -4205, -4332, -4518, -4757, -5043, -5371, -5734, -6127, -6527, -6877, + -7133, -7320, -7528, -7907, -8703, -10185, -12606, -16081, -19509, -22686 }, // 19400 rpm + { -4177, -4240, -4367, -4555, -4796, -5085, -5416, -5782, -6178, -6581, -6893, + -7113, -7318, -7580, -8067, -9023, -10704, -13356, -16953, -20381, -23558 }, // 19600 rpm + { -4211, -4274, -4403, -4592, -4835, -5127, -5460, -5830, -6229, -6636, -6881, + -7115, -7347, -7672, -8273, -9387, -11261, -14140, -17815, -21243, -24420 }, // 19800 rpm + { -4246, -4309, -4439, -4629, -4875, -5168, -5505, -5877, -6280, -6625, -6886, + -7139, -7406, -7802, -8518, -9789, -11853, -14951, -18667, -22095, -25272 }, // 20000 rpm + }, + // 120°C + { + { -870, -881, -905, -940, -983, -1035, -1093, -1155, -1221, -1285, -1337, + -1375, -1402, -1427, -1459, -1501, -1553, -1615, -1684, -1757, -1832 }, // 200 rpm + { -904, -916, -941, -977, -1023, -1077, -1137, -1203, -1272, -1340, -1395, + -1436, -1465, -1493, -1528, -1573, -1630, -1696, -1771, -1850, -1932 }, // 400 rpm + { -938, -951, -977, -1014, -1062, -1119, -1182, -1251, -1323, -1395, -1453, + -1496, -1528, -1558, -1596, -1646, -1707, -1778, -1858, -1944, -2032 }, // 600 rpm + { -972, -985, -1012, -1052, -1101, -1160, -1227, -1299, -1375, -1450, -1510, + -1557, -1591, -1624, -1665, -1718, -1783, -1860, -1945, -2037, -2131 }, // 800 rpm + { -1006, -1020, -1048, -1089, -1141, -1202, -1271, -1346, -1426, -1504, -1568, + -1617, -1654, -1689, -1734, -1790, -1860, -1941, -2032, -2130, -2231 }, // 1000 rpm + { -1040, -1054, -1084, -1126, -1180, -1244, -1316, -1394, -1477, -1559, -1626, + -1678, -1717, -1755, -1802, -1862, -1936, -2022, -2119, -2223, -2330 }, // 1200 rpm + { -1074, -1089, -1119, -1163, -1219, -1286, -1360, -1442, -1528, -1614, -1684, + -1738, -1780, -1821, -1871, -1935, -2013, -2104, -2206, -2316, -2429 }, // 1400 rpm + { -1108, -1124, -1155, -1201, -1259, -1327, -1405, -1490, -1579, -1668, -1741, + -1799, -1843, -1886, -1939, -2007, -2089, -2185, -2293, -2409, -2529 }, // 1600 rpm + { -1143, -1158, -1191, -1238, -1298, -1369, -1450, -1537, -1631, -1723, -1799, + -1859, -1906, -1951, -2008, -2079, -2166, -2267, -2380, -2501, -2628 }, // 1800 rpm + { -1177, -1193, -1226, -1275, -1337, -1411, -1494, -1585, -1682, -1778, -1857, + -1920, -1969, -2017, -2076, -2151, -2242, -2348, -2466, -2594, -2727 }, // 2000 rpm + { -1211, -1228, -1262, -1313, -1377, -1453, -1539, -1633, -1733, -1832, -1915, + -1980, -2032, -2082, -2145, -2223, -2318, -2429, -2553, -2687, -2827 }, // 2200 rpm + { -1245, -1262, -1298, -1350, -1416, -1495, -1583, -1681, -1784, -1887, -1972, + -2041, -2094, -2148, -2213, -2295, -2395, -2510, -2640, -2780, -2926 }, // 2400 rpm + { -1279, -1297, -1334, -1387, -1455, -1536, -1628, -1728, -1835, -1941, -2030, + -2101, -2157, -2213, -2282, -2367, -2471, -2592, -2727, -2873, -3025 }, // 2600 rpm + { -1313, -1331, -1369, -1424, -1495, -1578, -1673, -1776, -1886, -1996, -2088, + -2162, -2220, -2279, -2350, -2439, -2547, -2673, -2813, -2966, -3124 }, // 2800 rpm + { -1347, -1366, -1405, -1462, -1534, -1620, -1717, -1824, -1937, -2051, -2146, + -2222, -2283, -2344, -2418, -2511, -2624, -2754, -2900, -3058, -3223 }, // 3000 rpm + { -1381, -1401, -1441, -1499, -1573, -1662, -1762, -1871, -1989, -2105, -2203, + -2282, -2346, -2410, -2487, -2583, -2700, -2835, -2987, -3151, -3322 }, // 3200 rpm + { -1415, -1435, -1476, -1536, -1613, -1703, -1806, -1919, -2040, -2160, -2261, + -2343, -2409, -2475, -2555, -2655, -2776, -2916, -3074, -3244, -3422 }, // 3400 rpm + { -1449, -1470, -1512, -1573, -1652, -1745, -1851, -1967, -2091, -2215, -2319, + -2403, -2472, -2540, -2624, -2727, -2853, -2998, -3160, -3336, -3521 }, // 3600 rpm + { -1484, -1505, -1548, -1611, -1691, -1787, -1895, -2015, -2142, -2269, -2376, + -2464, -2535, -2606, -2692, -2799, -2929, -3079, -3247, -3429, -3620 }, // 3800 rpm + { -1518, -1539, -1583, -1648, -1731, -1829, -1940, -2062, -2193, -2324, -2434, + -2524, -2597, -2671, -2760, -2871, -3005, -3160, -3334, -3522, -3719 }, // 4000 rpm + { -1552, -1574, -1619, -1685, -1770, -1870, -1985, -2110, -2244, -2378, -2492, + -2585, -2660, -2737, -2829, -2943, -3081, -3241, -3420, -3614, -3818 }, // 4200 rpm + { -1586, -1608, -1655, -1723, -1809, -1912, -2029, -2158, -2295, -2433, -2550, + -2645, -2723, -2802, -2897, -3015, -3158, -3322, -3507, -3707, -3917 }, // 4400 rpm + { -1620, -1643, -1691, -1760, -1848, -1954, -2074, -2205, -2346, -2488, -2607, + -2705, -2786, -2867, -2966, -3087, -3234, -3403, -3593, -3800, -4016 }, // 4600 rpm + { -1654, -1678, -1726, -1797, -1888, -1996, -2118, -2253, -2398, -2542, -2665, + -2766, -2849, -2933, -3034, -3159, -3310, -3485, -3680, -3892, -4115 }, // 4800 rpm + { -1688, -1712, -1762, -1834, -1927, -2037, -2163, -2301, -2449, -2597, -2723, + -2826, -2912, -2998, -3102, -3231, -3386, -3566, -3767, -3985, -4214 }, // 5000 rpm + { -1722, -1747, -1798, -1872, -1966, -2079, -2207, -2349, -2500, -2652, -2780, + -2887, -2974, -3063, -3171, -3303, -3463, -3647, -3853, -4078, -4313 }, // 5200 rpm + { -1756, -1782, -1833, -1909, -2006, -2121, -2252, -2396, -2551, -2706, -2838, + -2947, -3037, -3129, -3239, -3375, -3539, -3728, -3940, -4170, -4412 }, // 5400 rpm + { -1790, -1816, -1869, -1946, -2045, -2163, -2297, -2444, -2602, -2761, -2896, + -3007, -3100, -3194, -3307, -3447, -3615, -3809, -4026, -4263, -4511 }, // 5600 rpm + { -1825, -1851, -1905, -1983, -2084, -2204, -2341, -2492, -2653, -2815, -2953, + -3068, -3163, -3259, -3376, -3519, -3691, -3890, -4113, -4355, -4610 }, // 5800 rpm + { -1859, -1885, -1940, -2021, -2124, -2246, -2386, -2539, -2704, -2870, -3011, + -3128, -3226, -3325, -3444, -3591, -3767, -3971, -4200, -4448, -4709 }, // 6000 rpm + { -1893, -1920, -1976, -2058, -2163, -2288, -2430, -2587, -2755, -2925, -3069, + -3189, -3288, -3390, -3512, -3663, -3844, -4052, -4286, -4540, -4808 }, // 6200 rpm + { -1927, -1955, -2012, -2095, -2202, -2330, -2475, -2635, -2806, -2979, -3126, + -3249, -3351, -3455, -3581, -3735, -3920, -4133, -4373, -4633, -4907 }, // 6400 rpm + { -1961, -1989, -2047, -2133, -2242, -2371, -2519, -2682, -2858, -3034, -3184, + -3309, -3414, -3521, -3649, -3807, -3996, -4214, -4459, -4726, -5006 }, // 6600 rpm + { -1995, -2024, -2083, -2170, -2281, -2413, -2564, -2730, -2909, -3088, -3242, + -3370, -3477, -3586, -3717, -3879, -4072, -4295, -4546, -4818, -5104 }, // 6800 rpm + { -2029, -2059, -2119, -2207, -2320, -2455, -2609, -2778, -2960, -3143, -3299, + -3430, -3540, -3651, -3786, -3951, -4148, -4376, -4632, -4911, -5203 }, // 7000 rpm + { -2063, -2093, -2155, -2244, -2359, -2497, -2653, -2826, -3011, -3198, -3357, + -3490, -3602, -3717, -3854, -4023, -4224, -4457, -4719, -5003, -5302 }, // 7200 rpm + { -2097, -2128, -2190, -2282, -2399, -2538, -2698, -2873, -3062, -3252, -3415, + -3551, -3665, -3782, -3922, -4095, -4301, -4539, -4805, -5096, -5401 }, // 7400 rpm + { -2131, -2162, -2226, -2319, -2438, -2580, -2742, -2921, -3113, -3307, -3472, + -3611, -3728, -3847, -3991, -4167, -4377, -4620, -4892, -5188, -5500 }, // 7600 rpm + { -2166, -2197, -2262, -2356, -2477, -2622, -2787, -2969, -3164, -3361, -3530, + -3672, -3791, -3913, -4059, -4238, -4453, -4701, -4978, -5281, -5599 }, // 7800 rpm + { -2200, -2232, -2297, -2393, -2517, -2664, -2831, -3016, -3215, -3416, -3588, + -3732, -3854, -3978, -4127, -4310, -4529, -4782, -5065, -5373, -5698 }, // 8000 rpm + { -2234, -2266, -2333, -2431, -2556, -2706, -2876, -3064, -3266, -3470, -3645, + -3792, -3916, -4043, -4196, -4382, -4605, -4863, -5151, -5466, -5797 }, // 8200 rpm + { -2268, -2301, -2369, -2468, -2595, -2747, -2921, -3112, -3318, -3525, -3703, + -3853, -3979, -4109, -4264, -4454, -4681, -4944, -5238, -5558, -5896 }, // 8400 rpm + { -2302, -2335, -2404, -2505, -2635, -2789, -2965, -3159, -3369, -3580, -3761, + -3913, -4042, -4174, -4332, -4526, -4757, -5025, -5324, -5651, -5994 }, // 8600 rpm + { -2336, -2370, -2440, -2542, -2674, -2831, -3010, -3207, -3420, -3634, -3818, + -3973, -4105, -4239, -4400, -4598, -4833, -5106, -5411, -5743, -6093 }, // 8800 rpm + { -2370, -2405, -2476, -2580, -2713, -2873, -3054, -3255, -3471, -3689, -3876, + -4034, -4167, -4305, -4469, -4670, -4910, -5187, -5497, -5835, -6192 }, // 9000 rpm + { -2404, -2439, -2511, -2617, -2752, -2914, -3099, -3303, -3522, -3743, -3934, + -4094, -4230, -4370, -4537, -4742, -4986, -5268, -5584, -5928, -6291 }, // 9200 rpm + { -2438, -2474, -2547, -2654, -2792, -2956, -3143, -3350, -3573, -3798, -3991, + -4154, -4293, -4435, -4605, -4814, -5062, -5349, -5670, -6020, -6390 }, // 9400 rpm + { -2472, -2509, -2583, -2692, -2831, -2998, -3188, -3398, -3624, -3853, -4049, + -4215, -4356, -4500, -4674, -4885, -5138, -5430, -5757, -6113, -6489 }, // 9600 rpm + { -2507, -2543, -2619, -2729, -2870, -3039, -3232, -3446, -3675, -3907, -4107, + -4275, -4418, -4566, -4742, -4957, -5214, -5511, -5843, -6205, -6587 }, // 9800 rpm + { -2541, -2578, -2654, -2766, -2910, -3081, -3277, -3493, -3726, -3962, -4164, + -4336, -4481, -4631, -4810, -5029, -5290, -5592, -5929, -6298, -6686 }, // 10000 rpm + { -2575, -2612, -2690, -2803, -2949, -3123, -3322, -3541, -3777, -4016, -4222, + -4396, -4544, -4696, -4878, -5101, -5366, -5673, -6016, -6390, -6785 }, // 10200 rpm + { -2609, -2647, -2726, -2841, -2988, -3165, -3366, -3589, -3829, -4071, -4280, + -4456, -4607, -4762, -4947, -5173, -5442, -5754, -6102, -6483, -6884 }, // 10400 rpm + { -2643, -2682, -2761, -2878, -3028, -3206, -3411, -3636, -3880, -4125, -4337, + -4517, -4670, -4827, -5015, -5245, -5518, -5834, -6189, -6575, -6983 }, // 10600 rpm + { -2677, -2716, -2797, -2915, -3067, -3248, -3455, -3684, -3931, -4180, -4395, + -4577, -4732, -4892, -5083, -5317, -5595, -5915, -6275, -6667, -7081 }, // 10800 rpm + { -2711, -2751, -2833, -2952, -3106, -3290, -3500, -3732, -3982, -4235, -4453, + -4637, -4795, -4957, -5151, -5388, -5671, -5996, -6362, -6760, -7180 }, // 11000 rpm + { -2745, -2786, -2868, -2990, -3145, -3332, -3544, -3779, -4033, -4289, -4510, + -4698, -4858, -5023, -5220, -5460, -5747, -6077, -6448, -6852, -7279 }, // 11200 rpm + { -2779, -2820, -2904, -3027, -3185, -3373, -3589, -3827, -4084, -4344, -4568, + -4758, -4921, -5088, -5288, -5532, -5823, -6158, -6534, -6945, -7378 }, // 11400 rpm + { -2813, -2855, -2940, -3064, -3224, -3415, -3634, -3875, -4135, -4398, -4626, + -4818, -4983, -5153, -5356, -5604, -5899, -6239, -6621, -7037, -7477 }, // 11600 rpm + { -2848, -2889, -2975, -3101, -3263, -3457, -3678, -3923, -4186, -4453, -4683, + -4879, -5046, -5218, -5424, -5676, -5975, -6320, -6707, -7129, -7575 }, // 11800 rpm + { -2882, -2924, -3011, -3139, -3303, -3499, -3723, -3970, -4237, -4507, -4741, + -4939, -5109, -5284, -5493, -5748, -6051, -6401, -6794, -7222, -7674 }, // 12000 rpm + { -2916, -2959, -3047, -3176, -3342, -3540, -3767, -4018, -4288, -4562, -4799, + -4999, -5171, -5349, -5561, -5819, -6127, -6482, -6880, -7314, -7773 }, // 12200 rpm + { -2950, -2993, -3083, -3213, -3381, -3582, -3812, -4066, -4339, -4617, -4856, + -5060, -5234, -5414, -5629, -5891, -6203, -6563, -6966, -7407, -7872 }, // 12400 rpm + { -2984, -3028, -3118, -3251, -3421, -3624, -3856, -4113, -4391, -4671, -4914, + -5120, -5297, -5480, -5697, -5963, -6279, -6644, -7053, -7499, -7970 }, // 12600 rpm + { -3018, -3062, -3154, -3288, -3460, -3666, -3901, -4161, -4442, -4726, -4971, + -5180, -5360, -5545, -5766, -6035, -6355, -6725, -7139, -7591, -8069 }, // 12800 rpm + { -3052, -3097, -3190, -3325, -3499, -3707, -3945, -4209, -4493, -4780, -5029, + -5241, -5422, -5610, -5834, -6107, -6431, -6806, -7226, -7684, -8168 }, // 13000 rpm + { -3086, -3132, -3225, -3362, -3538, -3749, -3990, -4256, -4544, -4835, -5087, + -5301, -5485, -5675, -5902, -6179, -6507, -6887, -7312, -7776, -8267 }, // 13200 rpm + { -3120, -3166, -3261, -3400, -3578, -3791, -4035, -4304, -4595, -4889, -5144, + -5361, -5548, -5741, -5970, -6250, -6583, -6968, -7398, -7868, -8365 }, // 13400 rpm + { -3154, -3201, -3297, -3437, -3617, -3833, -4079, -4352, -4646, -4944, -5202, + -5422, -5611, -5806, -6039, -6322, -6659, -7049, -7485, -7961, -8464 }, // 13600 rpm + { -3189, -3236, -3332, -3474, -3656, -3874, -4124, -4399, -4697, -4999, -5260, + -5482, -5673, -5871, -6107, -6394, -6735, -7129, -7571, -8053, -8563 }, // 13800 rpm + { -3223, -3270, -3368, -3511, -3696, -3916, -4168, -4447, -4748, -5053, -5317, + -5542, -5736, -5936, -6175, -6466, -6812, -7210, -7658, -8146, -8661 }, // 14000 rpm + { -3257, -3305, -3404, -3549, -3735, -3958, -4213, -4495, -4799, -5108, -5375, + -5603, -5799, -6002, -6243, -6538, -6888, -7291, -7744, -8238, -8760 }, // 14200 rpm + { -3291, -3339, -3439, -3586, -3774, -4000, -4257, -4542, -4850, -5162, -5433, + -5663, -5862, -6067, -6311, -6609, -6964, -7372, -7830, -8330, -8859 }, // 14400 rpm + { -3325, -3374, -3475, -3623, -3814, -4041, -4302, -4590, -4901, -5217, -5490, + -5723, -5924, -6132, -6380, -6681, -7040, -7453, -7917, -8423, -8958 }, // 14600 rpm + { -3359, -3409, -3511, -3660, -3853, -4083, -4346, -4638, -4952, -5271, -5548, + -5784, -5987, -6197, -6448, -6753, -7116, -7534, -8003, -8515, -9056 }, // 14800 rpm + { -3393, -3443, -3546, -3698, -3892, -4125, -4391, -4685, -5004, -5326, -5605, + -5844, -6050, -6263, -6516, -6825, -7192, -7615, -8089, -8607, -9155 }, // 15000 rpm + { -3427, -3478, -3582, -3735, -3931, -4167, -4435, -4733, -5055, -5381, -5663, + -5904, -6112, -6328, -6584, -6897, -7268, -7696, -8176, -8700, -9254 }, // 15200 rpm + { -3461, -3513, -3618, -3772, -3971, -4208, -4480, -4781, -5106, -5435, -5721, + -5965, -6175, -6393, -6653, -6969, -7344, -7777, -8262, -8792, -9352 }, // 15400 rpm + { -3495, -3547, -3654, -3810, -4010, -4250, -4525, -4829, -5157, -5490, -5778, + -6025, -6238, -6458, -6721, -7040, -7420, -7858, -8348, -8884, -9451 }, // 15600 rpm + { -3529, -3582, -3689, -3847, -4049, -4292, -4569, -4876, -5208, -5544, -5836, + -6085, -6301, -6523, -6789, -7112, -7496, -7938, -8435, -8977, -9550 }, // 15800 rpm + { -3564, -3616, -3725, -3884, -4089, -4334, -4614, -4924, -5259, -5599, -5894, + -6146, -6363, -6589, -6857, -7184, -7572, -8019, -8521, -9069, -9648 }, // 16000 rpm + { -3598, -3651, -3761, -3921, -4128, -4375, -4658, -4972, -5310, -5653, -5951, + -6206, -6426, -6654, -6925, -7256, -7648, -8100, -8607, -9161, -9747 }, // 16200 rpm + { -3632, -3686, -3796, -3959, -4167, -4417, -4703, -5019, -5361, -5708, -6009, + -6266, -6489, -6719, -6994, -7327, -7724, -8181, -8694, -9254, -9807 }, // 16400 rpm + { -3666, -3720, -3832, -3996, -4207, -4459, -4747, -5067, -5412, -5762, -6066, + -6326, -6552, -6784, -7062, -7399, -7800, -8262, -8780, -9346, -10043 }, // 16600 rpm + { -3700, -3755, -3868, -4033, -4246, -4501, -4792, -5115, -5463, -5817, -6124, + -6387, -6614, -6850, -7130, -7471, -7876, -8343, -8866, -9403, -10607 }, // 16800 rpm + { -3734, -3789, -3903, -4070, -4285, -4542, -4836, -5162, -5514, -5872, -6182, + -6447, -6677, -6915, -7198, -7543, -7952, -8424, -8953, -9525, -11407 }, // 17000 rpm + { -3768, -3824, -3939, -4108, -4324, -4584, -4881, -5210, -5565, -5926, -6239, + -6507, -6740, -6980, -7266, -7615, -8028, -8505, -9024, -9909, -12369 }, // 17200 rpm + { -3802, -3859, -3975, -4145, -4364, -4626, -4926, -5258, -5617, -5981, -6297, + -6568, -6802, -7045, -7335, -7686, -8104, -8585, -9054, -10488, -13317 }, // 17400 rpm + { -3836, -3893, -4010, -4182, -4403, -4667, -4970, -5305, -5668, -6035, -6355, + -6628, -6865, -7111, -7403, -7758, -8180, -8666, -9295, -11219, -14255 }, // 17600 rpm + { -3870, -3928, -4046, -4219, -4442, -4709, -5015, -5353, -5719, -6090, -6412, + -6688, -6928, -7176, -7471, -7830, -8256, -8650, -9697, -12073, -15182 }, // 17800 rpm + { -3905, -3963, -4082, -4257, -4482, -4751, -5059, -5401, -5770, -6144, -6470, + -6749, -6991, -7241, -7539, -7902, -8332, -8784, -10229, -13001, -16102 }, // 18000 rpm + { -3939, -3997, -4117, -4294, -4521, -4793, -5104, -5448, -5821, -6199, -6527, + -6809, -7053, -7306, -7607, -7973, -8309, -9052, -10866, -13914, -17015 }, // 18200 rpm + { -3973, -4032, -4153, -4331, -4560, -4834, -5148, -5496, -5872, -6253, -6585, + -6869, -7116, -7371, -7676, -8045, -8372, -9428, -11590, -14819, -17920 }, // 18400 rpm + { -4007, -4066, -4189, -4368, -4599, -4876, -5193, -5544, -5923, -6308, -6643, + -6930, -7179, -7437, -7744, -8020, -8541, -9895, -12387, -15717, -18818 }, // 18600 rpm + { -4041, -4101, -4225, -4406, -4639, -4918, -5237, -5591, -5974, -6363, -6700, + -6990, -7241, -7502, -7812, -8043, -8801, -10438, -13247, -16608, -19709 }, // 18800 rpm + { -4075, -4136, -4260, -4443, -4678, -4960, -5282, -5639, -6025, -6417, -6758, + -7050, -7304, -7567, -7769, -8148, -9138, -11045, -14138, -17491, -20592 }, // 19000 rpm + { -4109, -4170, -4296, -4480, -4717, -5001, -5326, -5687, -6076, -6472, -6816, + -7110, -7367, -7579, -7778, -8325, -9539, -11708, -15012, -18365, -21466 }, // 19200 rpm + { -4143, -4205, -4332, -4518, -4757, -5043, -5371, -5734, -6127, -6526, -6873, + -7171, -7393, -7548, -7849, -8565, -9996, -12417, -15878, -19231, -22332 }, // 19400 rpm + { -4177, -4240, -4367, -4555, -4796, -5085, -5416, -5782, -6178, -6581, -6931, + -7185, -7359, -7563, -7974, -8859, -10501, -13168, -16734, -20087, -23188 }, // 19600 rpm + { -4211, -4274, -4403, -4592, -4835, -5127, -5460, -5830, -6229, -6635, -6954, + -7162, -7356, -7621, -8147, -9201, -11049, -13954, -17578, -20931, -24032 }, // 19800 rpm + { -4246, -4309, -4439, -4629, -4875, -5168, -5505, -5877, -6280, -6690, -6939, + -7161, -7385, -7718, -8365, -9583, -11632, -14771, -18415, -21768, -24869 }, // 20000 rpm + }, +}; + +const float TOTAL_LOSS_BASELINE[N_TEMP] + [N_CURRENT] = { + { 0.000000f, 6.266300f, 25.065399f, 56.397099f, 100.261398f, 156.658493f, + 225.588196f, 307.050690f, 401.045807f, 507.573608f, 626.633972f, 758.227173f, + 902.353027f, 1059.011475f, 1228.202759f, 1409.926636f, 1604.183105f, 1810.972290f, + 2030.294189f, 2262.148682f, 2506.536133f }, // 80°C @ 0 rpm + { 0.000000f, 6.659300f, 26.637199f, 59.933701f, 106.548698f, 166.482407f, + 239.734695f, 326.305511f, 426.195007f, 539.403015f, 665.929626f, 805.774902f, + 958.938721f, 1125.421143f, 1305.222046f, 1498.341675f, 1704.779907f, 1924.536743f, + 2157.612061f, 2404.006104f, 2663.718506f }, // 100°C @ 0 rpm + { 0.000000f, 7.052300f, 28.209000f, 63.470299f, 112.835999f, 176.306305f, + 253.881104f, 345.560394f, 451.344208f, 571.232483f, 705.225281f, 853.322571f, + 1015.524414f, 1191.830688f, 1382.241455f, 1586.756958f, 1805.376709f, 2038.101074f, + 2284.929932f, 2545.863281f, 2820.901123f }, // 120°C @ 0 rpm + }; + +const int16_t TOTAL_LOSS_DELTA[N_TEMP][N_SPEED - 1] + [N_CURRENT] = { + // 80°C + { + { 33, 34, 34, 36, 37, 39, 42, 44, 47, 49, 51, + 53, 54, 55, 56, 58, 60, 62, 64, 67, 70 }, // 200 rpm + { 69, 70, 72, 74, 78, 82, 87, 92, 97, 102, 107, + 110, 112, 115, 117, 121, 125, 130, 136, 142, 148 }, // 400 rpm + { 107, 109, 112, 116, 121, 128, 135, 143, 152, 160, 167, + 172, 176, 180, 184, 190, 197, 205, 214, 224, 234 }, // 600 rpm + { 148, 150, 154, 160, 168, 177, 187, 198, 210, 222, 231, + 239, 245, 250, 257, 265, 275, 287, 300, 314, 328 }, // 800 rpm + { 192, 194, 200, 208, 218, 229, 243, 257, 273, 288, 301, + 311, 319, 326, 335, 346, 359, 375, 392, 411, 430 }, // 1000 rpm + { 238, 241, 248, 258, 270, 285, 302, 320, 339, 358, 374, + 387, 397, 407, 418, 432, 450, 469, 492, 515, 540 }, // 1200 rpm + { 286, 290, 299, 310, 326, 344, 364, 386, 410, 433, 453, + 469, 481, 493, 507, 525, 546, 571, 598, 627, 658 }, // 1400 rpm + { 338, 342, 352, 366, 384, 406, 430, 456, 484, 512, 536, + 555, 570, 584, 602, 623, 649, 678, 711, 747, 783 }, // 1600 rpm + { 392, 397, 408, 425, 446, 471, 499, 530, 563, 595, 623, + 646, 664, 681, 702, 727, 757, 793, 832, 874, 917 }, // 1800 rpm + { 448, 454, 467, 486, 511, 539, 572, 607, 645, 683, 715, + 741, 762, 783, 807, 837, 872, 913, 959, 1008, 1059 }, // 2000 rpm + { 507, 514, 529, 551, 578, 611, 648, 689, 732, 775, 811, + 842, 866, 890, 918, 952, 993, 1041, 1093, 1150, 1208 }, // 2200 rpm + { 569, 577, 594, 618, 649, 686, 728, 773, 822, 871, 912, + 947, 975, 1002, 1034, 1074, 1121, 1175, 1235, 1299, 1366 }, // 2400 rpm + { 633, 642, 661, 688, 723, 764, 811, 862, 916, 971, 1018, + 1057, 1089, 1120, 1156, 1201, 1254, 1315, 1383, 1456, 1531 }, // 2600 rpm + { 700, 710, 731, 761, 799, 845, 897, 954, 1015, 1076, 1128, + 1172, 1207, 1243, 1284, 1334, 1393, 1462, 1538, 1620, 1705 }, // 2800 rpm + { 769, 780, 803, 837, 879, 930, 987, 1050, 1117, 1185, 1243, + 1291, 1331, 1370, 1416, 1472, 1539, 1615, 1700, 1791, 1886 }, // 3000 rpm + { 842, 854, 879, 915, 962, 1018, 1081, 1150, 1224, 1298, 1362, + 1415, 1460, 1504, 1555, 1617, 1691, 1775, 1869, 1970, 2075 }, // 3200 rpm + { 916, 929, 957, 997, 1048, 1109, 1178, 1253, 1334, 1415, 1485, + 1545, 1594, 1642, 1699, 1767, 1848, 1942, 2045, 2157, 2272 }, // 3400 rpm + { 994, 1008, 1037, 1081, 1137, 1203, 1278, 1360, 1449, 1537, 1614, + 1678, 1732, 1786, 1848, 1923, 2012, 2115, 2228, 2350, 2477 }, // 3600 rpm + { 1073, 1089, 1121, 1168, 1229, 1300, 1382, 1471, 1567, 1663, 1746, + 1817, 1876, 1935, 2003, 2085, 2182, 2294, 2418, 2552, 2690 }, // 3800 rpm + { 1156, 1173, 1207, 1258, 1323, 1401, 1489, 1586, 1689, 1793, 1884, + 1961, 2025, 2089, 2163, 2253, 2359, 2480, 2615, 2760, 2911 }, // 4000 rpm + { 1241, 1259, 1296, 1351, 1421, 1505, 1600, 1704, 1816, 1928, 2026, + 2109, 2179, 2248, 2329, 2426, 2541, 2673, 2819, 2976, 3140 }, // 4200 rpm + { 1329, 1348, 1388, 1447, 1522, 1612, 1714, 1826, 1946, 2067, 2172, + 2262, 2337, 2413, 2500, 2605, 2730, 2872, 3030, 3200, 3377 }, // 4400 rpm + { 1419, 1439, 1482, 1545, 1626, 1722, 1832, 1952, 2080, 2210, 2323, + 2419, 2501, 2582, 2677, 2790, 2924, 3078, 3248, 3431, 3622 }, // 4600 rpm + { 1512, 1534, 1580, 1647, 1733, 1836, 1953, 2081, 2219, 2357, 2478, + 2582, 2670, 2757, 2859, 2981, 3125, 3290, 3472, 3669, 3874 }, // 4800 rpm + { 1607, 1631, 1679, 1751, 1843, 1953, 2077, 2214, 2361, 2509, 2638, + 2749, 2844, 2937, 3046, 3177, 3332, 3508, 3704, 3915, 4135 }, // 5000 rpm + { 1705, 1730, 1782, 1858, 1956, 2073, 2205, 2351, 2507, 2665, 2803, + 2921, 3022, 3123, 3240, 3380, 3545, 3733, 3943, 4168, 4403 }, // 5200 rpm + { 1806, 1832, 1887, 1968, 2072, 2196, 2337, 2491, 2657, 2825, 2972, + 3098, 3206, 3314, 3438, 3588, 3764, 3965, 4188, 4429, 4680 }, // 5400 rpm + { 1909, 1937, 1995, 2081, 2191, 2322, 2471, 2636, 2812, 2990, 3145, + 3280, 3395, 3509, 3642, 3802, 3989, 4203, 4441, 4697, 4964 }, // 5600 rpm + { 2015, 2044, 2106, 2197, 2313, 2452, 2610, 2784, 2970, 3158, 3324, + 3466, 3588, 3710, 3852, 4021, 4221, 4448, 4700, 4972, 5256 }, // 5800 rpm + { 2123, 2155, 2220, 2315, 2438, 2585, 2751, 2935, 3132, 3331, 3506, + 3657, 3787, 3917, 4067, 4247, 4458, 4699, 4967, 5255, 5556 }, // 6000 rpm + { 2234, 2267, 2336, 2437, 2566, 2721, 2897, 3090, 3298, 3509, 3693, + 3853, 3991, 4128, 4287, 4478, 4702, 4957, 5240, 5545, 5864 }, // 6200 rpm + { 2348, 2383, 2455, 2561, 2697, 2860, 3045, 3249, 3469, 3690, 3885, + 4054, 4199, 4345, 4513, 4715, 4952, 5221, 5521, 5843, 6180 }, // 6400 rpm + { 2464, 2501, 2577, 2688, 2832, 3003, 3198, 3412, 3643, 3876, 4081, + 4260, 4413, 4567, 4745, 4958, 5207, 5492, 5808, 6148, 6504 }, // 6600 rpm + { 2583, 2621, 2701, 2818, 2969, 3148, 3353, 3579, 3821, 4066, 4282, + 4470, 4632, 4794, 4982, 5206, 5469, 5770, 6102, 6461, 6836 }, // 6800 rpm + { 2704, 2744, 2828, 2951, 3109, 3297, 3512, 3749, 4003, 4261, 4488, + 4685, 4855, 5026, 5224, 5461, 5738, 6053, 6403, 6781, 7175 }, // 7000 rpm + { 2828, 2870, 2958, 3087, 3252, 3450, 3675, 3923, 4189, 4459, 4698, + 4905, 5084, 5264, 5472, 5721, 6012, 6344, 6712, 7108, 7523 }, // 7200 rpm + { 2955, 2999, 3090, 3225, 3398, 3605, 3841, 4100, 4379, 4662, 4912, + 5129, 5318, 5507, 5725, 5986, 6292, 6641, 7027, 7443, 7878 }, // 7400 rpm + { 3084, 3130, 3226, 3367, 3547, 3764, 4010, 4282, 4574, 4869, 5131, + 5359, 5556, 5755, 5984, 6258, 6579, 6944, 7349, 7785, 8242 }, // 7600 rpm + { 3216, 3264, 3364, 3511, 3700, 3925, 4183, 4467, 4772, 5081, 5354, + 5593, 5800, 6008, 6249, 6535, 6871, 7254, 7678, 8135, 8613 }, // 7800 rpm + { 3351, 3400, 3505, 3658, 3855, 4090, 4359, 4655, 4974, 5297, 5582, + 5832, 6049, 6267, 6518, 6819, 7170, 7570, 8014, 8492, 8992 }, // 8000 rpm + { 3488, 3539, 3648, 3808, 4013, 4259, 4539, 4848, 5180, 5517, 5815, + 6075, 6302, 6530, 6794, 7108, 7475, 7893, 8357, 8856, 9379 }, // 8200 rpm + { 3627, 3681, 3794, 3961, 4175, 4430, 4722, 5044, 5390, 5741, 6052, + 6324, 6561, 6799, 7074, 7402, 7786, 8223, 8706, 9228, 9774 }, // 8400 rpm + { 3769, 3825, 3943, 4116, 4339, 4605, 4909, 5244, 5604, 5970, 6294, + 6577, 6824, 7073, 7361, 7703, 8103, 8558, 9063, 9607, 10177 }, // 8600 rpm + { 3914, 3972, 4095, 4275, 4506, 4783, 5099, 5447, 5822, 6203, 6540, + 6835, 7093, 7353, 7652, 8009, 8426, 8901, 9427, 9994, 10588 }, // 8800 rpm + { 4061, 4122, 4249, 4436, 4677, 4964, 5292, 5654, 6044, 6440, 6790, + 7098, 7367, 7637, 7950, 8321, 8756, 9250, 9798, 10388, 11007 }, // 9000 rpm + { 4211, 4274, 4406, 4600, 4850, 5149, 5489, 5865, 6270, 6681, 7046, + 7365, 7645, 7927, 8252, 8639, 9091, 9605, 10175, 10790, 11433 }, // 9200 rpm + { 4364, 4429, 4566, 4767, 5026, 5336, 5690, 6080, 6500, 6927, 7305, + 7638, 7929, 8222, 8560, 8963, 9433, 9967, 10560, 11199, 11868 }, // 9400 rpm + { 4519, 4587, 4729, 4937, 5206, 5527, 5894, 6298, 6734, 7177, 7570, + 7915, 8217, 8522, 8874, 9292, 9780, 10336, 10951, 11615, 12310 }, // 9600 rpm + { 4677, 4747, 4894, 5110, 5388, 5721, 6101, 6520, 6972, 7431, 7839, + 8197, 8511, 8828, 9193, 9627, 10134, 10711, 11350, 12039, 12760 }, // 9800 rpm + { 4837, 4910, 5062, 5286, 5574, 5918, 6312, 6746, 7214, 7689, 8112, + 8483, 8809, 9138, 9517, 9968, 10494, 11092, 11755, 12470, 13219 }, // 10000 rpm + { 5000, 5075, 5233, 5464, 5762, 6119, 6526, 6976, 7460, 7952, 8390, + 8775, 9113, 9454, 9847, 10315, 10860, 11480, 12167, 12908, 13685 }, // 10200 rpm + { 5166, 5243, 5406, 5646, 5954, 6323, 6744, 7209, 7710, 8219, 8672, + 9071, 9421, 9775, 10183, 10667, 11232, 11875, 12587, 13354, 14159 }, // 10400 + // rpm + { 5334, 5414, 5582, 5830, 6148, 6530, 6965, 7446, 7964, 8490, 8959, + 9372, 9735, 10101, 10524, 11025, 11611, 12276, 13013, 13808, 14641 }, // 10600 + // rpm + { 5505, 5588, 5761, 6017, 6346, 6740, 7189, 7686, 8222, 8766, 9251, + 9677, 10053, 10433, 10870, 11389, 11995, 12683, 13446, 14269, 15131 }, // 10800 + // rpm + { 5678, 5764, 5943, 6207, 6547, 6953, 7417, 7931, 8484, 9046, 9547, + 9988, 10377, 10770, 11222, 11759, 12386, 13097, 13886, 14737, 15628 }, // 11000 + // rpm + { 5854, 5942, 6127, 6400, 6750, 7170, 7649, 8179, 8749, 9330, 9847, + 10303, 10705, 11112, 11580, 12135, 12782, 13518, 14333, 15212, 16134 }, // 11200 + // rpm + { 6033, 6124, 6314, 6595, 6957, 7389, 7884, 8430, 9019, 9618, 10152, + 10623, 11038, 11459, 11942, 12516, 13185, 13945, 14787, 15695, 16648 }, // 11400 + // rpm + { 6214, 6307, 6504, 6794, 7166, 7613, 8122, 8686, 9293, 9911, 10462, + 10948, 11377, 11811, 12311, 12903, 13594, 14379, 15248, 16186, 17169 }, // 11600 + // rpm + { 6398, 6494, 6697, 6995, 7379, 7839, 8364, 8945, 9571, 10208, 10776, + 11277, 11720, 12169, 12684, 13296, 14009, 14819, 15716, 16684, 17698 }, // 11800 + // rpm + { 6584, 6683, 6892, 7199, 7595, 8068, 8609, 9208, 9853, 10509, 11095, + 11612, 12069, 12531, 13064, 13694, 14430, 15265, 16191, 17189, 18236 }, // 12000 + // rpm + { 6773, 6875, 7090, 7406, 7813, 8301, 8858, 9474, 10139, 10815, 11418, + 11951, 12422, 12899, 13448, 14099, 14857, 15718, 16672, 17702, 18781 }, // 12200 + // rpm + { 6964, 7070, 7290, 7616, 8035, 8537, 9110, 9744, 10428, 11124, 11746, + 12295, 12781, 13273, 13838, 14509, 15290, 16178, 17161, 18222, 19334 }, // 12400 + // rpm + { 7159, 7267, 7494, 7829, 8260, 8776, 9366, 10018, 10722, 11438, 12078, + 12643, 13144, 13651, 14234, 14925, 15730, 16644, 17656, 18749, 19895 }, // 12600 + // rpm + { 7355, 7466, 7700, 8044, 8488, 9018, 9625, 10296, 11020, 11757, 12415, + 12997, 13512, 14035, 14635, 15347, 16175, 17117, 18159, 19284, 20464 }, // 12800 + // rpm + { 7555, 7669, 7909, 8263, 8718, 9264, 9888, 10577, 11322, 12079, 12756, + 13355, 13886, 14423, 15042, 15774, 16627, 17596, 18668, 19826, 21040 }, // 13000 + // rpm + { 7756, 7874, 8120, 8484, 8952, 9513, 10154, 10863, 11627, 12406, 13102, + 13718, 14264, 14817, 15454, 16207, 17085, 18081, 19185, 20376, 21625 }, // 13200 + // rpm + { 7961, 8082, 8335, 8708, 9189, 9765, 10423, 11151, 11937, 12737, 13452, + 14086, 14647, 15217, 15871, 16646, 17549, 18573, 19708, 20933, 22217 }, // 13400 + // rpm + { 8168, 8292, 8552, 8935, 9429, 10020, 10696, 11444, 12251, 13073, 13807, + 14458, 15036, 15621, 16294, 17091, 18019, 19072, 20239, 21497, 22818 }, // 13600 + // rpm + { 8378, 8505, 8772, 9165, 9672, 10278, 10972, 11740, 12568, 13412, 14167, + 14835, 15429, 16031, 16723, 17542, 18495, 19577, 20776, 22069, 23426 }, // 13800 + // rpm + { 8590, 8720, 8994, 9398, 9917, 10540, 11252, 12040, 12890, 13756, 14531, + 15217, 15827, 16446, 17157, 17998, 18977, 20089, 21320, 22648, 24042 }, // 14000 + // rpm + { 8805, 8939, 9219, 9633, 10166, 10805, 11535, 12344, 13216, 14104, 14899, + 15604, 16230, 16866, 17596, 18460, 19466, 20607, 21871, 23235, 24666 }, // 14200 + // rpm + { 9023, 9160, 9447, 9872, 10418, 11073, 11822, 12651, 13545, 14457, 15272, + 15996, 16639, 17291, 18041, 18928, 19960, 21132, 22429, 23829, 25298 }, // 14400 + // rpm + { 9243, 9383, 9678, 10113, 10673, 11345, 12112, 12962, 13879, 14814, 15650, + 16392, 17052, 17722, 18491, 19401, 20461, 21663, 22994, 24431, 25938 }, // 14600 + // rpm + { 9465, 9609, 9911, 10357, 10931, 11619, 12406, 13277, 14216, 15175, 16032, + 16793, 17470, 18158, 18947, 19881, 20967, 22200, 23566, 25040, 26586 }, // 14800 + // rpm + { 9691, 9838, 10147, 10604, 11192, 11897, 12703, 13595, 14558, 15540, 16419, + 17199, 17893, 18598, 19408, 20366, 21480, 22745, 24145, 25656, 27242 }, // 15000 + // rpm + { 9919, 10069, 10386, 10854, 11456, 12178, 13003, 13917, 14904, 15909, 16810, + 17610, 18322, 19045, 19875, 20857, 21999, 23295, 24730, 26280, 27905 }, // 15200 + // rpm + { 10149, 10303, 10628, 11106, 11723, 12462, 13307, 14243, 15253, 16283, 17205, + 18025, 18755, 19496, 20347, 21354, 22524, 23852, 25323, 26911, 28577 }, // 15400 + // rpm + { 10382, 10540, 10872, 11362, 11993, 12750, 13615, 14573, 15607, 16661, 17606, + 18445, 19193, 19953, 20825, 21856, 23055, 24416, 25923, 27549, 29256 }, // 15600 + // rpm + { 10618, 10779, 11119, 11620, 12266, 13040, 13926, 14906, 15964, 17044, 18010, + 18870, 19636, 20414, 21308, 22364, 23593, 24986, 26529, 28195, 29943 }, // 15800 + // rpm + { 10856, 11021, 11369, 11881, 12542, 13334, 14240, 15243, 16326, 17430, 18420, + 19300, 20084, 20881, 21797, 22878, 24136, 25563, 27143, 28848, 30639 }, // 16000 + // rpm + { 11097, 11266, 11621, 12146, 12821, 13631, 14558, 15584, 16691, 17821, 18834, + 19734, 20537, 21354, 22291, 23398, 24685, 26146, 27763, 29509, 31342 }, // 16200 + // rpm + { 11340, 11513, 11876, 12412, 13103, 13931, 14879, 15928, 17061, 18216, 19252, + 20174, 20996, 21831, 22790, 23923, 25241, 26736, 28391, 30177, 31630 }, // 16400 + // rpm + { 11586, 11763, 12134, 12682, 13389, 14235, 15204, 16276, 17434, 18616, 19675, + 20618, 21459, 22314, 23295, 24455, 25803, 27332, 29025, 30853, 31787 }, // 16600 + // rpm + { 11835, 12016, 12395, 12955, 13677, 14542, 15532, 16628, 17812, 19019, 20102, + 21066, 21927, 22802, 23806, 24992, 26371, 27934, 29666, 31104, 31949 }, // 16800 + // rpm + { 12086, 12271, 12658, 13230, 13968, 14852, 15863, 16983, 18193, 19427, 20534, + 21520, 22400, 23295, 24322, 25535, 26944, 28544, 30314, 31216, 32110 }, // 17000 + // rpm + { 12340, 12529, 12924, 13509, 14262, 15165, 16198, 17342, 18578, 19840, 20971, + 21978, 22878, 23793, 24843, 26083, 27524, 29159, 30557, 31335, 32266 }, // 17200 + // rpm + { 12597, 12789, 13193, 13790, 14559, 15481, 16537, 17705, 18968, 20256, 21412, + 22441, 23361, 24296, 25370, 26638, 28111, 29781, 30639, 31459, 31640 }, // 17400 + // rpm + { 12856, 13052, 13465, 14074, 14859, 15801, 16879, 18072, 19361, 20677, 21857, + 22909, 23849, 24805, 25902, 27198, 28703, 30024, 30731, 31583, 30964 }, // 17600 + // rpm + { 13117, 13318, 13739, 14361, 15163, 16124, 17224, 18442, 19759, 21102, 22307, + 23382, 24342, 25319, 26440, 27763, 29301, 30087, 30829, 31708, 30341 }, // 17800 + // rpm + { 13382, 13586, 14016, 14651, 15469, 16450, 17573, 18816, 20160, 21531, 22762, + 23859, 24840, 25838, 26983, 28335, 29517, 30159, 30933, 31833, 29766 }, // 18000 + // rpm + { 13649, 13857, 14296, 14943, 15778, 16779, 17925, 19194, 20565, 21965, 23221, + 24341, 25343, 26362, 27532, 28913, 29570, 30239, 31042, 31456, 29234 }, // 18200 + // rpm + { 13918, 14131, 14578, 15239, 16091, 17112, 18281, 19576, 20975, 22403, 23685, + 24828, 25851, 26892, 28086, 29036, 29629, 30327, 31155, 30963, 28741 }, // 18400 + // rpm + { 14190, 14407, 14863, 15537, 16406, 17448, 18640, 19961, 21388, 22845, 24153, + 25320, 26364, 27427, 28516, 29085, 29696, 30421, 31272, 30505, 28284 }, // 18600 + // rpm + { 14465, 14686, 15151, 15838, 16724, 17786, 19002, 20350, 21805, 23291, 24626, + 25817, 26882, 27961, 28569, 29138, 29770, 30522, 31394, 30079, 27858 }, // 18800 + // rpm + { 14742, 14967, 15442, 16142, 17046, 18129, 19369, 20742, 22226, 23742, 25103, + 26318, 27341, 28035, 28621, 29196, 29850, 30628, 31521, 29682, 27460 }, // 19000 + // rpm + { 15022, 15252, 15735, 16449, 17370, 18474, 19738, 21138, 22652, 24197, 25585, + 26644, 27443, 28100, 28674, 29259, 29936, 30741, 31419, 29311, 27089 }, // 19200 + // rpm + { 15304, 15538, 16031, 16759, 17697, 18823, 20111, 21538, 23081, 24656, 25883, + 26777, 27532, 28161, 28728, 29327, 30030, 30859, 31071, 28964, 26742 }, // 19400 + // rpm + { 15589, 15828, 16330, 17071, 18028, 19174, 20487, 21942, 23514, 25082, 26043, + 26894, 27612, 28219, 28785, 29400, 30129, 30984, 30746, 28638, 26417 }, // 19600 + // rpm + { 15877, 16120, 16632, 17387, 18361, 19530, 20867, 22349, 23951, 25261, 26186, + 26999, 27685, 28275, 28845, 29480, 30234, 31115, 30441, 28333, 26112 }, // 19800 + // rpm + { 16167, 16415, 16936, 17705, 18698, 19888, 21251, 22760, 24392, 25425, 26315, + 27093, 27752, 28331, 28908, 29564, 30345, 31251, 30155, 28047, 25825 }, // 20000 + // rpm + }, + // 100°C + { + { 33, 34, 34, 36, 37, 39, 42, 44, 47, 49, 51, + 53, 54, 55, 56, 57, 59, 62, 64, 67, 70 }, // 200 rpm + { 69, 70, 72, 74, 78, 82, 87, 92, 97, 102, 107, + 110, 112, 114, 117, 121, 125, 130, 136, 142, 148 }, // 400 rpm + { 107, 109, 112, 116, 121, 128, 135, 143, 152, 160, 167, + 172, 176, 179, 184, 190, 197, 205, 214, 224, 234 }, // 600 rpm + { 148, 150, 154, 160, 168, 177, 187, 198, 210, 222, 231, + 239, 244, 250, 256, 264, 275, 286, 299, 313, 328 }, // 800 rpm + { 192, 194, 200, 207, 218, 229, 243, 257, 273, 288, 300, + 310, 318, 325, 334, 345, 359, 374, 392, 410, 430 }, // 1000 rpm + { 238, 241, 248, 258, 270, 285, 302, 320, 339, 358, 374, + 387, 397, 406, 417, 431, 449, 469, 491, 515, 539 }, // 1200 rpm + { 286, 290, 299, 310, 326, 344, 364, 386, 410, 433, 452, + 468, 480, 492, 506, 524, 545, 570, 597, 627, 657 }, // 1400 rpm + { 338, 342, 352, 366, 384, 406, 430, 456, 484, 512, 535, + 554, 569, 583, 600, 621, 647, 677, 710, 746, 783 }, // 1600 rpm + { 392, 397, 408, 425, 446, 471, 499, 530, 563, 595, 622, + 645, 662, 679, 700, 725, 756, 791, 830, 872, 916 }, // 1800 rpm + { 448, 454, 467, 486, 511, 539, 572, 607, 645, 683, 714, + 740, 761, 781, 805, 835, 870, 912, 957, 1007, 1058 }, // 2000 rpm + { 507, 514, 529, 551, 578, 611, 648, 688, 731, 774, 811, + 840, 864, 888, 915, 950, 991, 1039, 1091, 1148, 1207 }, // 2200 rpm + { 569, 577, 594, 618, 649, 686, 728, 773, 822, 870, 912, + 945, 973, 1000, 1031, 1071, 1118, 1172, 1232, 1297, 1364 }, // 2400 rpm + { 633, 642, 661, 688, 723, 764, 811, 862, 916, 971, 1017, + 1055, 1086, 1117, 1153, 1198, 1251, 1312, 1380, 1453, 1529 }, // 2600 rpm + { 700, 710, 731, 761, 799, 845, 897, 954, 1015, 1075, 1127, + 1170, 1205, 1239, 1280, 1330, 1390, 1459, 1535, 1617, 1703 }, // 2800 rpm + { 769, 780, 803, 837, 879, 930, 987, 1050, 1117, 1184, 1241, + 1289, 1328, 1367, 1412, 1468, 1535, 1612, 1697, 1788, 1884 }, // 3000 rpm + { 842, 854, 879, 915, 962, 1018, 1081, 1150, 1223, 1297, 1360, + 1413, 1456, 1499, 1550, 1612, 1686, 1771, 1866, 1967, 2073 }, // 3200 rpm + { 916, 929, 957, 997, 1048, 1108, 1177, 1253, 1334, 1415, 1484, + 1542, 1590, 1637, 1694, 1762, 1844, 1937, 2041, 2153, 2269 }, // 3400 rpm + { 994, 1008, 1037, 1081, 1137, 1203, 1278, 1360, 1448, 1536, 1612, + 1676, 1728, 1781, 1843, 1918, 2007, 2110, 2224, 2347, 2474 }, // 3600 rpm + { 1073, 1089, 1121, 1168, 1228, 1300, 1382, 1471, 1566, 1662, 1745, + 1814, 1872, 1929, 1997, 2079, 2177, 2289, 2414, 2547, 2687 }, // 3800 rpm + { 1156, 1173, 1207, 1258, 1323, 1401, 1489, 1585, 1689, 1792, 1882, + 1957, 2020, 2083, 2157, 2246, 2353, 2475, 2610, 2756, 2907 }, // 4000 rpm + { 1241, 1259, 1296, 1351, 1421, 1505, 1599, 1704, 1815, 1927, 2024, + 2105, 2173, 2242, 2322, 2419, 2535, 2667, 2813, 2971, 3136 }, // 4200 rpm + { 1329, 1348, 1388, 1447, 1522, 1612, 1714, 1825, 1945, 2066, 2170, + 2258, 2332, 2406, 2492, 2598, 2723, 2865, 3024, 3194, 3372 }, // 4400 rpm + { 1419, 1439, 1482, 1545, 1626, 1722, 1831, 1951, 2080, 2209, 2321, + 2415, 2495, 2575, 2669, 2782, 2917, 3070, 3241, 3425, 3617 }, // 4600 rpm + { 1512, 1534, 1579, 1647, 1733, 1835, 1952, 2080, 2218, 2356, 2476, + 2577, 2663, 2749, 2850, 2972, 3117, 3282, 3465, 3663, 3869 }, // 4800 rpm + { 1607, 1631, 1679, 1751, 1843, 1952, 2077, 2213, 2360, 2508, 2636, + 2744, 2836, 2929, 3037, 3168, 3323, 3500, 3697, 3908, 4129 }, // 5000 rpm + { 1705, 1730, 1782, 1858, 1956, 2072, 2205, 2350, 2506, 2663, 2800, + 2916, 3015, 3114, 3230, 3370, 3536, 3725, 3935, 4161, 4397 }, // 5200 rpm + { 1806, 1832, 1887, 1968, 2072, 2195, 2336, 2491, 2656, 2824, 2969, + 3093, 3198, 3304, 3428, 3578, 3754, 3956, 4180, 4421, 4673 }, // 5400 rpm + { 1909, 1937, 1995, 2081, 2191, 2322, 2471, 2635, 2811, 2988, 3142, + 3274, 3386, 3499, 3631, 3791, 3979, 4194, 4432, 4689, 4956 }, // 5600 rpm + { 2015, 2044, 2106, 2197, 2313, 2451, 2609, 2783, 2969, 3157, 3320, + 3460, 3579, 3699, 3840, 4010, 4209, 4438, 4691, 4963, 5248 }, // 5800 rpm + { 2123, 2154, 2220, 2315, 2438, 2584, 2751, 2934, 3131, 3330, 3503, + 3651, 3777, 3905, 4055, 4234, 4446, 4688, 4957, 5246, 5548 }, // 6000 rpm + { 2234, 2267, 2336, 2437, 2566, 2720, 2896, 3089, 3297, 3507, 3690, + 3846, 3980, 4116, 4274, 4465, 4689, 4945, 5229, 5536, 5855 }, // 6200 rpm + { 2348, 2383, 2455, 2561, 2697, 2859, 3044, 3248, 3467, 3688, 3881, + 4047, 4189, 4332, 4500, 4701, 4938, 5209, 5509, 5833, 6171 }, // 6400 rpm + { 2464, 2501, 2576, 2688, 2831, 3002, 3197, 3411, 3641, 3874, 4077, + 4252, 4402, 4553, 4730, 4943, 5193, 5479, 5796, 6137, 6494 }, // 6600 rpm + { 2583, 2621, 2701, 2818, 2968, 3148, 3352, 3577, 3819, 4064, 4278, + 4462, 4620, 4780, 4967, 5191, 5455, 5756, 6089, 6449, 6825 }, // 6800 rpm + { 2704, 2744, 2828, 2951, 3108, 3297, 3511, 3747, 4001, 4258, 4483, + 4676, 4843, 5011, 5208, 5444, 5722, 6039, 6390, 6768, 7164 }, // 7000 rpm + { 2828, 2870, 2958, 3086, 3252, 3449, 3673, 3921, 4187, 4457, 4692, + 4896, 5071, 5248, 5455, 5704, 5996, 6328, 6697, 7095, 7511 }, // 7200 rpm + { 2955, 2999, 3090, 3225, 3398, 3604, 3839, 4099, 4378, 4660, 4907, + 5120, 5304, 5490, 5708, 5969, 6275, 6624, 7012, 7429, 7866 }, // 7400 rpm + { 3084, 3130, 3226, 3366, 3547, 3763, 4009, 4280, 4572, 4867, 5125, + 5349, 5542, 5737, 5966, 6240, 6561, 6927, 7333, 7771, 8229 }, // 7600 rpm + { 3216, 3264, 3364, 3510, 3699, 3924, 4181, 4465, 4770, 5078, 5348, + 5582, 5785, 5990, 6229, 6516, 6853, 7236, 7661, 8120, 8599 }, // 7800 rpm + { 3351, 3400, 3504, 3658, 3854, 4090, 4358, 4653, 4972, 5294, 5576, + 5821, 6033, 6248, 6498, 6798, 7150, 7552, 7996, 8476, 8978 }, // 8000 rpm + { 3488, 3539, 3648, 3807, 4013, 4258, 4537, 4846, 5177, 5513, 5808, + 6064, 6285, 6510, 6773, 7086, 7454, 7874, 8339, 8840, 9364 }, // 8200 rpm + { 3627, 3681, 3794, 3960, 4174, 4429, 4720, 5042, 5387, 5738, 6045, + 6312, 6543, 6778, 7052, 7380, 7765, 8202, 8688, 9211, 9759 }, // 8400 rpm + { 3769, 3825, 3943, 4116, 4338, 4604, 4907, 5241, 5601, 5966, 6287, + 6564, 6806, 7052, 7338, 7680, 8081, 8537, 9043, 9589, 10161 }, // 8600 rpm + { 3914, 3972, 4095, 4274, 4506, 4782, 5097, 5445, 5819, 6199, 6532, + 6822, 7074, 7330, 7628, 7985, 8403, 8879, 9406, 9975, 10571 }, // 8800 rpm + { 4061, 4122, 4249, 4436, 4676, 4963, 5290, 5652, 6041, 6436, 6783, + 7084, 7347, 7614, 7925, 8296, 8731, 9227, 9776, 10369, 10989 }, // 9000 rpm + { 4211, 4274, 4406, 4600, 4849, 5147, 5487, 5863, 6267, 6677, 7038, + 7351, 7625, 7903, 8226, 8613, 9066, 9581, 10153, 10769, 11415 }, // 9200 rpm + { 4364, 4429, 4566, 4767, 5026, 5335, 5688, 6077, 6497, 6922, 7297, + 7623, 7907, 8197, 8533, 8936, 9406, 9942, 10537, 11177, 11848 }, // 9400 rpm + { 4519, 4587, 4728, 4937, 5205, 5526, 5892, 6296, 6731, 7172, 7561, + 7899, 8195, 8496, 8846, 9264, 9753, 10310, 10927, 11593, 12290 }, // 9600 rpm + { 4677, 4747, 4894, 5110, 5387, 5720, 6099, 6518, 6969, 7426, 7830, + 8181, 8488, 8800, 9164, 9598, 10106, 10684, 11325, 12016, 12740 }, // 9800 rpm + { 4837, 4910, 5062, 5285, 5573, 5917, 6310, 6743, 7210, 7684, 8103, + 8467, 8785, 9110, 9487, 9938, 10465, 11064, 11729, 12446, 13197 }, // 10000 rpm + { 5000, 5075, 5232, 5464, 5761, 6117, 6524, 6973, 7456, 7947, 8380, + 8758, 9088, 9425, 9816, 10283, 10830, 11451, 12140, 12884, 13662 }, // 10200 rpm + { 5166, 5243, 5406, 5645, 5953, 6321, 6741, 7206, 7706, 8214, 8662, + 9053, 9396, 9745, 10151, 10635, 11201, 11845, 12559, 13329, 14136 }, // 10400 + // rpm + { 5334, 5414, 5582, 5829, 6147, 6528, 6962, 7442, 7960, 8485, 8949, + 9353, 9708, 10070, 10491, 10992, 11578, 12245, 12984, 13781, 14617 }, // 10600 + // rpm + { 5505, 5588, 5761, 6016, 6345, 6738, 7187, 7683, 8218, 8760, 9240, + 9658, 10026, 10400, 10836, 11355, 11961, 12651, 13416, 14241, 15106 }, // 10800 + // rpm + { 5678, 5764, 5942, 6206, 6545, 6951, 7415, 7927, 8479, 9040, 9535, + 9968, 10348, 10736, 11186, 11723, 12351, 13064, 13855, 14708, 15602 }, // 11000 + // rpm + { 5854, 5942, 6127, 6399, 6749, 7168, 7646, 8175, 8745, 9324, 9836, + 10283, 10676, 11077, 11543, 12098, 12746, 13484, 14301, 15183, 16107 }, // 11200 + // rpm + { 6033, 6123, 6314, 6594, 6955, 7387, 7881, 8427, 9015, 9612, 10140, + 10602, 11008, 11423, 11904, 12478, 13148, 13909, 14754, 15665, 16620 }, // 11400 + // rpm + { 6214, 6307, 6504, 6793, 7165, 7610, 8119, 8682, 9288, 9904, 10449, + 10926, 11346, 11774, 12271, 12864, 13555, 14342, 15214, 16154, 17140 }, // 11600 + // rpm + { 6398, 6494, 6696, 6994, 7378, 7837, 8361, 8941, 9566, 10201, 10763, + 11255, 11688, 12131, 12644, 13255, 13969, 14781, 15680, 16651, 17669 }, // 11800 + // rpm + { 6584, 6683, 6891, 7198, 7593, 8066, 8606, 9204, 9848, 10502, 11081, + 11589, 12036, 12492, 13022, 13653, 14389, 15226, 16154, 17155, 18205 }, // 12000 + // rpm + { 6773, 6875, 7089, 7405, 7812, 8299, 8855, 9470, 10133, 10807, 11404, + 11927, 12388, 12859, 13405, 14056, 14815, 15678, 16634, 17667, 18749 }, // 12200 + // rpm + { 6964, 7070, 7290, 7615, 8034, 8534, 9107, 9740, 10423, 11117, 11732, + 12270, 12745, 13231, 13794, 14464, 15247, 16136, 17122, 18186, 19301 }, // 12400 + // rpm + { 7159, 7267, 7493, 7828, 8258, 8774, 9363, 10014, 10716, 11431, 12063, + 12618, 13108, 13608, 14188, 14879, 15685, 16601, 17616, 18712, 19861 }, // 12600 + // rpm + { 7355, 7466, 7700, 8043, 8486, 9016, 9622, 10291, 11014, 11749, 12400, + 12971, 13475, 13990, 14588, 15299, 16129, 17073, 18118, 19246, 20429 }, // 12800 + // rpm + { 7555, 7669, 7908, 8262, 8717, 9261, 9884, 10573, 11316, 12071, 12741, + 13328, 13847, 14378, 14994, 15726, 16580, 17550, 18626, 19787, 21004 }, // 13000 + // rpm + { 7756, 7874, 8120, 8483, 8950, 9510, 10150, 10858, 11621, 12398, 13086, + 13691, 14225, 14771, 15404, 16157, 17036, 18035, 19141, 20335, 21588 }, // 13200 + // rpm + { 7961, 8081, 8334, 8707, 9187, 9762, 10419, 11146, 11931, 12728, 13436, + 14058, 14607, 15169, 15820, 16595, 17499, 18525, 19663, 20891, 22179 }, // 13400 + // rpm + { 8168, 8292, 8551, 8934, 9427, 10017, 10692, 11439, 12244, 13064, 13791, + 14429, 14994, 15572, 16242, 17038, 17967, 19023, 20192, 21455, 22779 }, // 13600 + // rpm + { 8378, 8505, 8771, 9164, 9670, 10276, 10968, 11735, 12562, 13403, 14150, + 14806, 15386, 15980, 16669, 17487, 18442, 19526, 20728, 22025, 23386 }, // 13800 + // rpm + { 8590, 8720, 8994, 9396, 9915, 10537, 11248, 12034, 12883, 13747, 14513, + 15187, 15783, 16394, 17101, 17942, 18923, 20037, 21271, 22603, 24001 }, // 14000 + // rpm + { 8805, 8939, 9219, 9632, 10164, 10802, 11531, 12338, 13208, 14094, 14881, + 15573, 16185, 16812, 17539, 18403, 19410, 20553, 21821, 23189, 24624 }, // 14200 + // rpm + { 9023, 9159, 9447, 9870, 10416, 11070, 11818, 12645, 13538, 14447, 15254, + 15964, 16593, 17236, 17983, 18869, 19903, 21077, 22377, 23782, 25255 }, // 14400 + // rpm + { 9243, 9383, 9677, 10112, 10671, 11341, 12108, 12956, 13871, 14803, 15631, + 16359, 17005, 17666, 18432, 19341, 20402, 21606, 22941, 24382, 25894 }, // 14600 + // rpm + { 9465, 9609, 9911, 10356, 10929, 11616, 12401, 13270, 14209, 15164, 16012, + 16759, 17422, 18100, 18886, 19819, 20907, 22142, 23511, 24989, 26540 }, // 14800 + // rpm + { 9691, 9838, 10147, 10603, 11190, 11893, 12698, 13589, 14550, 15529, 16399, + 17164, 17844, 18539, 19346, 20303, 21418, 22685, 24089, 25604, 27195 }, // 15000 + // rpm + { 9919, 10069, 10386, 10852, 11454, 12174, 12998, 13911, 14895, 15898, 16789, + 17574, 18271, 18984, 19811, 20792, 21936, 23234, 24673, 26227, 27857 }, // 15200 + // rpm + { 10149, 10303, 10627, 11105, 11721, 12458, 13302, 14236, 15245, 16272, 17184, + 17989, 18703, 19434, 20281, 21287, 22459, 23790, 25264, 26856, 28527 }, // 15400 + // rpm + { 10382, 10540, 10871, 11360, 11991, 12746, 13610, 14566, 15598, 16649, 17584, + 18408, 19140, 19889, 20757, 21788, 22989, 24352, 25863, 27494, 29205 }, // 15600 + // rpm + { 10618, 10779, 11118, 11619, 12264, 13036, 13920, 14899, 15955, 17031, 17988, + 18832, 19581, 20349, 21239, 22294, 23524, 24921, 26468, 28138, 29891 }, // 15800 + // rpm + { 10856, 11021, 11368, 11880, 12540, 13330, 14234, 15236, 16317, 17418, 18397, + 19261, 20028, 20815, 21726, 22807, 24066, 25496, 27080, 28790, 30585 }, // 16000 + // rpm + { 11097, 11266, 11621, 12144, 12819, 13627, 14552, 15576, 16682, 17808, 18810, + 19694, 20480, 21286, 22218, 23325, 24614, 26077, 27699, 29449, 31287 }, // 16200 + // rpm + { 11340, 11513, 11876, 12411, 13101, 13927, 14873, 15920, 17051, 18203, 19228, + 20133, 20937, 21761, 22716, 23849, 25168, 26665, 28324, 30116, 31698 }, // 16400 + // rpm + { 11586, 11763, 12134, 12681, 13386, 14231, 15198, 16268, 17424, 18602, 19651, + 20576, 21399, 22242, 23219, 24378, 25728, 27260, 28957, 30790, 31833 }, // 16600 + // rpm + { 11835, 12015, 12394, 12953, 13674, 14537, 15526, 16620, 17802, 19006, 20077, + 21024, 21865, 22729, 23728, 24914, 26294, 27861, 29597, 31188, 31976 }, // 16800 + // rpm + { 12086, 12271, 12658, 13229, 13965, 14847, 15857, 16975, 18183, 19413, 20509, + 21476, 22337, 23220, 24242, 25455, 26866, 28468, 30243, 31278, 32118 }, // 17000 + // rpm + { 12340, 12528, 12924, 13507, 14259, 15160, 16192, 17334, 18568, 19825, 20945, + 21934, 22814, 23717, 24762, 26001, 27444, 29082, 30663, 31377, 32194 }, // 17200 + // rpm + { 12597, 12789, 13193, 13788, 14556, 15477, 16530, 17697, 18957, 20241, 21385, + 22396, 23296, 24219, 25287, 26554, 28029, 29703, 30723, 31481, 31400 }, // 17400 + // rpm + { 12856, 13052, 13464, 14072, 14856, 15796, 16872, 18063, 19350, 20662, 21830, + 22863, 23782, 24726, 25818, 27112, 28619, 30158, 30795, 31586, 30668 }, // 17600 + // rpm + { 13117, 13318, 13738, 14359, 15159, 16119, 17217, 18433, 19747, 21086, 22280, + 23334, 24274, 25238, 26354, 27676, 29216, 30200, 30874, 31692, 29991 }, // 17800 + // rpm + { 13382, 13586, 14015, 14649, 15466, 16445, 17566, 18807, 20148, 21515, 22734, + 23811, 24770, 25755, 26895, 28246, 29685, 30253, 30959, 31727, 29366 }, // 18000 + // rpm + { 13649, 13857, 14295, 14941, 15775, 16774, 17918, 19185, 20553, 21949, 23192, + 24292, 25272, 26278, 27442, 28822, 29719, 30316, 31050, 31148, 28787 }, // 18200 + // rpm + { 13918, 14131, 14577, 15237, 16087, 17107, 18273, 19566, 20962, 22386, 23655, + 24778, 25778, 26806, 27994, 29241, 29761, 30386, 31145, 30610, 28249 }, // 18400 + // rpm + { 14190, 14407, 14863, 15535, 16402, 17442, 18632, 19951, 21375, 22828, 24123, + 25268, 26290, 27339, 28552, 29275, 29812, 30463, 31245, 30110, 27749 }, // 18600 + // rpm + { 14465, 14686, 15150, 15836, 16721, 17781, 18995, 20340, 21792, 23274, 24595, + 25764, 26806, 27877, 28813, 29314, 29869, 30547, 31349, 29644, 27283 }, // 18800 + // rpm + { 14742, 14967, 15441, 16140, 17042, 18123, 19361, 20732, 22213, 23724, 25072, + 26264, 27328, 28319, 28855, 29357, 29934, 30638, 31448, 29208, 26847 }, // 19000 + // rpm + { 15022, 15251, 15734, 16447, 17366, 18468, 19730, 21128, 22638, 24179, 25553, + 26769, 27753, 28382, 28897, 29406, 30006, 30735, 31041, 28801, 26440 }, // 19200 + // rpm + { 15304, 15538, 16030, 16757, 17694, 18817, 20103, 21528, 23067, 24638, 26038, + 27098, 27847, 28437, 28940, 29461, 30085, 30838, 30659, 28419, 26058 }, // 19400 + // rpm + { 15589, 15828, 16329, 17069, 18024, 19169, 20479, 21931, 23500, 25101, 26367, + 27227, 27929, 28489, 28986, 29521, 30170, 30947, 30301, 28061, 25700 }, // 19600 + // rpm + { 15877, 16120, 16631, 17385, 18357, 19523, 20859, 22338, 23937, 25568, 26527, + 27341, 28002, 28538, 29034, 29588, 30261, 31062, 29964, 27724, 25363 }, // 19800 + // rpm + { 16167, 16414, 16935, 17703, 18694, 19882, 21242, 22749, 24378, 25767, 26670, + 27442, 28068, 28587, 29087, 29659, 30358, 31184, 29647, 27407, 25046 }, // 20000 + // rpm + }, + // 120°C + { + { 33, 34, 34, 36, 37, 39, 42, 44, 47, 49, 51, + 52, 53, 54, 56, 57, 59, 62, 64, 67, 70 }, // 200 rpm + { 69, 70, 72, 74, 78, 82, 87, 92, 97, 102, 106, + 110, 112, 114, 117, 120, 125, 130, 136, 142, 148 }, // 400 rpm + { 107, 109, 112, 116, 121, 128, 135, 143, 152, 160, 167, + 172, 175, 179, 183, 189, 196, 205, 214, 224, 234 }, // 600 rpm + { 148, 150, 154, 160, 168, 177, 187, 198, 210, 222, 231, + 238, 244, 249, 256, 264, 274, 286, 299, 313, 327 }, // 800 rpm + { 192, 194, 200, 207, 218, 229, 243, 257, 273, 288, 300, + 310, 317, 324, 333, 344, 358, 373, 391, 410, 429 }, // 1000 rpm + { 238, 241, 248, 258, 270, 285, 302, 320, 339, 358, 374, + 386, 396, 405, 416, 430, 448, 468, 490, 514, 539 }, // 1200 rpm + { 286, 290, 299, 310, 326, 344, 364, 386, 410, 433, 452, + 467, 479, 490, 505, 522, 544, 568, 596, 626, 656 }, // 1400 rpm + { 338, 342, 352, 366, 384, 406, 430, 456, 484, 512, 535, + 553, 567, 581, 598, 620, 646, 676, 709, 745, 782 }, // 1600 rpm + { 392, 397, 408, 425, 446, 471, 499, 530, 562, 595, 622, + 644, 661, 677, 698, 723, 754, 789, 829, 871, 915 }, // 1800 rpm + { 448, 454, 467, 486, 511, 539, 572, 607, 645, 682, 714, + 739, 759, 779, 803, 832, 868, 910, 956, 1005, 1056 }, // 2000 rpm + { 507, 514, 529, 551, 578, 611, 648, 688, 731, 774, 810, + 839, 862, 885, 913, 947, 989, 1036, 1089, 1147, 1206 }, // 2200 rpm + { 569, 577, 594, 618, 649, 686, 727, 773, 822, 870, 911, + 944, 970, 997, 1029, 1068, 1115, 1170, 1230, 1295, 1363 }, // 2400 rpm + { 633, 642, 661, 688, 723, 764, 811, 862, 916, 970, 1016, + 1053, 1083, 1114, 1150, 1194, 1248, 1309, 1378, 1451, 1528 }, // 2600 rpm + { 700, 710, 731, 761, 799, 845, 897, 954, 1014, 1075, 1126, + 1168, 1202, 1236, 1276, 1327, 1387, 1456, 1532, 1615, 1700 }, // 2800 rpm + { 769, 780, 803, 836, 879, 930, 987, 1050, 1117, 1184, 1240, + 1287, 1325, 1363, 1408, 1464, 1531, 1608, 1694, 1786, 1881 }, // 3000 rpm + { 842, 854, 879, 915, 962, 1017, 1080, 1149, 1223, 1297, 1359, + 1411, 1453, 1495, 1546, 1608, 1682, 1768, 1862, 1964, 2070 }, // 3200 rpm + { 916, 929, 957, 997, 1048, 1108, 1177, 1253, 1333, 1414, 1483, + 1539, 1586, 1633, 1689, 1757, 1839, 1933, 2038, 2150, 2266 }, // 3400 rpm + { 994, 1008, 1037, 1081, 1136, 1202, 1277, 1360, 1448, 1536, 1611, + 1673, 1724, 1775, 1837, 1913, 2002, 2105, 2220, 2343, 2471 }, // 3600 rpm + { 1073, 1089, 1121, 1168, 1228, 1300, 1381, 1470, 1566, 1662, 1743, + 1811, 1867, 1923, 1991, 2073, 2172, 2284, 2409, 2543, 2683 }, // 3800 rpm + { 1156, 1173, 1207, 1258, 1323, 1400, 1488, 1585, 1688, 1792, 1880, + 1954, 2015, 2077, 2150, 2240, 2347, 2469, 2605, 2751, 2904 }, // 4000 rpm + { 1241, 1259, 1296, 1351, 1421, 1504, 1599, 1703, 1814, 1926, 2022, + 2101, 2168, 2235, 2315, 2413, 2528, 2661, 2808, 2967, 3132 }, // 4200 rpm + { 1329, 1348, 1388, 1447, 1522, 1611, 1713, 1825, 1945, 2065, 2168, + 2254, 2326, 2398, 2485, 2591, 2716, 2859, 3018, 3189, 3368 }, // 4400 rpm + { 1419, 1439, 1482, 1545, 1626, 1722, 1831, 1951, 2079, 2208, 2318, + 2411, 2488, 2567, 2661, 2774, 2909, 3064, 3235, 3419, 3612 }, // 4600 rpm + { 1512, 1534, 1579, 1647, 1733, 1835, 1952, 2080, 2217, 2355, 2473, + 2573, 2656, 2741, 2842, 2964, 3109, 3275, 3459, 3657, 3863 }, // 4800 rpm + { 1607, 1631, 1679, 1751, 1843, 1952, 2076, 2213, 2359, 2506, 2633, + 2739, 2829, 2920, 3028, 3159, 3315, 3492, 3689, 3902, 4123 }, // 5000 rpm + { 1705, 1730, 1782, 1858, 1955, 2072, 2204, 2349, 2505, 2662, 2797, + 2911, 3007, 3104, 3220, 3361, 3526, 3716, 3927, 4154, 4391 }, // 5200 rpm + { 1806, 1832, 1887, 1968, 2071, 2195, 2335, 2490, 2655, 2822, 2966, + 3087, 3189, 3294, 3417, 3567, 3744, 3947, 4172, 4414, 4666 }, // 5400 rpm + { 1909, 1937, 1995, 2081, 2190, 2321, 2470, 2634, 2810, 2986, 3139, + 3268, 3377, 3488, 3620, 3780, 3968, 4184, 4423, 4681, 4949 }, // 5600 rpm + { 2015, 2044, 2106, 2196, 2312, 2451, 2608, 2782, 2968, 3155, 3317, + 3454, 3570, 3688, 3828, 3998, 4198, 4427, 4681, 4955, 5241 }, // 5800 rpm + { 2123, 2154, 2219, 2315, 2437, 2584, 2750, 2933, 3130, 3328, 3499, + 3644, 3767, 3893, 4042, 4222, 4435, 4677, 4947, 5237, 5540 }, // 6000 rpm + { 2234, 2267, 2336, 2436, 2566, 2720, 2895, 3088, 3296, 3505, 3686, + 3839, 3970, 4103, 4261, 4452, 4677, 4934, 5219, 5526, 5847 }, // 6200 rpm + { 2348, 2383, 2455, 2561, 2697, 2859, 3044, 3247, 3466, 3686, 3877, + 4039, 4177, 4319, 4486, 4688, 4925, 5197, 5498, 5823, 6162 }, // 6400 rpm + { 2464, 2501, 2576, 2688, 2831, 3001, 3196, 3410, 3640, 3872, 4073, + 4244, 4390, 4539, 4716, 4929, 5180, 5466, 5784, 6127, 6484 }, // 6600 rpm + { 2583, 2621, 2701, 2818, 2968, 3147, 3351, 3576, 3818, 4062, 4273, + 4453, 4607, 4765, 4951, 5176, 5440, 5742, 6077, 6438, 6815 }, // 6800 rpm + { 2704, 2744, 2828, 2950, 3108, 3296, 3510, 3746, 4000, 4256, 4478, + 4667, 4830, 4996, 5192, 5429, 5707, 6024, 6377, 6757, 7154 }, // 7000 rpm + { 2828, 2870, 2958, 3086, 3251, 3448, 3672, 3920, 4186, 4454, 4687, + 4886, 5057, 5232, 5438, 5687, 5980, 6313, 6683, 7083, 7500 }, // 7200 rpm + { 2955, 2999, 3090, 3225, 3397, 3603, 3838, 4097, 4376, 4657, 4901, + 5110, 5290, 5473, 5690, 5951, 6258, 6609, 6997, 7416, 7854 }, // 7400 rpm + { 3084, 3130, 3226, 3366, 3546, 3762, 4008, 4278, 4570, 4864, 5120, + 5338, 5527, 5720, 5947, 6221, 6543, 6910, 7318, 7757, 8216 }, // 7600 rpm + { 3216, 3264, 3364, 3510, 3699, 3924, 4180, 4463, 4768, 5075, 5343, + 5572, 5769, 5972, 6210, 6497, 6834, 7219, 7645, 8105, 8586 }, // 7800 rpm + { 3351, 3400, 3504, 3657, 3854, 4089, 4356, 4652, 4969, 5291, 5570, + 5809, 6016, 6228, 6478, 6778, 7131, 7534, 7980, 8461, 8964 }, // 8000 rpm + { 3488, 3539, 3648, 3807, 4012, 4257, 4536, 4844, 5175, 5510, 5802, + 6052, 6268, 6490, 6751, 7065, 7434, 7855, 8321, 8824, 9350 }, // 8200 rpm + { 3627, 3681, 3794, 3960, 4173, 4428, 4719, 5040, 5385, 5734, 6039, + 6300, 6526, 6758, 7030, 7358, 7743, 8182, 8669, 9194, 9744 }, // 8400 rpm + { 3769, 3825, 3943, 4115, 4338, 4603, 4906, 5240, 5599, 5963, 6280, + 6552, 6788, 7030, 7315, 7657, 8059, 8517, 9024, 9572, 10145 }, // 8600 rpm + { 3914, 3972, 4094, 4274, 4505, 4781, 5095, 5443, 5817, 6195, 6525, + 6809, 7055, 7307, 7605, 7961, 8380, 8857, 9386, 9957, 10555 }, // 8800 rpm + { 4061, 4122, 4249, 4435, 4675, 4962, 5289, 5650, 6039, 6432, 6775, + 7070, 7327, 7590, 7900, 8271, 8707, 9204, 9755, 10350, 10972 }, // 9000 rpm + { 4211, 4274, 4406, 4599, 4848, 5146, 5486, 5861, 6264, 6673, 7030, + 7337, 7604, 7878, 8200, 8587, 9041, 9558, 10131, 10750, 11397 }, // 9200 rpm + { 4364, 4429, 4566, 4766, 5025, 5334, 5686, 6075, 6494, 6918, 7289, + 7608, 7886, 8171, 8507, 8909, 9381, 9918, 10514, 11157, 11830 }, // 9400 rpm + { 4519, 4587, 4728, 4936, 5204, 5524, 5890, 6293, 6728, 7168, 7553, + 7884, 8173, 8469, 8818, 9236, 9726, 10285, 10904, 11572, 12271 }, // 9600 rpm + { 4677, 4747, 4893, 5109, 5387, 5718, 6097, 6515, 6965, 7422, 7821, + 8165, 8465, 8773, 9135, 9569, 10078, 10658, 11300, 11994, 12720 }, // 9800 rpm + { 4837, 4910, 5061, 5285, 5572, 5915, 6308, 6741, 7207, 7680, 8093, + 8450, 8761, 9082, 9457, 9908, 10436, 11037, 11704, 12423, 13176 }, // 10000 rpm + { 5000, 5075, 5232, 5463, 5760, 6116, 6522, 6970, 7453, 7942, 8371, + 8740, 9063, 9395, 9785, 10252, 10800, 11423, 12114, 12860, 13641 }, // 10200 rpm + { 5166, 5243, 5406, 5644, 5952, 6319, 6739, 7203, 7702, 8209, 8652, + 9035, 9370, 9714, 10119, 10603, 11170, 11816, 12531, 13304, 14113 }, // 10400 + // rpm + { 5334, 5414, 5582, 5829, 6146, 6526, 6960, 7440, 7956, 8480, 8938, + 9335, 9682, 10039, 10457, 10959, 11546, 12215, 12956, 13756, 14594 }, // 10600 + // rpm + { 5505, 5587, 5761, 6016, 6344, 6736, 7185, 7680, 8214, 8755, 9229, + 9639, 9998, 10368, 10801, 11320, 11928, 12620, 13387, 14214, 15082 }, // 10800 + // rpm + { 5678, 5763, 5942, 6205, 6544, 6949, 7412, 7924, 8475, 9034, 9524, + 9949, 10320, 10702, 11151, 11688, 12316, 13032, 13825, 14681, 15578 }, // 11000 + // rpm + { 5854, 5942, 6127, 6398, 6748, 7166, 7644, 8172, 8741, 9318, 9824, + 10263, 10646, 11042, 11506, 12061, 12711, 13450, 14270, 15154, 16082 }, // 11200 + // rpm + { 6033, 6123, 6314, 6594, 6954, 7386, 7878, 8423, 9010, 9606, 10129, + 10581, 10978, 11387, 11866, 12440, 13111, 13875, 14721, 15635, 16593 }, // 11400 + // rpm + { 6214, 6307, 6503, 6792, 7164, 7609, 8117, 8678, 9284, 9898, 10437, + 10905, 11314, 11737, 12232, 12825, 13517, 14306, 15180, 16124, 17113 }, // 11600 + // rpm + { 6398, 6494, 6696, 6993, 7376, 7835, 8358, 8937, 9561, 10195, 10751, + 11233, 11656, 12092, 12604, 13215, 13930, 14744, 15646, 16620, 17640 }, // 11800 + // rpm + { 6584, 6683, 6891, 7197, 7592, 8064, 8603, 9200, 9843, 10495, 11069, + 11566, 12002, 12453, 12980, 13611, 14349, 15188, 16118, 17123, 18176 }, // 12000 + // rpm + { 6773, 6875, 7089, 7404, 7810, 8297, 8852, 9466, 10128, 10801, 11391, + 11903, 12354, 12818, 13362, 14013, 14773, 15639, 16598, 17633, 18719 }, // 12200 + // rpm + { 6964, 7069, 7290, 7614, 8032, 8532, 9104, 9736, 10418, 11110, 11718, + 12246, 12710, 13189, 13750, 14420, 15204, 16096, 17084, 18151, 19270 }, // 12400 + // rpm + { 7159, 7267, 7493, 7827, 8257, 8771, 9359, 10010, 10711, 11423, 12049, + 12593, 13071, 13565, 14143, 14834, 15641, 16560, 17577, 18677, 19829 }, // 12600 + // rpm + { 7355, 7466, 7699, 8042, 8484, 9014, 9618, 10287, 11009, 11741, 12385, + 12945, 13438, 13946, 14541, 15253, 16084, 17030, 18078, 19209, 20396 }, // 12800 + // rpm + { 7555, 7669, 7908, 8261, 8715, 9259, 9881, 10568, 11310, 12063, 12726, + 13302, 13809, 14332, 14945, 15677, 16533, 17506, 18585, 19749, 20970 }, // 13000 + // rpm + { 7756, 7874, 8120, 8482, 8949, 9508, 10146, 10853, 11615, 12390, 13071, + 13663, 14185, 14724, 15355, 16108, 16988, 17989, 19099, 20297, 21553 }, // 13200 + // rpm + { 7961, 8081, 8334, 8706, 9185, 9759, 10416, 11142, 11925, 12720, 13420, + 14029, 14566, 15121, 15769, 16544, 17449, 18479, 19619, 20851, 22143 }, // 13400 + // rpm + { 8168, 8292, 8551, 8933, 9425, 10015, 10688, 11434, 12238, 13055, 13774, + 14400, 14952, 15522, 16190, 16986, 17916, 18975, 20147, 21414, 22742 }, // 13600 + // rpm + { 8378, 8505, 8771, 9163, 9668, 10273, 10964, 11730, 12555, 13394, 14133, + 14776, 15343, 15929, 16615, 17434, 18390, 19477, 20682, 21983, 23348 }, // 13800 + // rpm + { 8590, 8720, 8993, 9395, 9914, 10534, 11244, 12029, 12877, 13738, 14496, + 15156, 15739, 16342, 17046, 17887, 18869, 19986, 21223, 22560, 23962 }, // 14000 + // rpm + { 8805, 8938, 9218, 9631, 10162, 10799, 11527, 12333, 13202, 14085, 14863, + 15541, 16140, 16759, 17483, 18346, 19355, 20501, 21772, 23144, 24584 }, // 14200 + // rpm + { 9023, 9159, 9446, 9869, 10414, 11067, 11814, 12640, 13531, 14437, 15235, + 15931, 16546, 17181, 17925, 18811, 19846, 21023, 22327, 23736, 25213 }, // 14400 + // rpm + { 9243, 9383, 9677, 10110, 10669, 11338, 12103, 12950, 13864, 14793, 15612, + 16326, 16957, 17609, 18372, 19282, 20344, 21552, 22890, 24335, 25851 }, // 14600 + // rpm + { 9465, 9609, 9910, 10355, 10927, 11613, 12397, 13265, 14202, 15154, 15993, + 16725, 17373, 18042, 18825, 19758, 20848, 22086, 23459, 24941, 26496 }, // 14800 + // rpm + { 9691, 9838, 10146, 10601, 11188, 11890, 12694, 13583, 14543, 15518, 16379, + 17130, 17794, 18480, 19283, 20240, 21357, 22628, 24035, 25555, 27150 }, // 15000 + // rpm + { 9919, 10069, 10385, 10851, 11452, 12171, 12994, 13905, 14888, 15887, 16769, + 17538, 18219, 18923, 19747, 20728, 21873, 23175, 24618, 26176, 27811 }, // 15200 + // rpm + { 10149, 10303, 10627, 11104, 11718, 12455, 13298, 14230, 15237, 16261, 17164, + 17952, 18650, 19372, 20216, 21221, 22395, 23729, 25208, 26804, 28480 }, // 15400 + // rpm + { 10382, 10540, 10871, 11359, 11988, 12742, 13605, 14559, 15590, 16638, 17563, + 18371, 19086, 19825, 20690, 21721, 22923, 24290, 25804, 27440, 29157 }, // 15600 + // rpm + { 10618, 10779, 11118, 11618, 12261, 13033, 13915, 14892, 15947, 17020, 17967, + 18794, 19526, 20284, 21170, 22225, 23457, 24857, 26408, 28083, 29842 }, // 15800 + // rpm + { 10856, 11021, 11368, 11879, 12537, 13326, 14229, 15229, 16308, 17406, 18375, + 19222, 19972, 20748, 21655, 22736, 23997, 25431, 27019, 28734, 30534 }, // 16000 + // rpm + { 11097, 11266, 11620, 12143, 12816, 13623, 14547, 15569, 16673, 17796, 18788, + 19654, 20422, 21217, 22146, 23253, 24544, 26011, 27636, 29392, 31235 }, // 16200 + // rpm + { 11340, 11513, 11875, 12410, 13098, 13924, 14868, 15913, 17042, 18191, 19205, + 20092, 20878, 21692, 22642, 23775, 25096, 26597, 28260, 30057, 31774 }, // 16400 + // rpm + { 11586, 11763, 12133, 12679, 13383, 14227, 15192, 16261, 17415, 18590, 19627, + 20534, 21338, 22171, 23144, 24303, 25654, 27190, 28892, 30730, 31886 }, // 16600 + // rpm + { 11835, 12015, 12394, 12952, 13671, 14533, 15520, 16612, 17792, 18993, 20053, + 20981, 21804, 22656, 23651, 24836, 26219, 27790, 29530, 31281, 32008 }, // 16800 + // rpm + { 12086, 12270, 12657, 13227, 13962, 14843, 15851, 16968, 18173, 19400, 20484, + 21432, 22274, 23146, 24163, 25376, 26789, 28396, 30175, 31347, 32130 }, // 17000 + // rpm + { 12340, 12528, 12923, 13506, 14256, 15156, 16186, 17326, 18558, 19812, 20919, + 21889, 22749, 23641, 24681, 25921, 27366, 29008, 30779, 31424, 32015 }, // 17200 + // rpm + { 12597, 12789, 13192, 13787, 14553, 15472, 16524, 17689, 18947, 20228, 21359, + 22350, 23230, 24141, 25205, 26471, 27948, 29627, 30815, 31507, 31159 }, // 17400 + // rpm + { 12856, 13052, 13463, 14071, 14853, 15792, 16866, 18055, 19340, 20648, 21803, + 22816, 23715, 24646, 25733, 27028, 28537, 30252, 30865, 31592, 30369 }, // 17600 + // rpm + { 13117, 13317, 13738, 14357, 15157, 16114, 17211, 18425, 19737, 21072, 22252, + 23286, 24205, 25157, 26268, 27590, 29132, 30322, 30923, 31676, 29638 }, // 17800 + // rpm + { 13382, 13586, 14015, 14647, 15463, 16440, 17559, 18799, 20138, 21501, 22706, + 23762, 24700, 25672, 26807, 28158, 29733, 30355, 30989, 31462, 28962 }, // 18000 + // rpm + { 13649, 13857, 14294, 14940, 15772, 16769, 17911, 19176, 20543, 21934, 23164, + 24242, 25200, 26193, 27352, 28732, 29878, 30398, 31060, 30835, 28335 }, // 18200 + // rpm + { 13918, 14130, 14577, 15235, 16084, 17102, 18267, 19557, 20951, 22371, 23626, + 24727, 25705, 26719, 27903, 29311, 29902, 30449, 31136, 30252, 27751 }, // 18400 + // rpm + { 14190, 14407, 14862, 15533, 16399, 17437, 18626, 19942, 21364, 22812, 24093, + 25216, 26215, 27250, 28459, 29477, 29934, 30509, 31216, 29709, 27208 }, // 18600 + // rpm + { 14465, 14685, 15150, 15834, 16717, 17776, 18988, 20330, 21781, 23258, 24565, + 25711, 26730, 27787, 29020, 29500, 29975, 30575, 31301, 29202, 26701 }, // 18800 + // rpm + { 14742, 14967, 15440, 16138, 17039, 18118, 19354, 20722, 22202, 23708, 25041, + 26210, 27250, 28328, 29100, 29528, 30023, 30648, 31100, 28728, 26228 }, // 19000 + // rpm + { 15022, 15251, 15733, 16445, 17363, 18463, 19723, 21118, 22626, 24162, 25521, + 26714, 27775, 28673, 29130, 29562, 30079, 30728, 30656, 28284, 25784 }, // 19200 + // rpm + { 15304, 15538, 16029, 16755, 17690, 18811, 20095, 21518, 23055, 24621, 26006, + 27222, 28167, 28724, 29162, 29602, 30142, 30815, 30240, 27867, 25367 }, // 19400 + // rpm + { 15589, 15827, 16328, 17067, 18020, 19163, 20471, 21921, 23488, 25083, 26496, + 27560, 28253, 28770, 29195, 29648, 30212, 30907, 29848, 27476, 24976 }, // 19600 + // rpm + { 15877, 16119, 16630, 17383, 18354, 19518, 20851, 22328, 23924, 25550, 26860, + 27684, 28327, 28812, 29232, 29700, 30288, 31006, 29426, 27054, 24554 }, // 19800 + // rpm + { 16167, 16414, 16934, 17701, 18690, 19876, 21234, 22739, 24365, 26022, 27021, + 27794, 28392, 28852, 29272, 29758, 30371, 31112, 29085, 26713, 24213 }, // 20000 + // rpm + }, + }; + +} // namespace MotorTable \ No newline at end of file diff --git a/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.cpp b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.cpp index e69de29bb2..07aaa80a07 100644 --- a/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.cpp +++ b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.cpp @@ -0,0 +1,123 @@ +// Feed-forward prediction + proportional feedback trim. +// Feed-forward enforces limit before dispatch. +// Feedback corrects steady-state prediction error from Kt drift and temperature. + +#include "power_limiting.hpp" +#include "motor_table.hpp" +#include +#include + +namespace CurrentLimiter +{ + +// Internal state + +static Config cfg; +static float alpha_trim_discharge = 1.0f; +static float alpha_trim_charge = 1.0f; +static float last_alpha_discharge = 1.0f; +static float last_alpha_charge = 1.0f; +static float prev_torque_limit[N_WHEELS] = {}; + +void init(const Config &config) +{ + cfg = config; + alpha_trim_discharge = 1.0f; + alpha_trim_charge = 1.0f; + last_alpha_discharge = 1.0f; + last_alpha_charge = 1.0f; + for (int i = 0; i < N_WHEELS; i++) + { + prev_torque_limit[i] = config.motor_max_torque; + } +} + +void update(const WheelInput inputs[N_WHEELS], WheelOutput outputs[N_WHEELS], float bms_dc_current) +{ + // 1. Predict current draw per wheel from previous torque limit. + // Wheel direction is determined by speed sign — negative speed means regen. + // regular and regen wheels are summed into separate buckets. + + float I_predicted[N_WHEELS]; + float I_total_discharge = 0.0f; + float I_total_charge = 0.0f; + + for (int i = 0; i < N_WHEELS; i++) + { + bool is_regen = inputs[i].speed_rpm < 0.0f; + + I_predicted[i] = MotorTable::predict_dc_current( + inputs[i].speed_rpm, prev_torque_limit[i], inputs[i].temp_C, inputs[i].dc_bus_voltage); + + if (is_regen && cfg.regen_on) + { + I_total_charge += std::min(0.0f, I_predicted[i]); + } + else + { + I_total_discharge += std::max(0.0f, I_predicted[i]); + } + } + + // 2. Feedback trim + // error > 0 means headroom, error < 0 means violation. + + float discharge_error = cfg.I_max_BMS_discharge - bms_dc_current; + float charge_error = bms_dc_current - (-cfg.I_max_BMS_charge); // I_max_BMS_charge is assumed negative + + alpha_trim_discharge = std::clamp(alpha_trim_discharge + cfg.Kp_feedback * discharge_error, 0.0f, 1.0f); + alpha_trim_charge = std::clamp(alpha_trim_charge + cfg.Kp_feedback * charge_error, 0.0f, 1.0f); + + // 3. Compute per-wheel current budget proportional to predicted draw. + // Discharge and regen budgets are computed independently. + + float I_budget_discharge = cfg.I_max_BMS_discharge * alpha_trim_discharge; + float I_budget_charge = cfg.I_max_BMS_charge * alpha_trim_charge; + + float I_limit[N_WHEELS]; + for (int i = 0; i < N_WHEELS; i++) + { + bool is_regen = inputs[i].speed_rpm < 0.0f; + if (is_regen && cfg.regen_on) + { + float fraction = (I_total_charge < 0.0f) ? I_predicted[i] / I_total_charge : 1.0f; + I_limit[i] = -I_budget_charge * fraction; // negative = charging + } + else + { + float fraction = (I_total_discharge > 0.0f) ? I_predicted[i] / I_total_discharge : 1.0f; + I_limit[i] = I_budget_discharge * fraction; // positive = discharging + } + } + + // 4. Convert current limits to torque limits via table lookup. + // Speed commands pass through unchanged. + + last_alpha_discharge = + (I_total_discharge > 0.0f) ? std::clamp(I_budget_discharge / I_total_discharge, 0.0f, 1.0f) : 1.0f; + last_alpha_charge = (I_total_charge < 0.0f) ? std::clamp(I_budget_charge / (-I_total_charge), 0.0f, 1.0f) : 1.0f; + + for (int i = 0; i < N_WHEELS; i++) + { + float T_limited = MotorTable::lookup_torque(inputs[i].speed_rpm, std::abs(I_limit[i]), inputs[i].temp_C); + + T_limited = std::max(0.0f, T_limited); + + prev_torque_limit[i] = T_limited; + outputs[i].speed_cmd_rpm = inputs[i].speed_rpm; + outputs[i].torque_limit_pos_Nm = T_limited; // ID82 + outputs[i].torque_limit_neg_Nm = -T_limited; // ID83 + outputs[i].predicted_current = I_predicted[i]; + } +} + +float get_last_alpha_discharge() +{ + return last_alpha_discharge; +} +float get_last_alpha_charge() +{ + return last_alpha_charge; +} + +} // namespace CurrentLimiter \ No newline at end of file diff --git a/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.hpp b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.hpp index e69de29bb2..6bb527a316 100644 --- a/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.hpp +++ b/firmware/hexray/VC/src/app/torque_vectoring/controllers/power_limiting/power_limiting.hpp @@ -0,0 +1,44 @@ +#pragma once +#include +namespace CurrentLimiter +{ + +static constexpr uint8_t N_WHEELS = 4; + +struct WheelInput +{ + float speed_rpm; // Speed command from slip solver + float temp_C; // Motor temperature (from inverter feedback) + float current_meas; // Actual measured line current (from inverter feedback) + float dc_bus_voltage; // Measured DC bus voltage +}; + +struct WheelOutput +{ + float speed_cmd_rpm; // AMK_TargetVelocity — unchanged from input + float torque_limit_pos_Nm; // AMK_TorqueLimitPositiv (ID82) + float torque_limit_neg_Nm; // AMK_TorqueLimitNegativ (ID83) + float predicted_current; // For telemetry/logging +}; + +struct Config +{ + float I_max_BMS_discharge; // Discharging current limit from BMS + float I_max_BMS_charge; // Charging current limit from BMS + float Kp_feedback; // Proportional gain for feedback trim + float motor_max_torque; // Max torque used by default + bool regen_on = true; // Regen Flag +}; + +// Call once at startup +void init(const Config &cfg); + +// Computes torque limits for all 4 wheels preserving yaw moment ratios. Call every cycle +void update(const WheelInput inputs[N_WHEELS], WheelOutput outputs[N_WHEELS], float bms_dc_current); + +// Returns the alpha scaling factor from the last update() call. +// Useful for telemetry — alpha < 1.0 means limiting is active. +float get_last_alpha_charge(); +float get_last_alpha_discharge(); + +} // namespace CurrentLimiter