|
Как сделать вычисление значения температуры по градуировочной таблице термопары? |
|
|
|
 |
Ответов
|
Feb 26 2009, 07:30
|

Местный
  
Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581

|
Цитата ...но десятых долей нету почему-то... Возможно, теряется точность. Попробуйте чуть иначе: Код float gradtbl[131]={/*...*/}; //... uchar index; float u_tmpr; //переведенное в флоат-милливольты измеренное напряжение float tmpr_value; //переменная для температуры //с одним циклом: for(i=0;i<131;i++) { if(gradtbl[i]>=u_tmpr){index=i; break;} }
//окончательное значение tmpr_value=10*(index-1) +( u_tmpr - gradtbl[index-1])*10/(gradtbl[index]-gradtbl[index-1]); Кстати, Ваш код вывода на дисплей можно увидеть?
Сообщение отредактировал Goodefine - Feb 26 2009, 07:35
--------------------
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
|
|
|
|
|
Feb 26 2009, 08:19
|

Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798

|
GoodefineОтлично все заработало! Спасибо! код для лсиди выложу - он у меня самописный - кодевижновский меня не устраивает в моем коде: 1) 4-х проводный интерфейс 2)можно все ноги дисплея переназначать 3) на RW я забил и посадил его на землю - нафига мне с дисплея читать??  ...только после 130 градусов - остаток всегда .75вот мучает меня вопрос - а во флаше хранить таблицу можно? а то память она жрет.... если делаю вот так - то не работает: Код flash float gradtbl[131]={0 , 0.40 , 0.80 , 1.20 , 1.61 , 2.02 , 2.43 , 2.85 , 3.26 , 3.68,
Сообщение отредактировал Ivan Kuznetzov - Feb 26 2009, 08:20
--------------------
Разработчик
|
|
|
|
|
Feb 26 2009, 08:51
|
Гуру
     
Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883

|
Цитата(Ivan Kuznetzov @ Feb 26 2009, 11:19)  GoodefineОтлично все заработало! Спасибо! ...только после 130 градусов - остаток всегда .75вот мучает меня вопрос - а во флаше хранить таблицу можно? а то память она жрет.... если делаю вот так - то не работает: Код flash float gradtbl[131]={0 , 0.40 , 0.80 , 1.20 , 1.61 , 2.02 , 2.43 , 2.85 , 3.26 , 3.68, По Вашей таблице видно, что у Вас диапазон 1300 градусов, а в таблице числа в милливольтах. Разрядность Вашего АЦП (градуировка близка к линейной) позволяет разрешить примерно 1 градус (еще точнее - 1.3). Таблица через 10 градусов. При таких обстоятельствах можно (или нужно) а) уменьшить таблицу в два - три - четыре... раза. Может быть, неравномерно - постройте график - там, где отклонение от прямой будет меньше 0.5 градуса, нет смысла дробить интервал. б) в таблицу вместо милливольтов записать целые числа - соответствующие коды АЦП, в другую - соответствующую температуру. Или полином.
|
|
|
|
|
Feb 26 2009, 09:27
|
    
Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731

|
Цитата(Tanya @ Feb 26 2009, 11:51)  По Вашей таблице видно, что у Вас диапазон 1300 градусов, а в таблице числа в милливольтах. Разрядность Вашего АЦП (градуировка близка к линейной) позволяет разрешить примерно 1 градус (еще точнее - 1.3). Таблица через 10 градусов. При таких обстоятельствах можно (или нужно) а) уменьшить таблицу в два - три - четыре... раза. Может быть, неравномерно - постройте график - там, где отклонение от прямой будет меньше 0.5 градуса, нет смысла дробить интервал. б) в таблицу вместо милливольтов записать целые числа - соответствующие коды АЦП, в другую - соответствующую температуру. Или полином. Зачем Вы так изощренно издеваетесь над программистами?  Любой контроллер или процессор и сам должен все сделать. Я предполагаю, что автор использует АЦП АВР с внутренней опорой (которая по даташиту имеет точность +-10%) и вряд ли эту опору калибрует. Исходя из точности опоры я предложил кривую термопары аппроксимировать прямой (парой, тройкой,... - опять же исходя из требуемой и достижимой точности) и забить на всякие плавучие таблицы. Но, похоже, для конкретных программистов точность - это сколько знаков после запятой можно вывести на индикатор.
|
|
|
|
|
Feb 26 2009, 09:33
|

Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 6-02-08
Из: Россия, Екатеринбург
Пользователь №: 34 798

|
Цитата(xemul @ Feb 26 2009, 14:27)  Зачем Вы так изощренно издеваетесь над программистами?  Любой контроллер или процессор и сам должен все сделать. Я предполагаю, что автор использует АЦП АВР с внутренней опорой (которая по даташиту имеет точность +-10%) и вряд ли эту опору калибрует. Исходя из точности опоры я предложил кривую термопары аппроксимировать прямой и забить на всякие плавучие таблицы. Но, похоже, для конкретных программистов точность - это сколько знаков после запятой можно вывести на индикатор. совершенно верно! использую внутренний опорный источник МК на 2.5 вольт
--------------------
Разработчик
|
|
|
|
Сообщений в этой теме
Ivan Kuznetzov Как сделать вычисление значения температуры по градуировочной таблице термопары? Feb 25 2009, 10:37 Petka Цитата(Ivan Kuznetzov @ Feb 25 2009, 13:3... Feb 25 2009, 10:57 Tanya Цитата(Ivan Kuznetzov @ Feb 25 2009, 13:3... Feb 25 2009, 11:15 MrYuran Цитата(Tanya @ Feb 25 2009, 14:15) Только... Feb 25 2009, 11:18 _Pasha Цитата(Ivan Kuznetzov @ Feb 25 2009, 14:3... Feb 25 2009, 11:22 xemul Начните лучше с требуемых точностных характеристик... Feb 25 2009, 11:27 Goodefine Как вариант:
Задаем массив, разбив участки зависи... Feb 25 2009, 12:26 _Pasha Цитата(Goodefine @ Feb 25 2009, 16:26) Ра... Feb 25 2009, 12:30 Ivan Kuznetzov Цитата(Goodefine @ Feb 25 2009, 17:26) Ка... Feb 25 2009, 12:34 Goodefine ЦитатаКуда удобнее расстояние делать в 1 попугай А... Feb 25 2009, 12:35 Ivan Kuznetzov Цитата(Goodefine @ Feb 25 2009, 17:35) За... Feb 25 2009, 12:46  _Pasha Цитата(Ivan Kuznetzov @ Feb 25 2009, 16:4... Feb 25 2009, 12:53   Ivan Kuznetzov Цитата(_Pasha @ Feb 25 2009, 17:53) И зач... Feb 25 2009, 13:12    _Pasha Цитата(Ivan Kuznetzov @ Feb 25 2009, 17:1... Feb 25 2009, 13:30 Goodefine Зачем здесь флоат не понятно. Видно (из табл), что... Feb 25 2009, 13:06 Goodefine Если по Вашему (с флоат), то проще примерно так:
К... Feb 25 2009, 14:02 demiurg_spb Ну Вы маньяки. Нужна всего одна целочисленная табл... Feb 25 2009, 22:17  Ivan Kuznetzov Цитата(demiurg_spb @ Feb 26 2009, 03:17) ... Feb 26 2009, 04:59   demiurg_spb Цитата(Ivan Kuznetzov @ Feb 26 2009, 07:5... Feb 26 2009, 06:11 AlexU Цитата(Ivan Kuznetzov @ Feb 25 2009, 13:3... Feb 26 2009, 06:34 Сергей К По поводу компенсации: я вот думаю, можно ли сразу... Feb 26 2009, 06:37 Ivan Kuznetzov Goodefine
По Вашему примеру все работает хорошо -... Feb 26 2009, 06:44     xemul Цитата(Ivan Kuznetzov @ Feb 26 2009, 12:3... Feb 26 2009, 09:58 Goodefine Цитата...диапазон 1300 градусов...
...АЦП (градуир... Feb 26 2009, 10:56 xemul Цитата(Goodefine @ Feb 26 2009, 13:56) Сп... Feb 26 2009, 11:13 Ivan Kuznetzov хух! в общем все! получился ПИД регулятор ... Feb 26 2009, 11:07 Tanya Цитата(Ivan Kuznetzov @ Feb 26 2009, 14:0... Feb 26 2009, 11:45  Ivan Kuznetzov Цитата(Tanya @ Feb 26 2009, 16:45) Десяты... Feb 26 2009, 12:39   Tanya Цитата(Ivan Kuznetzov @ Feb 26 2009, 15:3... Feb 26 2009, 14:34    haker_fox Цитата(Tanya @ Feb 26 2009, 22:34) Прикру... Feb 26 2009, 15:26     Tanya Цитата(haker_fox @ Feb 26 2009, 18:26) Ой... Feb 26 2009, 19:18      Designer56 Цитата(Tanya @ Feb 27 2009, 00:18) И полу... Feb 26 2009, 19:25       Tanya Цитата(Designer56 @ Feb 26 2009, 22:25) О... Feb 26 2009, 19:40        galjoen Цитата(Tanya @ Feb 26 2009, 22:40) А для ... Feb 27 2009, 18:14         Tanya Цитата(galjoen @ Feb 27 2009, 21:14) Печк... Feb 27 2009, 18:44          galjoen Цитата(Tanya @ Feb 27 2009, 21:44) Модель... Feb 27 2009, 19:21           Tanya Цитата(galjoen @ Feb 27 2009, 22:21) А ес... Feb 27 2009, 19:54            galjoen Цитата(Tanya @ Feb 27 2009, 22:54) Учтите... Feb 27 2009, 20:11             Tanya Цитата(galjoen @ Feb 27 2009, 23:11) Тем ... Feb 27 2009, 20:14          Oldring Цитата(Tanya @ Feb 27 2009, 22:44) Нет у ... Apr 21 2009, 10:01    Огурцов Цитата(Tanya @ Feb 26 2009, 15:34) Возьми... Feb 27 2009, 21:39     Tanya Цитата(Огурцов @ Feb 28 2009, 00:39) Изви... Feb 28 2009, 06:34      Ivan Kuznetzov вот еще мне непонятно - чем так плох алгоритм авто... Feb 28 2009, 10:25       Tanya Цитата(Ivan Kuznetzov @ Feb 28 2009, 13:2... Feb 28 2009, 13:32        galjoen Цитата(Tanya @ Feb 28 2009, 16:32) ...
И ... Feb 28 2009, 14:29         Ivan Kuznetzov Цитата(galjoen @ Feb 28 2009, 19:29) +1
Н... Mar 3 2009, 05:09          Tanya Цитата(Ivan Kuznetzov @ Mar 3 2009, 08:09... Mar 3 2009, 10:01           Ivan Kuznetzov Цитата(Tanya @ Mar 3 2009, 15:01) ПИД - н... Mar 3 2009, 10:21            Tanya Цитата(Ivan Kuznetzov @ Mar 3 2009, 13:21... Mar 3 2009, 10:39             galjoen Цитата(Tanya @ Mar 3 2009, 13:39) Я бы (п... Mar 3 2009, 11:21              Tanya Цитата(galjoen @ Mar 3 2009, 14:21) А воо... Mar 3 2009, 11:35               galjoen Цитата(Tanya @ Mar 3 2009, 14:35) Сложнее... Mar 3 2009, 11:52                Tanya Цитата(galjoen @ Mar 3 2009, 14:52) Конеч... Mar 3 2009, 12:06                 galjoen Цитата(Tanya @ Mar 3 2009, 15:06) Ну... В... Mar 3 2009, 12:22                 Ivan Kuznetzov Цитата(Tanya @ Mar 3 2009, 17:06) Ну... В... Mar 7 2009, 16:25                  Tanya Цитата(Ivan Kuznetzov @ Mar 7 2009, 19:25... Mar 7 2009, 16:42                  galjoen Цитата(Ivan Kuznetzov @ Mar 7 2009, 19:25... Mar 7 2009, 16:44                akken Цитата(galjoen @ Mar 3 2009, 14:52) Конеч... Apr 17 2009, 18:25                 galjoen Цитата(akken @ Apr 17 2009, 22:25) Читал,... Apr 21 2009, 16:32                  Oldring Цитата(galjoen @ Apr 21 2009, 20:32) Т.к.... Apr 21 2009, 16:38                   galjoen Цитата(Oldring @ Apr 21 2009, 20:38) Може... Apr 21 2009, 21:10                    Oldring Цитата(galjoen @ Apr 22 2009, 01:10) Как ... Apr 21 2009, 21:25                    akken Цитата(galjoen @ Apr 22 2009, 00:10) Как ... Apr 22 2009, 08:50                     Oldring Цитата(akken @ Apr 22 2009, 12:50) При за... Apr 22 2009, 09:40                      akken Цитата(Oldring @ Apr 22 2009, 12:40) Про ... Apr 22 2009, 10:44                       Oldring Цитата(akken @ Apr 22 2009, 14:39) Вот эт... Apr 22 2009, 10:51                        akken Цитата(Oldring @ Apr 22 2009, 13:51) Удив... Apr 22 2009, 11:46                         Oldring Цитата(akken @ Apr 22 2009, 15:46) Нельзя... Apr 22 2009, 11:56                          akken [quote name='Oldring' date='Apr 22 200... Apr 22 2009, 12:12                           Oldring Цитата(akken @ Apr 22 2009, 16:12) Через ... Apr 22 2009, 12:18                            akken Цитата(Oldring @ Apr 22 2009, 15:18) Два ... Apr 22 2009, 13:06                           galjoen Цитата(akken @ Apr 22 2009, 16:12) Началь... Apr 22 2009, 13:22                          Tanya Цитата(Oldring @ Apr 22 2009, 15:56) Не д... Apr 22 2009, 12:39                           Oldring Цитата(Tanya @ Apr 22 2009, 16:39) Какой ... Apr 22 2009, 12:44                            Tanya Цитата(Oldring @ Apr 22 2009, 16:44) Три ... Apr 22 2009, 12:56                             Oldring Цитата(Tanya @ Apr 22 2009, 16:56) Стенок... Apr 22 2009, 13:12                       Tanya Цитата(akken @ Apr 22 2009, 14:44) регуля... Apr 22 2009, 10:53                        Oldring Цитата(Tanya @ Apr 22 2009, 14:53) до мик... Apr 22 2009, 10:57                         Tanya Цитата(Oldring @ Apr 22 2009, 14:57) Вот ... Apr 22 2009, 12:34                          Oldring Цитата(Tanya @ Apr 22 2009, 16:34) Темпер... Apr 22 2009, 12:37                     Tanya Цитата(akken @ Apr 22 2009, 12:50) Особен... Apr 22 2009, 09:43                      Oldring Цитата(Tanya @ Apr 22 2009, 13:43) А печк... Apr 22 2009, 09:45 xemul "Они не ведают, что творят."
На всякий с... Feb 26 2009, 12:07 rx3apf Цитата(xemul @ Feb 26 2009, 15:07) ... Feb 26 2009, 15:04 Designer56 Для быстрых можно проинтегрировать, при нужде...По... Feb 26 2009, 19:48 Ivan Kuznetzov с конденсатором С2 на схеме ошибка- в реали стоит ... Feb 27 2009, 12:47 Tanya Цитата(Ivan Kuznetzov @ Feb 27 2009, 15:4... Feb 27 2009, 16:52 Designer56 Кроме того, датчик температуры в печке (очень зави... Feb 27 2009, 18:58 an_ga По поводу регуляторов (для информации): http://my.... Feb 28 2009, 12:41 ведущий_специалист а как насчет такой микросхемы как DS75? В связке с... Mar 7 2009, 17:28 Ivan Kuznetzov Цитата(ведущий_специалист @ Mar 7 2009, 22... Mar 8 2009, 18:11 ведущий_специалист ds75 нужна для компенсации по температуре в месте ... Mar 9 2009, 08:23 noise2009 А нет ли исходников на ассемблере с градуровочными... Apr 15 2009, 12:30 Ivan Kuznetzov ну вот и все - проект почти закончил, состыковал с... Apr 21 2009, 09:18 Tanya Цитата(Ivan Kuznetzov @ Apr 21 2009, 13:1... Apr 21 2009, 09:36
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|